HTML Accessibility API Mappings (HTML-AAM) defines how user agents map HTML [HTML] elements and attributes to platform accessibility application programming interfaces (APIs). It leverages and extends the Core Accessibility API Mappings 1.2 and the Accessible Name and Description Computation 1.2 for use with the HTML host language. Documenting these mappings promotes interoperable exposure of roles, states, properties, and events implemented by accessibility APIs and helps to ensure that this information appears in a manner consistent with author intent.
The HTML-AAM is part of the WAI-ARIA suite described in the WAI-ARIA Overview.
Status of This DocumentThis section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C standards and drafts index at https://www.w3.org/TR/.
Note
This document is subject to change without notice.
This document was initially developed by and with the approval of the HTML Accessibility Taskforce, a joint task force of the Protocols and Formats Working Group and the HTML Working Group. Work continued with the successor groups Accessible Rich Internet Applications Working Group and the Web Applications Working Group. This document is now maintained solely by the Accessible Rich Internet Applications Working Group.
This document was published by the Accessible Rich Internet Applications Working Group as an Editor's Draft.
Publication as an Editor's Draft does not imply endorsement by W3C and its Members.
This is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced by a group operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
This document is governed by the 03 November 2023 W3C Process Document.
Table of ContentsThis section is non-normative.
This specification defines how HTML user agents respond to and expose role, state and property information provided for Web content. Unless indicated otherwise, an HTML element or attribute with default Accessible Rich Internet Applications (WAI-ARIA) 1.2 semantics must be exposed to the platform accessibility APIs according to the relevant WAI-ARIA mappings defined in the Core Accessibility API Mappings 1.2 specification.
In some cases, often due to features of the HTML host language or the accessibility API in question, an element or attribute's mapping differs from the corresponding ARIA mappings specified in the [core-aam-1.2]. Where an HTML element or attribute does not have any default WAI-ARIA semantics, the applicable mapping for each platform accessibility API is defined by this specification.
This document also adapts the Accessible Name and Description Computation 1.2 specification for deriving the accessible names and accessible descriptions of [HTML] elements, and provides accessible implementation examples for specific HTML elements and features.
Users often access HTML content using assistive technologies that rely on platform accessibility API to obtain and interact with information from the page. This document is part of the following suite of accessibility API mapping specifications for content rendered by user agents:
Accessibility APIs covered by this document are:
If user agent developers need to expose information using other accessibility APIs, it is recommended that they work closely with the developer of the platform where the API runs, and assistive technology developers on that platform.
For more information regarding accessibility APIs, refer to section 1.1 Accessibility APIs of the Core Accessibility API Mappings 1.2.
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key words MAY, MUST, MUST NOT, and SHOULD in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
The classification of a section as normative or non-normative applies to the entire section and all sub-sections of that section.
Normative sections provide requirements that authors, user agents, and assistive technologies MUST follow for an implementation to conform to this specification.
Non-normative sections provide information useful to understanding the specification. Such sections may contain examples of recommended practice, but it is not required to follow such recommendations in order to conform to this specification.
There are currently no deprecated requirements.
Note
WAI-ARIA support was first introduced to HTML in [HTML5].
Where an HTML element or attribute has default WAI-ARIA semantics, it MUST be exposed to the platform accessibility APIs in a way that conforms to General rules for exposing WAI-ARIA semantics in the Core Accessibility API Mappings 1.2.
Where the host language is [HTML], user agents MUST conform to Conflicts between native markup semantics and WAI-ARIA in the Core Accessibility API Mappings 1.2.
HTML can include features that are not supported by accessibility APIs at the time of publication. There is not a one to one relationship between all features and platform accessibility APIs. When HTML roles, states and properties do not directly map to an accessibility API, and there is a method in the API to expose a text string, user agents MUST expose the undefined role, states and properties via that method.
For HTML elements or attributes with default WAI-ARIA semantics, user agents MUST conform to Exposing attributes that do not directly map to accessibility API properties in the [core-aam-1.2].
A minimum role is the equivalent WAI-ARIA role an element will map to if the element does not have a more specific implicit role or platform role mappings, e.g., a non-generic role. This can help ensure that users of assistive technologies get the best possible experience for commonly-used and valid HTML markup where otherwise a role would not be exposed.
A minimum role is provided when all of the following conditions are true:
none
, presentation
, or generic
;generic
or none
computed role;The HTML Attribute State and Property Mappings section identifies the specific global attributes which would require an element map to a minimum role.
When these conditions are met, the browser MUST expose an object using the mappings defined in CORE-AAM for the specified minimum role. If the element has multiple attributes specified which require a minimum role be returned as the computed role for the element, prioritize the more specific role in the ARIA taxonomy.
display: none
. In these cases, the user agent SHOULD map such elements to the role of generic
, unless other HTML features have been specified which would require a more specific minimum role to be exposed.generic
role, user agents MUST NOT expose the aria-roledescription
property value in the accessibility tree unless the element has an explicit, conforming role
attribute value which [WAI-ARIA-1.2] does not prohibit the use of aria-roledescription
.computedrole
string has been specified to serve as the return value for interoperability testing purposes. For instance, the video
element MAY be exposed with a computedrole
of "html-video
". Authors MUST NOT use any html-
prefixed computed role string in the role attribute (such as html-video
). User Agents MUST ignore any abstract or invalid role token.
<video> <!-- computedrole returns 'html-video' --> <main role="html-video"> <!-- Author error. computed role returns 'main' -->
label
element's for
attribute, or a descendant of a label
element, the labelable element's UIA LabeledBy
property points to the UIA element for the label
element.Text
Control Type are not generally represented as accessible objects in the accessibility tree, but are just part of the Text
Control Pattern implemented for the whole HTML document. However, if they have any aria-
attributes or an explicit tabindex
specified, elements mapped to the Text
Control Type will be represented as accessible objects in the accessibility tree.abbr
[wai-aria-1.2] No corresponding role Computed Role
html-abbr
MSAA + IAccessible2Roles: ROLE_SYSTEM_TEXT
; IA2_ROLE_TEXT_FRAME
"abbr" attribute on the containing
td
if a single child, text content used as a value
UIAControl Type: Text
Role: ATK_ROLE_STATIC
"abbr" attribute on the containing
td
if a single child, text content used as a value
AXAXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: "group"
area
(no href
attribute) [wai-aria-1.2] generic
role Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
Comments User agents MAY still expose ana
element lacking the href
attribute with a link
role in the event an author specifies interactive behavior for the element. For example, if using an event handler attribute. HTML Specification audio
[wai-aria-1.2] No corresponding role Computed Role
html-audio
MSAA + IAccessible2Role: ROLE_SYSTEM_GROUPING
Control Type: Group
Localized Control Type: "audio"
If the
controls
attribute is present, UI controls (e.g., play, volume) are exposed as children of the
audio
element in the
accessibility tree, and mapped as appropriate for the type of control (e.g.,
button
or
slider
).
Text objects associated with loading or error messages, and any UI control not currently displayed,
MAYbe present in the
accessibility treeand marked as hidden or off-screen.
ATKRole: ATK_ROLE_AUDIO
AXRole: AXGroup
AXSubrole: AXAudio
AXRoleDescription: "audio playback"
If the
controls
attribute is present, UI controls (e.g., play, volume) are exposed as descendants of an
accessible objectwith a role of
toolbar
, and mapped as appropriate for the type of control (e.g.,
button
or
slider
).
Comments HTML Specificationcanvas
[wai-aria-1.2] No corresponding role Computed Role
html-canvas
MSAA + IAccessible2Roles: ROLE_SYSTEM_GRAPHIC
; IA2_ROLE_CANVAS
Control Type: Image
Descendants of the canvas
element are mapped separately.
Role: ATK_ROLE_CANVAS
AXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: ""
caption
[wai-aria-1.2] caption
role Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2Use WAI-ARIA mapping
Relations:IA2_RELATION_LABEL_FOR
with parent
table
UIA
Use WAI-ARIA mapping
Other properties:The
LabeledBy
property for the parent
table
element points to the UIA element for the
caption
element.
ATKUse WAI-ARIA mapping
Relations:ATK_RELATION_LABEL_FOR
with parent
table
AX
Use WAI-ARIA mapping
Relations:ATK_RELATION_LABEL_FOR
with parent
table
Comments If a descendant of a table
, the first instance of a caption
element will provide the table
its accessible name. HTML Specification cite
[wai-aria-1.2] No corresponding role Computed Role
html-cite
MSAA + IAccessible2No accessible object. Styles used are mapped into text attributes on its text container.
UIANo accessible object. Styles used are exposed by UIA text attributes of the TextRange
Control Pattern implemented on a parent accessible object.
No accessible object. Styles used are mapped into text attributes on its text container.
AXAXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: "group"
datalist
(represents pre-defined options for input
element) [wai-aria-1.2] listbox
role, with the aria-multiselectable
property set to "true" if the datalist
's selection model allows multiple option
elements to be selected at a time, and "false" otherwise Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
Comments Ifdatalist
is not linked to a proper input
element, then datalist
element is not mapped to accessibility APIs. HTML Specification dir
[wai-aria-1.2] list
role Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
Comments Thedir
element is marked as obsolete in HTML, and is not to be used by authors. HTML Specification dl
[wai-aria-1.2] list
role Computed Role
list
Note
Editorial Note: This value may change upon resolution of
ARIA #1662.
MSAA + IAccessible2Role: ROLE_SYSTEM_LIST
States: STATE_SYSTEM_READONLY
Control Type: List
Role: ATK_ROLE_DESCRIPTION_LIST
AXRole: AXList
AXSubrole: AXDefinitionList
AXRoleDescription: "definition list"
embed
[wai-aria-1.2] No corresponding role Computed Role
html-embed
MSAA + IAccessible2Roles: ROLE_SYSTEM_CLIENT
; IA2_ROLE_EMBEDDED_OBJECT
States: STATE_SYSTEM_UNAVAILABLE
for windowless plugin
Control Type: Pane
Role: ATK_ROLE_EMBEDDED
fieldset
[wai-aria-1.2] group
role Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2Role: Use WAI-ARIA mapping
Relations:IA2_RELATION_LABELLED_BY
with child
legend
element
UIARole: Use WAI-ARIA mapping
ATKRole: Use WAI-ARIA mapping
Relations:ATK_RELATION_LABELLED_BY
with child
legend
element
AXRole: Use WAI-ARIA mapping
AXSubrole: AXFieldset
value from child
legend
subtree
Comments HTML Specificationfigcaption
[wai-aria-1.2] caption
role Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2Roles: ROLE_SYSTEM_TEXT
; IA2_ROLE_CAPTION
IA2_RELATION_LABEL_FOR
with parent
figure
element
UIAControl Type: Text
Role: ATK_ROLE_CAPTION
ATK_RELATION_LABEL_FOR
with parent
figure
element
AXAXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: "group"
footer
(scoped to the main
element, a sectioning content element) [wai-aria-1.2] generic
role Computed Role
Use WAI-ARIA mapping
Note
Editorial Note: This value may change upon resolution of
ARIA #1915.
MSAA + IAccessible2Use WAI-ARIA mapping
UIAControl Type: Group
Localized Control Type: "footer"
Role: ATK_ROLE_FOOTER
Use WAI-ARIA mapping
Comments If afooter
is not scoped to the body
element, do not expose the element as a contentinfo
landmark. HTML Specification header
(scoped to the main
element, or a sectioning content element) [wai-aria-1.2] generic
role Computed Role
Use WAI-ARIA mapping
Note
Editorial Note: This value may change upon resolution of
ARIA #1915.
MSAA + IAccessible2Use WAI-ARIA mapping
UIAControl Type: Group
Localized Control Type: "header"
Role: ATK_ROLE_HEADER
Use WAI-ARIA mapping
Comments If aheader
is not scoped to the body
element, do not expose the element as a banner
landmark. HTML Specification hgroup
[wai-aria-1.2] group
role Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
Comments If anhgroup
contains multiple heading elements, then the heading element with the highest priority level MAY be treated as the sole heading of the hgroup
. All other heading elements MAY instead be exposed as if they were p
elements. See paragraph
role on Core AAM. HTML Specification hr
[wai-aria-1.2] separator
role Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
CommentsIf an hr
element is a descendant of a select
element, user agents MAY expose the element with a role of none
.
img
[wai-aria-1.2] image
or img
role Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
CommentsNote
ARIA 1.3 adds the image
role as the preferred synonym to the ARIA 1.0 img
role. The expected computed role for named img
elements is now "image".
input
(type
attribute in the Color state) [wai-aria-1.2] No corresponding role Computed Role
html-input-color
MSAA + IAccessible2If implemented as a textbox:
Roles: ROLE_SYSTEM_TEXT
If implemented as a color picker:
Roles: IA2_ROLE_COLOR_CHOOSER
If implemented as a textbox:
Control Type: Edit
Localized Control Type: "edit"
If implemented as a color picker:
Control Type: button
Localized Control Type: "color picker"
ATKIf implemented as a button, use
WAI-ARIAmapping for
button
.
If implemented as a textbox, use
WAI-ARIAmapping for
textbox
.
AXIf implemented as a textbox:
AXRole: AXTextField
AXSubrole: (nil)
AXRoleDescription: "text field"
If implemented as a color picker:
AXRole: AXColorWell
AXSubrole: (nil)
AXRoleDescription: "color well"
If implemented as a color picker, any UI controls presented for selecting a color are exposed in the
accessibility tree, associated with the
input
element, and mapped as appropriate for the type of control (e.g., button or slider).
HTML Specificationinput
(type
attribute in the Date state) [wai-aria-1.2] No corresponding role Computed Role
html-input-date
MSAA + IAccessible2If implemented as a textbox:
Role: ROLE_SYSTEM_TEXT
Object attributes: text-input-type:date
If implemented as a date picker:
Role: IA2_ROLE_DATE_EDITOR
Depends on UI design of implementation. The UI in Windows 10 Edge, for example, is a composite of multiple spinners.
ATKRole: ATK_ROLE_CALENDAR
AXRole: AXDateField
AXSubrole: (nil)
AXRoleDescription: "date field"
input
(type
attribute in the Local Date and Time state) [wai-aria-1.2] No corresponding role Computed Role
html-input-datetime-local
MSAA + IAccessible2Role: IA2_ROLE_DATE_EDITOR
Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composite of multiple spinners.
ATKRole: ATK_ROLE_CALENDAR
AXRole: AXTextField
AXSubrole: (nil)
AXRoleDescription: "text field"
input
(type
attribute in the File Upload state) [wai-aria-1.2] No corresponding role Computed Role
html-input-file
MSAA + IAccessible2Implementation dependent. If represented by a container with a button a text label inside then:
Roles: IA2_ROLE_TEXT_FRAME
Children: ROLE_SYSTEM_PUSHBUTTON
and IA2_ROLE_LABEL
for a button and a text label elements.
Can be rendered as a single button control, or as a button control with a text input field.
Button control:
Control Type: Button
Text input field:
Control Type: Edit
Localized Control Type: "file"
Role: ATK_ROLE_STATIC
Children: ATK_ROLE_PUSH_BUTTON
when pressed ATK_ROLE_FILE_CHOOSER
dialog shown
AXRole: AXButton
AXSubrole: AXFileUploadButton
AXRoleDescription: file upload button
input
(type
attribute in the Month state) [wai-aria-1.2] No corresponding role Computed Role
html-input-month
MSAA + IAccessible2Role: IA2_ROLE_DATE_EDITOR
Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composite of multiple spinners.
ATKRole: ATK_ROLE_DATE_EDITOR
AXRole: AXTextField
AXSubrole: (nil)
AXRoleDescription: "text field"
input
(type
attribute in the Number state) [wai-aria-1.2] spinbutton
role Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2If implemented as a spin button, use
WAI-ARIAmapping for
spinbutton
.
If implemented as a text input, use
WAI-ARIAmapping for
textbox
.
Object attributes: text-input-type:number
Use WAI-ARIA mapping
ATKIf implemented as a spin button, use
WAI-ARIAmapping for
spinbutton
.
If implemented as a text input, use
WAI-ARIAmapping for
textbox
.
Object attributes: text-input-type:number
Use WAI-ARIA mapping
Comments HTML Specificationinput
(type
attribute in the Password state) [wai-aria-1.2] No corresponding role Computed Role
html-input-password
MSAA + IAccessible2Role: ROLE_SYSTEM_TEXT
States: STATE_SYSTEM_PROTECTED
; IA2_STATE_SINGLE_LINE
; STATE_SYSTEM_READONLY
if readonly, otherwise IA2_STATE_EDITABLE
Control Type: Edit
Other properties: isPassword=true
Role: ATK_ROLE_PASSWORD_TEXT
States: ATK_STATE_SINGLE_LINE
; ATK_STATE_READ_ONLY
if readonly, otherwise ATK_STATE_EDITABLE
AXRole: AXTextField
AXSubrole: AXSecureTextField
AXRoleDescription: "secure text field"
input
(type
attribute in the Time state) [wai-aria-1.2] No corresponding role Computed Role
html-input-time
MSAA + IAccessible2 Role:ROLE_SYSTEM_SPINBUTTON
if implemented as a simple
widget;
ROLE_SYSTEM_GROUPING
with child controls mapped as appropriate if implemented as a complex
widgetObject attributes: text-input-type:time
Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composite of multiple spinners.
ATKRole: ATK_ROLE_SPINBUTTON
if implemented as a simple widget.
If implemented as a complex widget use:
Role: ROLE_PANEL
and map child controls as appropriate.
AXRole: AXTimeField
AXSubrole: (nil)
AXRoleDescription: "time field"
input
(type
attribute in the Week state) [wai-aria-1.2] No corresponding role Computed Role
html-input-week
MSAA + IAccessible2Role: IA2_ROLE_DATE_EDITOR
Object attributes: text-input-type:week
Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composite of multiple spinners.
ATKRole: ATK_ROLE_CALENDAR
AXRole: AXTextField
AXSubrole: (nil)
AXRoleDescription: "text field"
kbd
[wai-aria-1.2] No corresponding role Computed Role
html-kbd
MSAA + IAccessible2No accessible object.
Text attributes: font-family:monospace
on the text container
No accessible object. Styles used are exposed by UIA text attribute identifiers of the TextRange
Control Pattern implemented on a parent accessible object.
No accessible object. Mapped into "font-family:monospace" text attribute on its text container.
AXAXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: "group"
label
[wai-aria-1.2] No corresponding role Computed Role
html-label
MSAA + IAccessible2Roles: ROLE_SYSTEM_STATICTEXT
; IA2_ROLE_LABEL
IA2_RELATION_LABEL_FOR
with a
labelable elementthat is child to the
label
or referred to by the
label
element's
for
attribute. The associated labelable element has
IA2_RELATION_LABELLED_BY
pointing to the
label
.
UIAControl Type: Group
When the
label
element contains a
labelable element, the
LabeledBy
property for the element points to the UIA element for the
label
element.
When the
label
element has a
for
attribute referencing a
labelable element, the
LabeledBy
property for the referenced element points to the UIA element for the
label
element.
ATKRole: ATK_ROLE_LABEL
ATK_RELATION_LABEL_FOR
for a child
labelable elementor labelable element referred by
for
attribute. Note, related labelable element provides
ATK_RELATION_LABELLED_BY
pointing to the
label
.
AXAXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: "group"
legend
[wai-aria-1.2] No corresponding role Computed Role
html-legend
MSAA + IAccessible2Roles: ROLE_SYSTEM_STATICTEXT
; IA2_ROLE_LABEL
IA2_RELATION_LABEL_FOR
with the parent
fieldset
UIA
Control Type: Text
The
LabeledBy
property for the parent
fieldset
points to the UIA element for the
legend
element.
ATKRole: ATK_ROLE_LABEL
ATK_RELATION_LABEL_FOR
with parent
fieldset
element
AXAXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: "group"
li
[wai-aria-1.2] listitem
role with aria-setsize
value reflecting number of li
elements within the parent ol
, menu
or ul
and aria-posinset
value reflecting the li
elements position within the set. Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
Comments Ifli
element is not a child of ol
, menu
or ul
, or if the containing list element is no longer exposed with a list
role, then expose the li
element with a generic
role. HTML Specification map
[wai-aria-1.2] No corresponding role Computed Role
html-map
MSAA + IAccessible2Not mapped if used as an image map. Otherwise,
Role: IA2_ROLE_TEXT_FRAME
Not mapped
ATKNot mapped if used as an image map, otherwise:
Role: ATK_ROLE_STATIC
Role: AXImageMap
if used as an image map. Otherwise,
Role: AXGroup
if associated with an img
with no alt
. Otherwise,
not mapped if not associated with an img
.
object
[wai-aria-1.2] No corresponding role Computed Role
html-object
MSAA + IAccessible2Depends on format of data file. If it contains a plugin then,
Role: IA2_ROLE_EMBEDDED_OBJECT
States: STATE_SYSTEM_UNAVAILABLE
for windowless plugin
Depends on format of data file.
ATKDepends on format of data file. If contains a plugin then
Role: ATK_ROLE_EMBEDDED
output
[wai-aria-1.2] status
role Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2Use WAI-ARIA mapping
Relations: IA2_RELATION_LABELLED_BY
with associated label
element
Use WAI-ARIA mapping
ATKUse WAI-ARIA mapping
Relations: ATK_RELATION_LABELLED_BY
with associated label
element
Use WAI-ARIA mapping
CommentsAXDescription
: value from associated label
element subtree. undefined HTML Specification q
[wai-aria-1.2] generic
role Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
Comments::before
and ::after
CSS pseudo content is used by platforms to render the element's quotation marks. HTML Specification rp
[wai-aria-1.2] No corresponding role Computed Role
html-rp
MSAA + IAccessible2No accessible object. No child elements are exposed if
ruby
is supported by the browser.
UIANo accessible object.
ATKNo accessible object. No child elements are exposed if
ruby
is supported by the browser.
AX Not mapped Comments HTML Specificationrt
[wai-aria-1.2] No corresponding role Computed Role
html-rt
MSAA + IAccessible2No accessible object. No child elements are exposed if
ruby
is supported by the browser.
UIANo accessible object.
ATKNo accessible object.
AXAXRole: AXGroup
AXSubrole: AXRubyText
AXRoleDescription: "group"
ruby
[wai-aria-1.2] No corresponding role Computed Role
html-ruby
MSAA + IAccessible2Role: ROLE_SYSTEM_TEXT
; IA2_ROLE_TEXT_FRAME
Control Type: Text
Localized Control Type: "ruby"
Role: ATK_ROLE_STATIC
AXRole: AXGroup
AXSubrole: AXRubyInline
AXRoleDescription: "group"
style
[wai-aria-1.2] No corresponding role Computed Role
Not mapped
MSAA + IAccessible2Not mapped
UIANot mapped
ATKNot mapped
AXNot mapped
Comments Note:There are instances where CSS properties can affect what is exposed by accessibility
APIs. For instance,
display: none
or
visibility: hidden
will remove an element from the
accessibility treeand hide its presence from assistive technologies.
HTML Specificationsummary
[wai-aria-1.2] No corresponding role Computed Role
If the element is the first child of its type within a parent details
element: html-summary
Otherwise, if it is not the first child of its type of a parent details
element, or it is not a child of a details
element: generic
role
Role: ROLE_SYSTEM_PUSHBUTTON
States: STATE_SYSTEM_EXPANDED
/ STATE_SYSTEM_COLLAPSED
Actions: expand
/ collapse
Control Type: Button
Control Pattern: ExpandCollapse
Role: ROLE_TOGGLE_BUTTON
Relations: ATK_RELATION_DETAILS
AXRole: AXDisclosureTriangle
AXSubrole: (nil)
AXRoleDescription: "disclosure triangle"
summary
element is not a child of a details
element, or it is not the first summary
element of a parent details
, then the summary
element MUST be exposed with a generic
role. HTML Specification var
[wai-aria-1.2] No corresponding role Computed Role
html-var
MSAA + IAccessible2No accessible object. Styles used are mapped to text attributes on its text container.
UIANo accessible object. Styles used are exposed by UIA text attribute identifiers of the TextRange
Control Pattern implemented on a parent accessible object.
No accessible object. Styles used are mapped to text attributes on its text container.
AXAXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: "group"
video
[wai-aria-1.2] No corresponding role Computed Role
html-video
MSAA + IAccessible2Role: ROLE_SYSTEM_GROUPING
Control Type: Group
Localized Control Type: "group"
If the
controls
attribute is present, UI controls (e.g., play, volume) are exposed as children of the
video
element in the
accessibility tree, and mapped as appropriate for the type of control (e.g.,
button
or
slider
).
Text objects associated with loading or error messages, and any UI control not currently displayed,
MAYbe present in the
accessibility treeand marked as hidden or off-screen.
ATKRole: ATK_ROLE_VIDEO
AXRole: AXGroup
AXSubrole: AXVideo
AXRoleDescription: "video playback"
If the
controls
attribute is present, UI controls (e.g., play, volume) are exposed as descendants of an
accessible objectwith a role of
toolbar
, and mapped as appropriate for the type of control (e.g.,
button
or
slider
).
Comments HTML Specificationwbr
[wai-aria-1.2] No corresponding role Computed Role
Not mapped
MSAA + IAccessible2If a line break is added, expose it with IAccessibleText
on the text container
Not mapped
ATKA line break if added is exposed via Text interface on its text container
AXAXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: "group"
Note
In some cases, while not directly exposed to accessibility
APIs, an attribute can still impact the accessibility of an element. e.g.,
autoplay
will automatically start playing
video
or
audio
elements.
abbr
Element(s) th
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2 Object attributes:"abbr" until child
abbr
element is provided
UIANot mapped
ATK Object attributes:"abbr" until child
abbr
element is provided
AXAXDescription: <value>
Comments HTML Specification autocomplete
Element(s) form
[WAI-ARIA-1.2]
Note
Note: the ARIA attribute and the HTML attribute have disparate features.
MSAA + IAccessible2States: STATE_SUPPORTS_AUTOCOMPLETION
on text form controls until the value is overridden by control
Not mapped
ATKStates: ATK_STATE_SUPPORTS_AUTOCOMPLETION
on text form controls until the value is overridden by control
Not mapped
Comments If the element includes bothautocomplete
and aria-autocomplete
attributes with valid values, User Agents MUST expose only the autocomplete
attribute value. The aria-autocomplete
attribute is not valid on a form
element. HTML Specification autocomplete
Element(s) input
, select
and textarea
[WAI-ARIA-1.2]
Note
Note: the ARIA attribute and the HTML attribute have disparate features.
MSAA + IAccessible2States: STATE_SUPPORTS_AUTOCOMPLETION
Not mapped
ATKStates: ATK_STATE_SUPPORTS_AUTOCOMPLETION
Not mapped
Comments If the element includes bothautocomplete
and aria-autocomplete
attributes with valid values, User Agents MUST expose only the autocomplete
attribute value. HTML Specification checked
(if present) Element(s) input
type=checkbox
or type=radio
[WAI-ARIA-1.2] aria-checked
="true" MSAA + IAccessible2
Use WAI-ARIA mapping
UIA Property:Toggle.ToggleState: On (1)
ATK
Use WAI-ARIA mapping
AXAXValue: 1
Comments If an input
element in the checkbox
or radio
state includes both the checked
attribute and the aria-checked
attribute with a valid value, User Agents MUST expose only the checked
attribute value. HTML Specification checked
(if absent) Element(s) input
type=checkbox
or type=radio
[WAI-ARIA-1.2] aria-checked
="false" MSAA + IAccessible2
Use WAI-ARIA mapping
UIA Property:Toggle.ToggleState: Off (0)
ATK
Use WAI-ARIA mapping
AXAXValue: 0
Comments An input
element in the checkbox
or radio
state without a checked
attribute has an implicit "false" state. User Agents MUST ignore an aria-checked
attribute which conflicts with the native element's implicit checked state. HTML Specification command
Element(s) button
(command
in the Toggle popover state Show popover state and Hide popover state) [WAI-ARIA-1.2]
If the associated element is displayed as a popover: aria-expanded=true
If the associated element is hidden: aria-expanded=false
If the associated element is an accessibility ancestor of the element with the command
attribute or is not present in the DOM: aria-expanded=undefined
If the associated element is not a valid popover
element: no aria-expanded
mapping.
Use WAI-ARIA mapping
Object attributes: details-roles:popover
Use WAI-ARIA mapping
ATKUse WAI-ARIA mapping
Object attributes: details-roles:popover
Use WAI-ARIA mapping
CommentsUser Agents MUST expose an aria-details
relationship with the associated element (identified via the specified commandfor
attribute) except under the following conditions:
popover
it is associated with.Note
A button that represents a submit button or is in the reset state with a form owner cannot invoke a command.
HTML Specificationcommandfor
Element(s) button
[WAI-ARIA-1.2]
See comments
MSAA + IAccessible2See comments
UIASee comments
ATKSee comments
AXSee comments
CommentsThe commandfor
attribute identifies the associated element for the button
element.
The specified command
state will determine if a relationship mapping needs to be exposed between the button
and its programmatically associated element.
contenteditable
Element(s) HTML elements [WAI-ARIA-1.2] Not mapped MSAA + IAccessible2
If the element is in the editable state, the following mappings apply to the element and every nested accessible object with the exception of those which have been specified in the false
state.
States: IA2_STATE_EDITABLE
and IA2_STATE_MULTI_LINE
Interfaces: IAccessibleEditableText
If the element is in the false
state: not mapped.
If the element is in the inherit
state: match the editable state of its parent element.
If the element is in the editable state, the following mappings apply to the element and every nested accessible object with the exception of those which have been specified in the false
state.
Control Pattern: TextEdit
Property: AriaProperties.multiline:true
If the element is in the false
state: not mapped.
If the element is in the inherit
state: match the editable state of its parent element.
If the element is in the editable state, the following mappings apply to the element and every nested accessible object with the exception of those which have been specified in the false
state.
States: ATK_STATE_EDITABLE
and ATK_STATE_MULTI_LINE
Interfaces: AtkEditableText
If the element is in the false
state: not mapped.
If the element is in the inherit
state: match the editable state of its parent element.
Use WAI-ARIA mapping
Comments If the element is set tocontenteditable
and aria-readonly="true"
, User Agents MUST expose only the contenteditable
state. HTML Specification coords
Element(s) area
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2Defines an accessible object's dimensions (IAccessible::accLocation
)
Defines an accessible object's dimensions (BoundingRectangle
)
Defines an accessible object's dimensions, exposed via atk_component_get_position
and atk_component_get_size
Defines an accessible object's dimensions, exposed via Frame
property
datetime
Element(s) time
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2Object attributes: datetime: <value>
Properties: FullDescription: <value>
Object attributes: datetime: <value>
AXDateTimeValue: <value>
Comments HTML Specification dir
Element(s) HTML elements [WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2Exposed as "writing-mode" text attribute on the text container.
UIAExposed by TextFlowDirections
attribute of the TextRange
Control Pattern implemented on a parent accessible object.
Exposed as "writing-mode" text attribute on the text container.
AXNot mapped
Comments HTML Specificationdir
Element(s) bdo
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2Exposed as "writing-mode" text attribute on the text container.
UIAExposed by TextFlowDirections
attribute of the TextRange
Control Pattern implemented on a parent accessible object.
Exposed as "writing-mode" text attribute on the text container.
AXNot mapped
Comments HTML Specificationdisabled
Element(s) fieldset
[WAI-ARIA-1.2] aria-disabled="true"
MSAA + IAccessible2
Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
CommentsForm controls within a valid legend
child element of a fieldset
with a disabled
attribute do not become disabled.
If the element has both the disabled
attribute and the aria-disabled
attribute with a valid value, User Agents MUST expose only the disabled
attribute value.
enterkeyhint
Element(s) HTML elements [WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2Not mapped
UIANot mapped
ATKNot mapped
AXNot mapped
Comments Modifies the action label (or icon) to present for the enter key on virtual keyboards. HTML Specificationfor
Element(s) output
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2Relations: IA2_RELATION_CONTROLLED_BY
with an element pointed by the attribute. Paired element exposes IA2_RELATION_CONTROLLER_FOR
relation.
Not mapped
ATKRelations: ATK_RELATION_CONTROLLED_BY
with an element pointed by the attribute. Paired element exposes ATK_RELATION_CONTROLLER_FOR
relation.
Not mapped
Comments HTML Specificationhidden
Element(s) HTML elements [WAI-ARIA-1.2] aria-hidden="true"
if the element retains its user agent default styling of display: none
. Otherwise, if no other method for hiding the content is used (e.g., visibility: hidden
) then it is not mapped. MSAA + IAccessible2 Use WAI-ARIA mapping UIA Use WAI-ARIA mapping ATK Use WAI-ARIA mapping AX Use WAI-ARIA mapping Comments HTML Specification href
Element(s) a
; area
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2Creates a link accessible object. For details, refer to
a
and
area
element mappings.
UIA Creates a link accessible object. For details, refer toa
and area
element mappings. The value of the href
attribute is stored in the Value.Value
UIA property. ATK
Creates a link accessible object. For details, refer to
a
and
area
element mappings.
AXAXURL: <value>
Comments HTML Specification inert
Element(s) HTML elements [WAI-ARIA-1.2] Not Mapped MSAA + IAccessible2 See comments UIA See comments ATK See comments AX See comments Comments
Nodes that are inert are not exposed to an accessibility API.
Note
Note: an inert node can have descendants that are not inert. For example, a modal dialog can escape an inert subtree.
HTML Specificationindeterminate [IDL]
Element(s) HTML elements; input
[WAI-ARIA-1.2] aria-checked
(state)="mixed" MSAA + IAccessible2 Use WAI-ARIA mapping UIA Use WAI-ARIA mapping ATK Use WAI-ARIA mapping AX Use WAI-ARIA mapping Comments If the element has the indeterminate [IDL]
set and the aria-checked
attribute set, User Agents MUST expose only the indeterminate [IDL]
state. HTML Specification lang
Element(s) HTML elements [WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2Exposed as "language" text attribute on the text container
UIAThe value of the lang
attribute is exposed as a locale identifier by Culture
property of the UIA element representing the HTML element, and by Culture
attribute of the TextRange
Control Pattern implemented on a parent accessible object.
Exposed as "language" text attribute on the text container
AXAXLanguage: <value>
Comments HTML Specification list
Element(s) input
[WAI-ARIA-1.2] aria-controls
MSAA + IAccessible2
IA2_RELATION_CONTROLLER_FOR
point to the datalist
element referred to by the IDREF value of the list
attribute.
ControllerFor
point to the datalist
element referred to by the IDREF value of the list
attribute.
ATK_RELATION_CONTROLLER_FOR
point to the datalist
element referred to by the IDREF value of the list
attribute.
Property: AXLinkedUIElements
: point to the datalist
element referred to by the IDREF value of the list
attribute.
datalist
and input
element mappings. HTML Specification max
Element(s) input
[WAI-ARIA-1.2] aria-valuemax
MSAA + IAccessible2
Exposed as IAccessibleValue::maximumValue
if the element implements the interface
RangeValue.Maximum
ATK
Exposed as atk_value_get_maximum_value
if the element implements the AtkValue
interface
AXMaxValue: <value>
Comments HTML Specification max
Element(s) meter
; progress
[WAI-ARIA-1.2] aria-valuemax
MSAA + IAccessible2
Exposed as IAccessibleValue::maximumValue
if the element implements the interface
RangeValue.Maximum
ATK
Exposed as atk_value_get_maximum_value
if the element implements the AtkValue
interface
AXMaxValue: <value>
Comments HTML Specification min
Element(s) input
[WAI-ARIA-1.2] aria-valuemin
MSAA + IAccessible2
Exposed as IAccessibleValue::minimumValue
if the element implements the interface
RangeValue.Minimum
ATK
Exposed as atk_value_get_minimum_value
if the element implements the AtkValue
interface
AXMinValue: <value>
Comments HTML Specification min
Element(s) meter
[WAI-ARIA-1.2] aria-valuemin
MSAA + IAccessible2
Exposed as IAccessibleValue::minimumValue
if the element implements the interface
RangeValue.Minimum
ATK
Exposed as atk_value_get_minimum_value
if the element implements the AtkValue
interface
AXMinValue: <value>
Comments HTML Specification minlength
Element(s) input
; textarea
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2States: IA2_STATE_INVALID_ENTRY
if value doesn't meet the designated minimum length value.
States: IsDataValidForForm
if value doesn't meet the designated minimum length value.
States: ATK_STATE_INVALID_ENTRY
if value doesn't meet the designated minimum length value.
Property: AXInvalid
: true
if value doesn't meet the designated minimum length value.
placeholder
Element(s) input
; textarea
[WAI-ARIA-1.2] aria-placeholder
MSAA + IAccessible2
Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
CommentsWhen the placeholder
and aria-placeholder
attributes are both present, and the placeholder
attribute's value is non-empty, user agents MUST expose the value of the placeholder
attribute, and ignore aria-placeholder
. If the placeholder
attribute's value is empty, then user agents MUST expose the value of the aria-placeholder
attribute.
popover
Element(s) HTML elements [WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2 Relations:IA2_RELATION_DETAILS_FOR
points to invoking element. See Comments. Object attributes: ispopup: <value>
where
<value>
reflects the
popovertype.
UIA A details relation is made with the invoking element, if an invoking element exists which meets the conditions for necessitating a details relationship. See Comments. ATKRelations: RELATION_DETAILS_FOR
points to invoking element. See Comments.
ispopup: <value>
where
<value>
reflects the
popovertype.
AX TBDUser agents MUST NOT expose a details relation between a popover
and its invoking element under the following conditions:
popover
is the next immediate accessibility sibling to the invoking element,popovertargetaction=hide
attribute value,popover
and its popovertarget
is the "auto
" state.If specified on an element with an implicit role of generic
, then the element's role instead maps to group
for all popover
states.
Note
There are no unique mappings for the different popover
states. Any accessibility mapping changes for the popover element would be the responsibility of the author. e.g., using different base HTML elements, attributes, or ARIA attributes to make such changes.
popovertarget
Element(s) button
; input type=button, image, reset, submit
[WAI-ARIA-1.2]
If the associated element is displayed as a popover: aria-expanded=true
If the associated element is hidden: aria-expanded=false
If the associated element is an accessibility ancestor of the element with the command
attribute or is not present in the DOM: aria-expanded=undefined
If the associated element is not a valid popover
element: no aria-expanded
mapping.
Use WAI-ARIA mapping
Object attributes: details-roles:popover
Use WAI-ARIA mapping
ATKUse WAI-ARIA mapping
Object attributes: details-roles:popover
Use WAI-ARIA mapping
CommentsUser Agents MUST expose an aria-details
relation with the associated popover element except under the following conditions:
popovertargetaction
attribute value is "hide
"popovertargetaction
is the "auto
" state and the element is a descendant of the popover
it is associated with.Note
A button that represents a submit button with a form owner cannot invoke a popover.
HTML Specificationrequired
Element(s) input
; select
; textarea
[WAI-ARIA-1.2] aria-required
MSAA + IAccessible2
Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
CommentsIf the element includes both the required
attribute and the aria-required
attribute with a valid value, User Agents MUST expose only the required
attribute value.
If an element is required, user agents MUST NOT expose the element with an intitial invalid state (aria-invalid="true"
). The user agent SHOULD expose the invalid state only after 1) a user has purposefully interacted with a required element, or attempted to submit a form and 2) the element, or elements, do not meet constraint validation.
Until these conditions are met, user agents MUST expose the elements as (aria-invalid="false"
).
reversed
Element(s) ol
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2Reverses the numerical or alphabetical order of the child list item markers.
UIAReverses the numerical or alphabetical order of the child list item markers.
ATKReverses the numerical or alphabetical order of the child list item markers.
AXReverses the numerical or alphabetical order of the child list item markers.
Comments HTML Specificationselected
Element(s) option
[WAI-ARIA-1.2] aria-selected="true"
MSAA + IAccessible2
Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
Comments If the element includes both theselected
attribute and the aria-selected
attribute with a valid value, User Agents MUST expose only the selected
attribute value. HTML Specification size
Element(s) input
; select
[WAI-ARIA-1.2]
Not mapped for input
elements.
If greater than 1, then creates a listbox accessible object. Refer to
select
element for details.
MSAA + IAccessible2Not mapped for input
elements.
For select
element use WAI-ARIA mapping.
Not mapped for input
elements.
For select
element use WAI-ARIA mapping.
Not mapped for input
elements.
For select
element use WAI-ARIA mapping.
Not mapped for input
elements.
For select
element use WAI-ARIA mapping.
input
elements that allow the size
attribute, the attribute will modify their default width. A width provided by CSS will negate the effects of the size
attribute on these input
elements. HTML Specification span
Element(s) col
; colgroup
[WAI-ARIA-1.2] Not mapped MSAA + IAccessible2
Exposed as IAccessibleTableCell::columnExtent
on all cells at the column
Exposed as GridItem.ColumnSpan
on all cells at the column
Exposed via atk_table_get_column_extent_at
AXColumnIndexRange.length: <value>
start
Element(s) ol
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2Changes the first number of the child list item accessible objects to match the start
attribute's value.
Changes the first number of the child list item accessible objects to match the start
attribute's value.
Changes the first number of the child list item accessible objects to match the start
attribute's value.
Changes the first number of the child list item accessible objects to match the start
attribute's value.
step
Element(s) input
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2Not mapped
UIA If theinput
is in the Range
state, set both RangeValue.SmallChange
and RangeValue.LargeChange
to the value of step
. ATK
Exposed as atk_value_get_minimum_increment
if the element implements the AtkValue
interface.
type
Element(s) input
[WAI-ARIA-1.2] Refer to WAI-ARIA mappings for input types with defined ARIA roles. MSAA + IAccessible2
Defines the accessible role, states and other properties, refer to
type="text"
,
type="password"
,
type="button
"
, etc.
UIADefines the accessible role, states and other properties, refer to
type="text"
,
type="password"
,
type="button
"
, etc.
ATKDefines the accessible role, states and other properties, refer to
type="text"
,
type="password"
,
type="button
"
, etc.
AXDefines the accessible role, states and other properties, refer to
type="text"
,
type="password"
,
type="button
"
, etc.
Comments HTML Specificationtype
Element(s) ol
[WAI-ARIA-1.2] Not mapped MSAA + IAccessible2
Defines the list item marker, which has no
accessible object, but is exposed as content in the accessible text of the associated list item.
Interfaces: IAccessibleText2
Defines the list item marker, which has no
accessible object, but is exposed as content in the accessible text of the associated list item.
Control Pattern: Text
Defines the list item marker, which has no
accessible object, but is exposed as content in the accessible text of the associated list item.
Interfaces: ATKText
Defines the list item marker, which is exposed as content in
AXValue
, and rendered as an
accessible object:
AXRole: AXListMarker
AXSubrole: (nil)
AXRoleDescription: "list marker"
Some platforms (IAccessible2, ATK, UIA) do not expose an
accessible objectfor the list item marker, whether it was created and then pruned from the
accessibility tree, or never created in the first place. Instead, they expose the list item marker as part of the associated list item's accessible text. In these cases, implementors need to consider such things as adjusting the offsets (e.g., for caret-moved events, text-selection events, etc.) for the updated list item text that now also contains the list item marker as content, rather than just taking the offsets unmodified from the list item renderer.
HTML Specificationusemap
Element(s) img
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2Responsible for image map creation.
UIAResponsible for image map creation.
ATKResponsible for image map creation.
AXResponsible for image map creation.
Comments Refer toimg
element. HTML Specification value
Element(s) input
[WAI-ARIA-1.2] Not mapped MSAA + IAccessible2
Associates the accessible value for entry type input elements and
accessible namefor button type input elements
UIAAssociates the accessible value for entry type input elements and
accessible namefor button type input elements
ATKAssociates the accessible value for entry type input elements and
accessible namefor button type input elements
AXAXValue: <value>
Comments HTML Specification value
Element(s) li
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2Exposed as first text node of li
's accessible object.
Expose the value of the value
attribute as the first text node in the list item. If the value of the value
attribute is an integer, set the UIA PositionInSet
property to the integer value.
Exposed as first text node of li
's accessible object.
Exposed as AXValue: <value>
with accessible object:
AXRole: AXListMarker
AXSubrole: (nil)
AXRoleDescription: list marker
The terms accessible name and accessible description are properties provided in all accessibility APIs. The name of the properties may differ across APIs but they serve the same function: as a container for a short (name) or longer (description) string of text.
The text alternative computation is used to generate both the accessible name and accessible description. There are different rules provided for several different types of elements, nodes, and combinations of markup.
aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.label
element or elements accessible name(s) - if more than one label
is associated; concatenate by DOM order, delimited by spaces.title
attribute.aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.label
element(s) accessible name(s) - if more than one label
is associated; concatenate by DOM order, delimited by spaces.value
attribute.input type=submit
and type=reset
: if the prior steps do not yield a usable text string, and the value
attribute is unspecified use the implementation defined string respective to the input type.title
attribute.aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.label
element(s) accessible name(s) - if more than one label
is associated; concatenate by DOM order, delimited by spaces.alt
attribute if present and its value is not the empty string.title
attribute if present and its value is not the empty string.input
in the image
state represents a submit button). For instance, a localized string of the word "submit" or the words "Submit Query".button
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.label
element(s) accessible name(s) - if more than one label
is associated; concatenate by DOM order, delimited by spaces.button
element subtree.title
attribute.fieldset
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.fieldset
element has a child that is a legend
element, then use the subtree of the first such element.fieldset
element has a title
attribute, then use that attribute.output
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.label
element or elements accessible name(s) - if more than one label
is associated; concatenate by DOM order, delimited by spaces.title
attribute.aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.label
element.title
attribute.summary
element, which is a direct child of the details
element, has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.summary
element subtree.title
attribute.summary
element as a direct child of the details
element, the user agent should provide one with a subtree containing a localized string of the word "details".summary
element as a direct child of the details
element, but none of the above yield a usable text string, there is no accessible name.figure
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.figure
element has a child that is a figcaption
element, then use the subtree of the first such element.figure
element has a title
attribute, then use that attribute.img
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.alt
attribute, even if its value is the empty string.
Note
An
img
with an
alt
attribute whose value is the empty string is mapped to the
presentation
role. It has no accessible name.
alt
attribute use the title
attribute.table
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.table
element has a child that is a caption
element, then use the subtree of the first such element.table
element has a title
attribute, then use that attribute.aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.title
attribute.a
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.a
element subtree.title
attribute.area
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.area
element's alt
attribute.title
attribute.aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.title
attribute.Note
The document referenced by the src
of the iframe
element gets its name from that document's title
element, like any other document. If there is no title
provided, there is no accessible name.
aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.title
attribute.abbr
, b
, bdi
, bdo
, br
, cite
, code
, dfn
, em
, i
, kbd
, mark
, q
, rp
, rt
, ruby
, s
, samp
, small
, strong
, sub
and sup
, time
, u
, var
, wbr
aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.title
attribute.An accessible description MAY be provided to any HTML element that is a valid child of the body
element. The following list represents the order of precedence for user agents to compute the accessible description of an element. As defined by Accessible Name and Description Computation: Description Computation , user agents MUST use the first applicable description source, even if its use results in an empty description.
aria-describedby
or aria-description
attribute refer to the computation conditions defined in Accessible Name and Description: Computation and API Mappings.table
element which has a child caption
element, use the text equivalent computation of the subtree of the first caption
element if it was not used as the accessible name.summary
element, use the text equivalent computation of its subtree if it was not used as the accessible name.input
element whose type
attribute is the button
, submit
or reset
state, and it has a value
attribute, then use the flat string of the attribute if it was not used as the accessible name.title
attribute if it was not used as the accessible name for the element.In accordance with Web Platform Design Principles, this specification provides no programmatic interface to determine if information is being used by Assistive Technologies. However, this specification does allow an author to present different information to users of Assistive Technologies from the information available to users who do not use Assistive Technologies. This is possible using many features of the ARIA and CORE-AAM specifications, just as this is possible using many other parts of the web technology stack. This content disparity could be abused to perform active fingerprinting of users of Assistive Technologies.
This specification introduces no new security considerations.
Review the commit history of this document on GitHub.
command
and commandfor
attribute mappings. See GitHub ARIA PR 2354.aria-hidden=true
on body
and html
elements. See GitHub PR 516.popover
, popovertarget
and popovertargetaction
mappings. See GitHub PR 481.hr
element within select
element. See GitHub PR 504.image
and none
). See GitHub PR 498.inert
attribute mapping. See GitHub PR 410.search
element and its mappings. See GitHub PR 355.hgroup
element to be mapped to role=group
. See GitHub PR 398.output
element. See GitHub PR 402.s
element to be role=deletion
. See GitHub PR 442.address
element to be mapped to role=group
. See GitHub PR 420.aside
mappings based on its nesting context. See GitHub PR 350.generic
role: a no href
, footer
not scoped to body
, header
not scoped to body
, samp
, span
. See GitHub PR 364.mark
to point to Core AAM mapping for the role. See GitHub Issue 316.blockquote
, caption
, code
, del
, em
, ins
, meter
, paragraph
, strong
, sub
, sup
and time
to ARIA 1.2 mappings in Core AAM. Fix body
mapping to generic
, and html
mapping to document
. Fix hgroup
mapping to generic
. Update details
to map to group
with additional information specific to ATK, UIA. See GitHub issue #348readonly
, name
, form
, disabled
. See Issue 257.hgroup
, slot
, autonomous custom element and form associated custom element. See GitHub issue #189.disabled
, scope
, spellcheck
, tabindex
to point to WAI-ARIA. Adds AX pattern
, reversed
, rows
, size
, span
, src
, start
, step
, type
attribute mappings. Adds min-length
, ping
, playsinline
, referrerpolicy
, sizes
, srcset
, data[value]
attribute mappings. See GitHub pull request #245.rb
and rtc
elements as they are marked as obsolete in HTML. See GitHub issue #115 and pull request #253.high
, low
, max
, min
, and meter
and progress
's value
attribute. See GitHub pull request #244.mark
element's UIA LocalizedControlType
and AX AXRoleDescription
. See GitHub issue #236.summary
and details
elements. See GitHub issue #142 and GitHub issue #147.sub
and sup
. See GitHub pull request #252.menu
to match HTML Living Standard. Remove element and attribute mappings that are not applicable to menu
and menuitem
. Update mapping of menu
to role="list"
. See GitHub issue #188.ins
and del
elements. See GitHub pull request #219.ins
and del
elements. See GitHub issue #141.header
and footer
when not scoped to the body
. See GitHub issue #129.map
element. Add accessible name and description computation for area
. See GitHub issue #176.sub
and sup
elements. See Pull request #177.sup
and sub
elements. See GitHub issue #174.address
element. See GitHub issue #170.placeholder
attribute to accessible name computation for various input
elements. See GitHub issue #167.rb
and rtc
elements, and updated AXAPI mappings for the rb
, rt
and ruby
elements. See GitHub issue #115.svg
element. See GitHub issue #43.del
and ins
elements, and the datetime
attribute.header
and footer
when scoped to body
, aside
, and output
. See GitHub issue #119.multiple
attribute on input
element. See GitHub issue #96.sub
and sup
elements. See GitHub issue #121.body
element. See GitHub issue #117.meter
element. See GitHub issue #2.address
element. See GitHub issue #33.dt
element. See GitHub issue #78.mark
element.input
element with the type
attribute in the Color state. See GitHub issue #48.pre
, q
, and ruby
elements, and the multiple
attribute for the input
element. See GitHub issue #94.readonly
attribute to use aria-readonly="true"
WAI-ARIA mappings. See GitHub issue #93.canvas
element from AXImage
to AXGroup
.dfn
element. See GitHub issue #6.meter
element. See GitHub issue #2.audio
and video
elements. See GitHub issue #80.figure
element mappings to reflect the WAI-ARIA figure
role mappings.form
element based on presence of accessible name. See GitHub issue #106.img
element's title
attribute when the element's alt
attribute is empty. See GitHub issue #99.aria-roledescription
unless element also a conforming role
attribute value. See GitHub issue #98.type
attribute on the ol
element. See GitHub issue #91.title
attribute on abbr
element, and abbr
attribute on th
element. See GitHub issue #16.hidden
attribute. See GitHub issue #38.selected
attribute. See GitHub issue #92.time
element. See GitHub issue #88.lang
and dir
attributes. See GitHub issue #19.colspan
and rowspan
attributes. See GitHub issue #56 and issue #57.section
element. See GitHub issue #79.datalist
element if not linked with input
element. See GitHub issue #26.list
attribute. See GitHub issue #21.footer
and header
elements. See GitHub issue #59.input@type='date'
attribute. See GitHub issue #61.input@type='file'
element. See GitHub issue #62.summary
element. See GitHub issue #64.header
and footer
elements are or are not ARIA landmarks. See GitHub issue #65.aria-multiselectable
mapping for datalist
to reflect listbox selection model. See GitHub issue #71.multiple
attribute on input
and select
elements. See GitHub issue #72.checked
, contenteditable
, disabled
, and indeterminate
attributes.placeholder
attribute from accessible description computation for various input
elements.This section is non-normative.
The following people contributed to the development of this document.
This publication has been funded in part with U.S. Federal funds from the Department of Education, National Institute on Disability, Independent Living, and Rehabilitation Research (NIDILRR), initially under contract number ED-OSE-10-C-0067, then under contract number HHSP23301500054C, and now under HHS75P00120P00168. The content of this publication does not necessarily reflect the views or policies of the U.S. Department of Education, nor does mention of trade names, commercial products, or organizations imply endorsement by the U.S. Government.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3