HTML Accessibility API Mappings (HTML-AAM) defines how user agents map HTML 5.1 [[!HTML51]] elements and attributes to platform accessibility application programming interfaces (APIs). It leverages and extends the Core Accessibility API Mappings 1.1 [[!CORE-AAM]] and the Accessible Name and Description: Computation and API Mappings 1.1 [[!ACCNAME-AAM]] for use with the HTML 5.1 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.
This document is subject to change without notice.
You can file a bug on this specification
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 Platform Working Group. The document is now maintained solely by the Web Platform WG.
This specification defines how HTML user agents must 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.1 [[!WAI-ARIA]] semantics must be exposed to the platform accessibility APIs according to the relevant WAI-ARIA mappings defined in the Core Accessibility API Mappings [[!CORE-AAM]] 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]]. 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 and API Mappings [[!ACCNAME-AAM]] for deriving the accessible names and accessible descriptions of HTML 5.1 [[!HTML51]] elements, and provides accessible implementation examples for specific HTML 5.1 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 [[!CORE-AAM]].
These RFC2119 key words are formatted in uppercase and contained in a strong
element with class="rfc2119"
. When these key words are used, but do not share this format, they do not convey any formal conformance requirements in the RFC2119 sense, and are merely explanatory, i.e., informative. As much as possible, such usage is avoided in this specification.
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.
WAI-ARIA support was first introduced to HTML in HTML5 [[!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 [[!CORE-AAM]].
Where the host language is HTML 5.1 [[!HTML51]], user agents MUST conform to Conflicts between native markup semantics and WAI-ARIA in the Core Accessibility API Mappings [[!CORE-AAM]].
HTML may have 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 Accessibility API Mappings [[!CORE-AAM]].
In MSAA, the value of an accessible object's Role property is retrieved with the IAccessible::get_accRole method. This method returns a VARIANT that is limited to a finite number of integer role constants insufficient for describing the role of every HTML element, especially new elements introduced by HTML5. To address this limitation, some user agents, e.g., Firefox and Chrome in cooperation with some screen readers, have elected to expose certain roles by returning a string value (BSTR) in that VARIANT in a way that is not described by the MSAA specification.
For example, Firefox returns the element's tag name as a BSTR for the following: abbr
, address
, aside
, blockquote
, canvas
, caption
, dd
, div
, figcaption
, footer
, form
, h1
–h6
, header
, iframe
, input type="file"
, main
, menu
, nav
, output
, p
, pre
, q
, section
, time
.
Similarly, Chrome returns the element's tag name for: blockquote
, div
, dl
, figcaption
, form
, h1-h6
, menu
, meter
, p
, pre
.
to do
Notes:
aria-roledescription
property value in the accessibility tree unless the element has an explicit, conforming role
attribute value.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 explict tabindex
specified, elements mapped to the Text
Control Type will be represented as accessible objects in the accessibility tree.Element | WAI-ARIA | MSAA + IAccessible2 | UIA | ATK | AX | Comments | |
---|---|---|---|---|---|---|---|
a (represents a hyperlink) |
link role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
a (represents a hyperlink and parent is a menu) |
menuitem role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
a (no href attribute) |
No corresponding role |
Roles:
ROLE_SYSTEM_TEXT ; IA2_ROLE_TEXT_FRAME
Interfaces:
IAccessibleHyperlink ; IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Text
|
Role:
ATK_ROLE_STATIC
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
abbr |
No corresponding role |
Roles:
ROLE_SYSTEM_TEXT ; IA2_ROLE_TEXT_FRAME
Object attributes:
"abbr" attribute on the containing
td if a single child,
text content used as a value
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Text
|
Role:
ATK_ROLE_STATIC
Object attributes:
"abbr" attribute on the containing
td if a single child,
text content used as a value
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
address |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
Object attributes:
xml-roles:address
|
Control Type:
Group
Localized Control Type:
"address"
|
Role:
ATK_ROLE_PANEL
Object attributes:
xml-roles:address
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"address"
|
||
area (represents a hyperlink) |
link role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
area (no href attribute) |
No corresponding role |
Roles:
ROLE_SYSTEM_TEXT ; IA2_ROLE_SHAPE
|
Control Type:
Text
|
Role:
ATK_ROLE_STATIC
|
Not mapped |
||
article |
article role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
aside |
complementary role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping
Localized Control Type:
"aside" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
audio |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
|
Control Type:
Group
Localized Control Type:
"audio" Note: 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, MAY be present in the accessibility tree and marked as hidden or off-screen.
|
Role:
ATK_ROLE_AUDIO
|
AXRole:
AXGroup
AXSubrole:
AXAudio
AXRoleDescription:
"audio playback"
Note: If the
controls attribute is present, UI controls (e.g. play, volume) are exposed as descendants of an accessible object with a role of toolbar , and mapped as appropriate for the type of control (e.g. button or slider ). |
||
b |
No corresponding role |
No accessible object. Exposed as
"font-weight" text attribute on the text container.
The value depends on the platform.
|
No accessible object. Exposed by the
FontWeight attribute of the TextRange Control Pattern implemented on a parent accessible object.
|
No accessible object. Exposed as
"font-weight" text attribute on the text container.
The value depends on the platform.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
base |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
bdi |
No corresponding role |
No accessible object. May affect on
"writing-mode" text attribute on its text container.
|
Control Type:
Text
|
No accessible object. May affect on
"writing-mode" text attribute on its text container.
|
|||
bdo |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT
Text attributes:
writing-mode on the text container
|
Control Type:
Text
|
No accessible object.
Exposed as "writing-mode" text attribute on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
blockquote |
No corresponding role |
Roles:
ROLE_SYSTEM_GROUPING ; IA2_ROLE_SECTION
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Group
Localized Control Type:
"blockquote" |
Role:
ATK_ROLE_BLOCK_QUOTE
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
body |
No corresponding role |
Roles:
ROLE_SYSTEM_DOCUMENT
|
Control Type:
Pane
Localized Control Type:
"pane" |
Role:
ATK_ROLE_DOCUMENT_WEB
|
AXRole:
AXWebArea
AXSubrole:
(nil)
AXRoleDescription:
"HTML content"
|
||
br |
No corresponding role |
No accessible object. Exposed as '\n' character
via
IAccessibleText2 interface on the text container.
|
Not mapped |
No accessible object. Exposed as '\n' character
via
AtkText interface on the text container.
|
Not mapped |
||
button |
button role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
canvas |
No corresponding role |
Roles:
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 |
No corresponding role |
Roles:
ROLE_SYSTEM_TEXT ; IA2_ROLE_CAPTION
States:
STATE_SYSTEM_READONLY
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Text
Other properties: The
LabeledBy property for the parent table element points to the UIA element for the caption element
|
Role:
ATK_ROLE_CAPTION
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
cite |
No corresponding role |
No accessible object. Styles used are mapped into text attributes on its text container.
|
No 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.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
code |
No corresponding role |
No accessible object. Styles used are mapped into text attributes on its text container.
|
No 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.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
col |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
colgroup |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
|
Control Type:
Group
Localized Control Type: "colgroup" |
Not mapped |
Not mapped |
||
data |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|||
datalist
(represents pre-defined options for input element)
|
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 |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
If datalist is not linked to a proper input element,
then datalist element is not mapped to accessibility APIs.
|
|
dd |
definition role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
del |
No corresponding role |
No accessible object. Styles used are mapped
into text attributes on its text container.
|
No 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.
|
AXRole:
AXGroup
AXSubrole:
AXDeleteStyleGroup
AXRoleDescription:
"group"
|
||
details |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
|
Control Type:
Group
Localized Control Type:
"details" |
Role:
ATK_ROLE_PANEL
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription: "group"
|
||
dfn |
term role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
dialog |
dialog role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
div |
No corresponding role |
May not have an accessible object if has no semantic meaning. Otherwise,
Roles:
ROLE_SYSTEM_GROUPING ; IA2_ROLE_SECTION
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Group |
May not have an accessible object if has no semantic meaning. Otherwise
Role:
ATK_ROLE_SECTION
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
dl |
No corresponding role |
Role:
ROLE_SYSTEM_LIST
States:
STATE_SYSTEM_READONLY
|
Control Type:
List
|
Role:
ATK_ROLE_DESCRIPTION_LIST
|
AXRole:
AXList
AXSubrole:
AXDefinitionList
AXRoleDescription:
"definition list"
|
||
dt |
term role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
em |
No corresponding role |
No accessible object. Styles used are mapped into text attributes on its text container.
|
No 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
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
embed |
No corresponding role |
Roles:
ROLE_SYSTEM_CLIENT ; IA2_ROLE_EMBEDDED_OBJECT
States:
STATE_SYSTEM_UNAVAILABLE for windowless plugin
|
Control Type:
Pane
|
Role:
ATK_ROLE_EMBEDDED
|
Depends on format of data file | ||
fieldset |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
|
Control Type:
Group
|
Role:
ATK_ROLE_PANEL
|
AXRole:
AXGroup
AXSubrole:
AXFieldset
AXRoleDescription:
"group"
AXDescription: value from child
legend subtree |
||
figcaption |
No corresponding role |
Roles:
ROLE_SYSTEM_TEXT ; IA2_ROLE_CAPTION
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Text
|
Role:
ATK_ROLE_CAPTION
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
figure |
figure role |
Role: Use WAI-ARIA mapping
|
Role: Use WAI-ARIA mapping Accessible name derived from
figcaption according to the figure Element Accessible Name Computation |
Role: Use WAI-ARIA mapping
Name:
related
figcaption content
|
AXRole: Use WAI-ARIA mapping
|
||
footer (scoped to the body element) |
contentinfo role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping
Localized Control Type:
"footer" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping
AXRoleDescription:
"footer" |
||
footer (scoped to the main element, a sectioning content element, or a sectioning root element other than body ) |
No corresponding role |
Roles:
ROLE_SYSTEM_GROUPING ; IA2_ROLE_SECTION
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Group
Localized Control Type:
"footer"
|
Role:
ATK_ROLE_SECTION
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
form with an accessible name |
form role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
form without an accessible name |
No corresponding role | Role:
ROLE_SYSTEM_GROUPING ; IA2_ROLE_SECTION Interfaces: IAccessibleText2 ; IAccessibleHypertext2 ; |
Control Type:
Group Localized Control Type: "form" |
Role:
ATK_ROLE_SECTION Interfaces: AtkText ; AtkHypertext |
AXRole:
AXGroup AXSubrole:
(nil) AXRoleDescription: "group" |
||
h1 , h2 , h3 , h4 , h5 , h6 |
heading role, with the aria-level property set to the number in the element's tag name. |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
head |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
header (scoped to the body element) |
banner role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping
Localized Control Type:
"header" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
header (scoped to the main element, a sectioning content element, or a sectioning root element other than body ) |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING ; IA2_ROLE_SECTION
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Group
Localized Control Type:
"header"
|
Role:
ATK_ROLE_SECTION
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
hr |
separator role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
html |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
i |
No corresponding role |
No accessible object.
Text attributes:
font-style:italic on the text container
|
No accessible object. Exposed by the
IsItalic attribute of the TextRange Control Pattern implemented on a parent accessible object.
|
No accessible object. Exposed as
"font-style:italic" text attribute on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
iframe |
No corresponding role |
Role:
IA2_ROLE_INTERNAL_FRAME
Child:
ROLE_SYSTEM_DOCUMENT with STATE_SYSTEM_READONLY
|
Control Type:
Pane
|
Role:
ATK_ROLE_INTERNAL_FRAME
Child:
ATK_ROLE_DOCUMENT_FRAME
|
AXRole:
AXWebArea
AXSubrole:
(nil)
AXRoleDescription:
"html content"
|
||
img |
img role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
img (alt attribute value is an empty string, i.e. alt="" or alt with no value in the markup) |
See also the Note under
img element Accessible Name Computation. |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Button state) |
button role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Button state and parent is a menu) |
menuitem role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Checkbox state) |
checkbox role, with the aria-checked state set to "mixed" if the element's indeterminate IDL attribute is true, or "true" if the element's checkedness is true, or "false" otherwise |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Checkbox state and parent is a menu) |
menuitemcheckbox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Color state) |
No corresponding role |
If 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"
|
Implemented as a color picker:
Role:
ATK_ROLE_COLOR_CHOOSER |
If 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). |
|
input (type attribute in the Date state) |
No corresponding role |
If 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.
|
Role:
ATK_ROLE_CALENDAR
|
AXRole:
AXDateField
AXSubrole:
(nil)
AXRoleDescription:
"date field"
|
||
input (type attribute in the E-mail state with no suggestions source element) |
textbox role |
Use WAI-ARIA mapping
Object attributes:
text-input-type:email |
Use WAI-ARIA mapping
Localized Control Type:
"email"
|
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the File Upload state) |
No corresponding role |
Implementation 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 Image Button state) |
button role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Image Button state and parent is a menu) |
menuitem role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Local Date and Time state) |
No corresponding role |
Role:
IA2_ROLE_DATE_EDITOR
|
Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composit of multiple spinners.
|
Role:
ATK_ROLE_CALENDAR
|
AXRole:
AXTextField
AXSubrole:
(nil)
AXRoleDescription:
"text field"
|
||
input (type attribute in the Month state) |
No corresponding role |
Role:
IA2_ROLE_DATE_EDITOR
|
Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composit of multiple spinners.
|
Role:
ATK_ROLE_DATE_EDITOR
|
AXRole:
AXTextField
AXSubrole:
(nil)
AXRoleDescription:
"text field"
|
||
input (type attribute in the Number state) |
spinbutton role |
If implemented as a spin button, use WAI-ARIA mapping for
spinbutton .
If implemented as a text input, use WAI-ARIA mapping for
textbox .
Object attributes:
text-input-type:number
|
If implemented as a spin button, use WAI-ARIA mapping for
spinbutton .If implemented as a text input:
Control Type:
Edit
Localized Control Type:
"number"
|
If implemented as a spin button, use WAI-ARIA mapping for
spinbutton .
If implemented as a text input, use WAI-ARIA mapping for
textbox .
Object attributes:
text-input-type:number
|
Use WAI-ARIA mapping |
||
input (type attribute in the Password state) |
No corresponding role |
Role: ROLE_SYSTEM_TEXT
States:
STATE_SYSTEM_PROTECTED ; IA2_STATE_SINGLE_LINE ; STATE_SYSTEM_READONLY if readonly, otherwise IA2_STATE_EDITABLE |
Control Type:
Edit Localized Control Type:
"password" Other properties: Set
isPassword to 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 Radio Button state) |
radio role, with the aria-checked state set to "true" if the element's checkedness is true, or "false" otherwise. With aria-setsize value reflecting number of type=radio input elements within the radio button group and aria-posinset value reflecting the elements position within the radio button group. |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Radio Button state and parent is a menu) |
menuitemradio role, with the aria-checked state set to "true" if the element's checkedness is true, or "false" otherwise |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Range state) |
slider role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Reset Button state) |
button role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Search state with no suggestions source element) |
searchbox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Submit Button state) |
button role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Telephone state with no suggestions source element) |
textbox role |
Use WAI-ARIA mapping
Object attributes:
text-input-type:telephone |
Use WAI-ARIA mapping
Localized Control Type:
"telephone" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Text state with no suggestions source element) |
textbox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Text, Search, Telephone, URL, or E-mail states with a suggestions source element) |
combobox role, with the aria-owns property set to the same value as the list attribute |
Use WAI-ARIA mapping
Object attributes: text-input-type:as per input type |
Use WAI-ARIA mapping
Other properties:
ControllerFor points to the suggestions source element
|
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Time state) |
No corresponding role |
Role:
ROLE_SYSTEM_SPINBUTTON if implemented as a simple widget; ROLE_SYSTEM_GROUPING with child controls mapped as appropriate if implemented as a complex widget
Object attributes:
text-input-type:time
|
Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composit of multiple spinners.
|
AXRole:
AXTimeField
AXSubrole:
(nil)
AXRoleDescription:
"time field"
|
|||
input (type attribute in the URL state with no suggestions source element) |
textbox role |
Use WAI-ARIA mapping
Object attributes:
text-input-type:url
|
Use WAI-ARIA mapping
Localized Control Type:
"url" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
input (type attribute in the Week state) |
No corresponding role |
Role:
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 composit of multiple spinners.
|
Role:
ATK_ROLE_CALENDAR
|
AXRole:
AXTextField
AXSubrole:
(nil)
AXRoleDescription:
"text field"
|
||
ins |
No corresponding role |
No accessible object. Styles used are mapped into text attributes on its text container.
|
No 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.
|
AXRole:
AXGroup
AXSubrole:
AXInsertStyleGroup
AXRoleDescription:
"group"
|
||
kbd |
No corresponding role |
No 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.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
keygen |
listbox role, with the aria-multiselectable property set to "false" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
label |
No corresponding role |
Roles:
ROLE_SYSTEM_STATICTEXT ; IA2_ROLE_LABEL
Relations:
IA2_RELATION_LABEL_FOR with a form control that is child to the label or referred to by the label element's for attribute. The associated form element has IA2_RELATION_LABELLED_BY pointing to the label .
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text
Other properties: When the
label element contains an input element, the LabeledBy property for the input element points to the UIA element for the label element.
When the |
Role:
ATK_ROLE_LABEL
Relations:
ATK_RELATION_LABEL_FOR for a child form element or form element
referred by for attribute. Note,
related form element provides ATK_RELATION_LABELLED_BY
pointing to the label.
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
legend |
No corresponding role |
Roles:
ROLE_SYSTEM_STATICTEXT ; IA2_ROLE_LABEL
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text
Other properties: The
LabeledBy property for the parent fieldset points to the UIA element for the legend element.
|
Role :
ATK_ROLE_LABEL
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
li (parent is an ol or ul ) |
listitem role with aria-setsize value reflecting number of li elements within the parent ol or ul and aria-posinset value reflecting the li elements position within the set. |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
li (parent is a menu ) |
listitem role with aria-setsize value reflecting number of li elements within the parent menu and aria-posinset value reflecting the li elements position within the set. |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
link |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
main |
main role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
map |
No corresponding role |
Not mapped if used as an image map. Otherwise,
Role:
IA2_ROLE_TEXT_FRAME
|
Not mapped |
Not mapped if used as an image map, otherwise:
Role:
ATK_ROLE_STATIC
|
Not mapped |
||
mark |
No corresponding role | Role:
IA2_ROLE_TEXT_FRAME Object attributes: Styles used are mapped to text attributes on the accessible object. Interfaces: |
Control Type:
Text Localized Control Type:
"mark" |
Role: Object attributes: Styles used are mapped to text attributes on the accessible object. Interfaces:
AtkText ; AtkHypertext |
AXRole:
AXGroup AXSubrole:
(nil) AXRoleDescription: "highlighted content" |
||
math |
math role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
menu (type attribute in the popup menu state) |
menu role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
menuitem (type attribute in the Checkbox state) |
menuitemcheckbox role, with the aria-checked state set to "true" if the checked attribute is present, and "false" otherwise |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
menuitem (type attribute in the Command state) |
menuitem role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
menuitem (type attribute in the Radio state) |
menuitemradio role, with the aria-checked state set to "true" if the checked attribute is present, and "false" otherwise |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
meta |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
meter |
No corresponding role |
Role:
IA2_ROLE_LEVEL_BAR
|
?
|
Role:
ATK_ROLE_LEVEL_BAR
Interfaces:
AtkValue
Properties:
AtkRange |
?
|
See GitHub issue #2. | |
nav |
navigation role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
noscript |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
object |
No corresponding role |
Depends 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.
|
Depends on format of data file. If contains a plugin then
Role:
ATK_ROLE_EMBEDDED
|
Depends on format of data file. | ||
ol |
list role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
optgroup |
group role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
option (in a list of options or represents a suggestion in a datalist ) |
option role, with the aria-selected state set to "true" if the element's selectedness is true, or "false" otherwise. |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
output |
status role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping
Localized Control Type:
"output" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
p |
No corresponding role |
Roles:
ROLE_SYSTEM_TEXT ; IA2_ROLE_PARAGRAPH
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text
|
Role:
ATK_ROLE_PARAGRAPH
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
param |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
picture |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
pre |
No corresponding role |
Roles:
ROLE_SYSTEM_GROUPING ; IA2_ROLE_SECTION
Styles used are mapped to text attributes on the parent accessible object.
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text
Localized Control Type:
"pre" |
Role:
ATK_ROLE_SECTION
Styles used are mapped to text attributes on the accessible object.
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
progress |
progressbar role, with, if the progress bar is determinate, the aria-valuemax property set to the maximum value of the progress bar, the aria-valuemin property set to zero, and the aria-valuenow property set to the current value of the progress bar |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
q |
No corresponding role |
Roles:
ROLE_SYSTEM_TEXT ; IA2_ROLE_TEXT_FRAME
Children:
ROLE_SYSTEM_TEXT wrapped by quote marks using ROLE_SYSTEM_STATICTEXT
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text
Localized Control Type:
"q" |
Role:
ATK_ROLE_STATIC
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
rb |
No corresponding role | ? | ? | ? |
AXRole:
AXGroup
AXSubrole:
AXRubyBase
AXRoleDescription:
"group"
|
||
rp |
No corresponding role |
No accessible object. No child elements are exposed if
ruby is supported by the browser.
|
No accessible object.
|
No accessible object. No child elements are
exposed if
ruby is supported by the browser.
|
Not mapped | ||
rt |
No corresponding role |
No accessible object. No child elements are exposed if
ruby is supported by the browser.
|
No accessible object.
|
No accessible object.
|
AXRole:
AXGroup
AXSubrole:
AXRubyText
AXRoleDescription:
"group"
|
||
rtc |
No corresponding role | ? | ? | ? | ? | ||
ruby |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT ; IA2_ROLE_TEXT_FRAME
|
Control Type:
Text
Localized Control Type:
"ruby" |
Role:
ATK_ROLE_STATIC
|
AXRole:
AXGroup
AXSubrole:
AXRubyInline
AXRoleDescription:
"group"
|
||
s |
No corresponding role |
No accessible object.
Text attributes:
text-line-through-style:solid 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. Exposed as
"text-line-through-style:solid" text attribute on the text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
samp |
No corresponding role |
No accessible object. Styles are mapped into text attributes on its 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. Styles are mapped into
text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
script |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
section |
region role if the section element has an accessible name. Otherwise, no corresponding role.
|
If the
section element has an accessible name, use WAI-ARIA mapping. Otherwise:
Roles:
ROLE_SYSTEM_GROUPING ; IA2_ROLE_SECTION
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
If the
section element has an accessible name:Control Type:
Group Localized Control Type:
"section" (all lower-case)Landmark Type:
Custom Localized Landmark Type:
"region" (all lower-case)Otherwise:
Control Type:
Group |
If the
section element has an accessible name, use WAI-ARIA mapping. Otherwise:
Role:
ATK_ROLE_SECTION
Interfaces:
AtkText ; AtkHypertext
|
If the
section element has an accessible name, use WAI-ARIA mapping. Otherwise:
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
select
(with a multiple attribute or
size attribute having value greater than 1 )
|
listbox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
select
(with NO multiple attribute
and NO size attribute having value greater than 1 )
|
combobox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
small |
No corresponding role |
No accessible object.
Text attributes:
font-size on the text container
|
No accessible object. Exposed by
FontSize attribute of the TextRange Control Pattern implemented on a parent accessible object.
|
No accessible object. Exposed as "font-size"
text attribute on the text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
source |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
span |
No corresponding role | Not mapped |
Control Type:
Group
|
Not mapped |
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
strong |
No corresponding role |
No accessible object. Styles used are mapped into text attributes on its 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. Styles used are mapped
into text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
style |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
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 tree and hide its presence from assistive technologies.
|
|
sub |
No corresponding role |
No accessible object.
Text attributes:
text-position:sub on the text container
|
No accessible object. Exposed by
IsSubscript attribute of the TextRange Control Pattern implemented on a parent accessible object.
|
Role:
ATK_ROLE_SUBSCRIPT
|
AXRole:
AXGroup
AXSubrole:
AXSubscriptStyleGroup
AXRoleDescription:
"group"
|
||
summary |
No corresponding role |
Role:
ROLE_SYSTEM_PUSHBUTTON
States:
STATE_SYSTEM_EXPANDED / STATE_SYSTEM_COLLAPSED
Actions:
expand / collapse
|
Control Type:
Button
Control Pattern:
ExpandCollapse
|
Role:
ATK_ROLE_PUSHBUTTON
|
AXRole:
AXDisclosureTriangle
AXSubrole:
(nil)
AXRoleDescription:
"disclosure triangle"
|
||
sup |
No corresponding role |
No accessible object.
Text attributes:
text-position:super on the text container
|
No accessible object. Exposed by
IsSuperscript attribute of the TextRange Control Pattern implemented on a parent accessible object.
|
Role:
ATK_ROLE_SUPERSCRIPT
|
AXRole:
AXGroup
AXSubrole:
AXSuperscriptStyleGroup
AXRoleDescription:
"group"
|
||
svg |
graphics-document role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
table |
table role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
tbody |
rowgroup role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
td (ancestor table element has table role) |
cell role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
td (ancestor table element has grid role) |
gridcell role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
template |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
textarea |
textbox role, with the aria-multiline property set to "true" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
tfoot |
rowgroup role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
th (is neither column header nor row header, and ancestor table element has table role) |
cell role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
th (is neither column header nor row header, and ancestor table element has grid role) |
gridcell role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
th (is a column header) |
columnheader role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
th (is a row header) |
rowheader role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
thead |
rowgroup role |
Use WAI-ARIA mapping |
Control Type:
Header
|
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
time |
No corresponding role |
Role:
IA2_ROLE_TEXT_FRAME
Object attributes:
xml-roles:time
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text
Localized Control Type:
"time"
Note: create a separate UIA Control of type Text. This is different from most UIA text mappings, which only create ranges in the page text pattern.
|
Role:
Object attributes:
xml-roles:time
Interfaces:
AtkText ; AtkHypertext |
AXRole:
AXGroup
AXSubrole:
AXTimeGroup
AXRoleDescription:
"group"
|
||
title |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
tr |
row role |
Use WAI-ARIA mapping |
Generally not mapped. If the element must be included per Core-AAM Section 5.1.2, map as Group . |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
track |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
u |
No corresponding role |
No accessible object. Exposed as "text-underline-style:solid" text attribute on its text container.
|
No accessible object. Exposed by
UnderlineStyle attribute of the TextRange Control Pattern implemented on a parent accessible object.
|
No accessible object. Exposed as
"text-underline-style:solid" text attribute on its text container.
|
? | ||
ul |
list role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
var |
No corresponding role |
No accessible object. Styles used are mapped to text attributes on its 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. Styles used are mapped to text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
||
video |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
|
Control Type:
Group
Localized Control Type:
"group" Note: 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, MAY be present in the accessibility tree and marked as hidden or off-screen.
|
Role:
ATK_ROLE_VIDEO
|
AXRole:
AXGroup
AXSubrole:
AXVideo
AXRoleDescription:
"video playback"
Note: If the
controls attribute is present, UI controls (e.g. play, volume) are exposed as descendants of an accessible object with a role of toolbar , and mapped as appropriate for the type of control (e.g. button or slider ). |
||
wbr |
No corresponding role |
If a line break is added, expose it with
IAccessibleText on the text container
|
Not mapped |
A line break if added is exposed via Text interface on its text container
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
Notes:
Attribute | Element(s) | WAI-ARIA | MSAA + IAccessible2 | UIA | ATK | AX | Comments |
---|---|---|---|---|---|---|---|
abbr |
th |
Not mapped |
Object attributes:
"abbr" until child
abbr element is provided
|
Not mapped |
Object attributes:
"abbr" until child
abbr element is provided
|
AXDescription: <value> |
|
accept |
input |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
accept-charset |
form |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
accesskey |
HTML elements |
Not mapped |
a key binding accessible by
accKeyboardShortcut
and IAccessibleAction::keyBinding
|
Properties:
AccessKey: <value>
|
atk_action_get_keybinding
|
AXAccessKey: <value> |
|
action |
form |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
allowfullscreen |
iframe |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
alt |
area ; img ; input |
Not mapped |
Used for accessible name, exposed via accName
|
Properties:
Name
|
Used for accessible name, exposed via
atk_object_get_name
|
AXDescription: <value> |
|
async |
script |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
autocomplete "on|off" |
form |
Note: the ARIA attribute and the HTML attribute have disparate features. |
States:
STATE_SUPPORTS_AUTOCOMPLETION on text form controls unitl the value is overriden by control
|
Not mapped |
States:
ATK_STATE_SUPPORTS_AUTOCOMPLETION
on text form controls unitl the value is overriden by control
|
Not mapped |
If the element includes both autocomplete and aria-autocomplete attributes with valid values, User Agents MUST expose only the autocomplete attribute value. |
autocomplete |
input ; select ; textarea |
Note: the ARIA attribute and the HTML attribute have disparate features. |
States:
STATE_SUPPORTS_AUTOCOMPLETION
|
Not mapped |
States:
ATK_STATE_SUPPORTS_AUTOCOMPLETION
|
Not mapped |
If the element includes both autocomplete and aria-autocomplete attributes with valid values, User Agents MUST expose only the autocomplete attribute value. |
autofocus |
button ; input ; keygen ; select ; textarea |
Not mapped - aria-flowto ? |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
autoplay |
audio ; video |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
challenge |
keygen |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
charset |
meta |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
charset |
script |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
checked (if present) |
menuitem ; input |
aria-checked (state)="true" |
States:
STATE_SYSTEM_CHECKED
|
Expose as ToggleState property in Toggle control pattern |
States:
ATK_STATE_CHECKED
|
AXValue: 1 |
If the element includes both the checked attribute and the aria-checked attribute with a valid value, User Agents MUST expose only the checked attribute value. |
checked (if absent) |
menuitem ; input |
aria-checked (state)="false" |
Not mapped |
Expose as ToggleState property in Toggle control pattern. |
Not mapped |
AXValue: 0 |
|
cite |
blockquote ; del ; ins ; q |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
AXURL: <value> |
|
class |
HTML elements | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
cols |
textarea |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
AXRangeForLine: <value> |
Not mapped |
colspan |
td ; th |
aria-colspan |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
|
content |
meta |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
contenteditable |
HTML elements | ? |
States:
IA2_STATE_EDITABLE on this and every nested text accessible object
Interfaces:
IAccessibleEditableText on this and every nested text accessible object
|
Control Pattern:
TextEdit
|
States:
ATK_STATE_EDITABLE on this and every nested text accessible object
Interfaces:
AtkEditableText on this and every nested text accessible object
|
? | If the element has the contenteditable attribute and aria-readonly="true ", User Agents MUST expose only the contenteditable state. |
contextmenu |
HTML elements | aria-haspopup ="true" |
Linked menu is available in browser's context menu on the element
|
Expose state of the pop-up activities in the ExpandCollapseState property in the ExpandCollapse control pattern. |
Linked menu is available in browser's context menu on the element
|
Actions:
AXShowMenu ; AXPress
|
|
controls |
audio ; video |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Controls exposed as AXToolbar |
|
coords |
area |
Not mapped |
Defines 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
|
? | |
crossorigin |
audio ; img ; link ; script ; video |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
data |
object |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
datetime |
del ; ins |
Not mapped |
Object attributes:
datetime: <value>
|
Not mapped |
Object attributes:
datetime: <value>
|
AXDateTimeValue: <value> |
|
datetime |
time |
Not mapped |
Object attributes:
datetime: <value> |
Properties:
FullDescription: <value> |
Object attributes:
datetime: <value> |
AXDateTimeValue: <value> |
|
default |
track |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
defer |
script |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
dir |
HTML elements | Not mapped |
Exposed as "writing-mode" text attribute on the text container.
|
Exposed by
TextFlowDirections attribute of the TextRange Control Pattern implemented on a parent accessible object.
|
Exposed as "writing-mode" text attribute on the text container.
|
? | |
dirname |
input ; textarea |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
disabled |
button ; fieldset ; input ; keygen ; menuitem ; optgroup ; option ; select ; textarea |
aria-disabled ="true" |
States:
STATE_SYSTEM_UNAVAILABLE
|
States:
No interactive states like
ATK_STATE_FOCUSABLE
|
AXEnabled: NO |
If the element includes both the disabled attribute and the aria-disabled attribute with a valid value, User Agents MUST expose only the disabled attribute value. |
|
download |
a ; area |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
draggable |
HTML elements | ? |
Object attributes:
draggable:true
|
Not mapped |
Object attributes:
draggable:true
|
? | |
dropzone |
HTML elements | ? | Not mapped |
Not mapped |
Not mapped |
? | |
enctype |
form |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
for |
label |
Not mapped |
Used for accessible name
Relations:
IA2_RELATION_LABEL_FOR and IA2_RELATION_LABEL_BY relations between
label and referred element
|
Not mapped |
Used for accessible name
Relations:
ATK_RELATION_LABEL_FOR and ATK_RELATION_LABEL_BY relations between
label and referred element
|
Not mapped |
|
for |
output |
Not mapped |
Relations:
IA2_RELATION_CONTROLLED_BY with an element pointed by the attribute. Paired element exposes IA2_RELATION_CONTROLLER_FOR relation.
|
Not mapped |
Relations:
ATK_RELATION_CONTROLLED_BY with an element pointed by the attribute.
Paired element exposes ATK_RELATION_CONTROLLER_FOR relation.
|
Not mapped |
|
form |
button ; fieldset ; input ; keygen ; label ; object ; output ; select ; textarea |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
formaction |
button ; input |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
formenctype |
button ; input |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
formmethod |
button ; input |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
formnovalidate |
button ; input |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
formtarget |
button ; input |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
headers |
td ; th |
? |
Links the cell to its header cells. Exposed via
IAccessibleTableCell::rowHeaderCells and IAccessibleTableCell::columnHeaderCells .
|
Links the cell to its header cells. Exposed via
Table.ItemColumnHeaderItems and Table.ItemRowHeaderItems .
|
Links the cell to its row and column header cells
(note, only one row and one column header cells can be exposed because of API restrictions).
See
atk_table_get_row_header and atk_table_get_column_header .
|
Expose via AXColumnHeaderUIElements and AXRowHeaderUIElements |
|
height |
canvas ; embed ; iframe ; img ; input ; object ; video |
Not mapped |
Defines an accessible object's height (
IAccessible::accLocation )
|
Defines an accessible object's height (
BoundingRectangle )
|
Defines an accessible object's height (
atk_component_get_size )
|
? | |
high |
meter |
? | Not mapped |
RangeValue.Maximum |
Not mapped |
? | |
href |
a ; area |
Not mapped |
Creates a link accessible object. For details, refer to
a and area element mappings. The value of the href attribute is stored in the Value.Value UIA property.
|
AXURL: <value> |
|||
href |
link |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
hreflang |
a ; area ; link |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
? | |
http-equiv |
meta |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
icon |
menuitem |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
id |
HTML elements | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
indeterminate [IDL] |
HTML elements; menuitem ; input |
aria-checked (state)="mixed" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
If the element has the indeterminate [IDL] set and the aria-checked attribute set, User Agents MUST expose only theindeterminate [IDL] state. |
ismap |
img |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
keytype |
keygen |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
kind |
track |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
label |
menuitem ; menu ; optgroup ; option ; track |
? |
Associates the accessible name
|
The target element of the label attribute has a LabeledBy property pointing to the element with the label atrribute. Participates in name computation |
Associates the accessible name
|
? | See Also: Accessible Name and Description: Computation and API Mappings 1.1 |
lang |
HTML elements | Not mapped |
Exposed as "language" text attribute on the text container
|
The 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
|
AXLanguage: <value> |
|
list |
input
|
aria-controls
|
IA2_RELATION_CONTROLLER_FOR pointing to a datalist element referred by the list attribute.
|
ControllerFor pointing to a datalist element referred by the list attribute.
|
ATK_RELATION_CONTROLLER_FOR pointing to a datalist element referred by the list attribute.
|
Refer to datalist and input elements mapping.
|
|
longdesc |
img , frame , iframe |
Not mapped |
Actions:
showlongdesc (exposed on
img only)
|
Not mapped |
Actions:
showlongdesc (exposed on
img only)
|
Not mapped |
IE 8+ populates the accdescription with the value of the longdesc attribute. This is brittle as it is overwritten when aria-describedby is used. |
loop |
audio ; video |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
low |
meter |
? | Not mapped |
RangeValue.Minimum |
Not mapped |
? | |
max |
input |
? |
Exposed as
IAccessibleValue::maximumValue if the element
implements the interface
|
RangeValue.Maximum |
Exposed as
atk_value_get_maximum_value if the element
implements the AtkValue interface
|
AXMaxValue: <value> |
|
max |
meter ; progress |
? |
Exposed as
IAccessibleValue::maximumValue if the element
implements the interface
|
RangeValue.Maximum |
Exposed as
atk_value_get_maximum_value if the element
implements the AtkValue interface
|
AXMaxValue: <value> |
|
maxlength |
input ; textarea |
? | Not mapped |
Not mapped |
Not mapped |
? | |
media |
link ; source ; style |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
method |
form |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
min |
input |
? |
Exposed as
IAccessibleValue::minimumValue if the element
implements the interface
|
RangeValue.Minimum |
Exposed as
atk_value_get_minimum_value if the element
implements the AtkValue interface
|
AXMinValue: <value> |
|
min |
meter |
? |
Exposed as
IAccessibleValue::minimumValue if the element
implements the interface
|
RangeValue.Minimum |
Exposed as
atk_value_get_minimum_value if the element
implements the AtkValue interface
|
AXMinValue: <value> |
|
multiple |
input |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
multiple |
select |
aria-multiselectable ="true" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
|
muted |
audio ; video |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
name |
button ; fieldset ; input ; keygen ; output ; select ; textarea |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
name |
form |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
name |
iframe ; object |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
name |
map |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
name |
meta |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
name |
param |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
novalidate |
form |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
open |
details |
aria-expanded ="true | false" |
STATE_SYSTEM_EXPANDED STATE_SYSTEM_COLLAPSED |
ExpandCollapsePattern
|
States:
ATK_STATE_COLLAPSED or ATK_STATE_EXPANDED depending
on the attribute value
|
AXExpanded: YES|NO |
Set properties on the summary element. |
open |
dialog |
aria-expanded ="true | false" |
STATE_SYSTEM_EXPANDED STATE_SYSTEM_COLLAPSED |
ExpandCollapsePattern
|
States:
ATK_STATE_COLLAPSED or ATK_STATE_EXPANDED depending
on the attribute value
|
AXExpanded: YES|NO |
|
optimum |
meter |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
pattern |
input |
Not mapped |
States:
IA2_STATE_INVALID_ENTRY if value doesn't meet the pattern
|
States:
IsDataValidForForm if value doesn't meet the pattern
|
States:
ATK_STATE_INVALID_ENTRY if value doesn't meet the pattern
|
? | |
placeholder |
input ; textarea |
aria-placeholder |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
When 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. |
poster |
video |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
preload |
audio ; video |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
radiogroup |
menuitem |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
readonly |
input ; textarea |
aria-readonly="true" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
|
rel |
a ; area ; link |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
required |
input ; select ; textarea |
aria-required |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
|
reversed |
ol |
Not mapped |
Reverses the numbering of the child list item accessible objects.
|
Reverses the order of the child list items in the accessibility tree and reverses the numbering of the child list items. |
Reverses the numbering of the child list item accessible objects.
|
? | |
rows |
textarea |
? | Not mapped |
Not mapped |
Not mapped |
? | |
rowspan |
td ; th |
aria-rowspan |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
|
sandbox |
iframe |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
scope |
th |
? |
Defines whether the element is a row or column header (refer to
th element)
|
Defines whether the element is a row or column header (refer to
th element)
|
Defines whether the element is a row or column header (refer to
th element)
|
? | |
selected |
option |
aria-selected="true" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
|
shape |
area |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
size |
input ; select |
? |
If greater than 1, then creates a listbox accessible object. Refer to
select element for details.
|
If greater than 1, then creates a
List accessible object. Refer to select element for details.
|
If greater than 1, then creates a listbox accessible object. Refer to
select element for details.
|
? | |
sizes |
link |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
span |
col ; colgroup |
? |
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
|
? | |
spellcheck |
HTML elements | Not mapped |
Mapped to "invalid" text attribute on the text container
|
Mapped to
SpellingError AnnotationTypes text attribute on the text range
|
Mapped to "invalid" text attribute on the text container
|
? | |
src |
audio ; embed ; iframe ; img ; input ; script ; source ; track ; video |
Not mapped |
Object attributes:
src on
img only
|
Object attributes:
src on
img only
|
Object attributes:
src on
img only
|
? | |
srcdoc |
iframe |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
srclang |
track |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
start |
ol |
Not mapped |
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 |
input |
Not mapped |
Not mapped |
If the input is in the Range state, set both RangeValue.SmallChange and RangeValue.LargeChange to the value of step |
Exposed as
atk_value_get_minimum_increment if the element
implements the AtkValue interface
|
? | |
style |
HTML elements | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
tabindex |
HTML elements | Not mapped |
States:
STATE_SYSTEM_FOCUSABLE ; also set STATE_SYSTEM_FOCUSED when the element has DOM focus
|
States:
IsKeyboardFocusable ; also set HasKeyboardFocus when the element has DOM focus
|
States:
ATK_STATE_FOCUSABLE ; also set ATK_STATE_FOCUSED when the element has DOM focus
|
? | |
target |
a ; area |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
target |
base |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
target |
form |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
title |
HTML elements | ? |
Associates the accessible name or if it was provided otherwise then
accessible description
|
Associates the accessible name or if it was provided otherwise then
accessible description
|
Associates the accessible name or if it was provided otherwise then
accessible description
|
AXHelp: <value> |
|
title |
abbr ; dfn |
Not mapped |
Associates the accessible name
|
Associates the accessible name
|
Associates the accessible name
|
AXExpandedTextValue: <value> |
|
title |
menuitem |
? |
Associates the accessible name or if it was provided otherwise then
accessible description
|
Associates the accessible name or if it was provided otherwise then
accessible description
|
Associates the accessible name or if it was provided otherwise then
accessible description
|
AXHelp: <value> |
|
title |
link |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
title |
link ; style |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
translate |
HTML elements | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
type |
a ; link |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
type |
button |
? |
submit type may be a default button in the form
|
submit type may be a default button in the form
|
submit type may be a default button in the form
|
? | |
type |
embed ; object ; script ; source ; style |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
type |
input |
? | ? | ||||
type |
menu |
? | Not mapped |
Not mapped |
Not mapped |
? | |
type |
menuitem |
? |
Defines the accessible role and states, refer to
type="
command "
|
Defines the accessible role and states, refer to
type="
command "
|
Defines the accessible role and states:
type="
command "
|
? | |
type |
ol |
None |
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 object for 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.
|
typemustmatch |
object |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
usemap |
img |
Not mapped |
Responsible for image map creation, refer to
img element
|
Responsible for image map creation, refer to
img element
|
Responsible for image map creation, refer to
img element
|
? | |
value |
button ; option |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
value |
input |
? |
Associates the accessible value for entry type input elements
and accessible name for button type input elements
|
Associates the accessible value for entry type input elements
and accessible name for button type input elements
|
Associates the accessible value for entry type input elements
and accessible name for button type input elements
|
AXValue: <value> |
|
value |
li |
Not mapped |
Exposed 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 iteger, 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:
AXLlistMarker
AXSubrole:
(nil)
AXRoleDescription:
list marker
|
|
value |
meter ; progress |
? |
Exposed as
IAccessibleValue::currentValue
|
Exposed as
Value.Value
|
Exposed as
atk_value_get_current_value
|
AXValue: <value> |
|
value |
param |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
width |
canvas ; embed ; iframe ; img ; input ; object ; video |
Not mapped |
Defines an accessible object's width (
IAccessible::accLocation )
|
Defines an accessible object's width (
BoundingRectangle )
|
Defines an accessible object's width (
atk_component_get_size )
|
AXSize: w=n |
|
wrap |
textarea |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
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.
input type="text"
, input type="password"
, input type="search"
, input type="tel"
, input type="url"
and textarea
Elementinput type="text"
, input type="password"
, input type="search"
, input type="tel"
, input type="email"
, input type="url"
and textarea
Element Accessible Name Computationaria-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 1.1. label
element(s) accessible name(s) - if more than one label is associated; concatenate by DOM order, delimited by spaces.title
attributeinput type="text"
, input type="password"
, input type="search"
, input type="tel"
, input type="email"
, input type="url"
and textarea
Element Accessible Description Computationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible name.input type="button"
, input type="submit"
and input type="reset"
input type="button"
, input type="submit"
and input type="reset"
Accessible Name Computationaria-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 1.1.value
attributeinput type=submit
: If steps 1 to 2 do not yield a usable text string, the accessible name is a localized string of the word "submit"input type=reset
: If steps 1 to 2 do not yield a usable text string, the accessible name is a localized string of the word "reset"title
attributeinput type="button"
, input type="submit"
and input type="reset"
Accessible Description Computationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.value
attribute if it wasn't used as the accessible nametitle
attribute if it wasn't used as the accessible nameinput type="image"
input type="image"
Accessible Name Computationaria-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 1.1.alt
attributevalue
attribute title
attributeinput type="image"
Accessible Description Computationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible name.button
Elementbutton
Element Accessible Name Computationbutton
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 1.1. button
element subtreetitle
attributebutton
Element Accessible Description Computationaria-describedby
title
attribute if it wasn't used as the accessible name.fieldset
and legend
Elementsfieldset
Element Accessible Name Computationfieldset
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 1.1. legend
subtreetitle
attributefieldset
Element Accessible Description Computationfieldset
element has an aria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible nameoutput
Elementoutput
Element Accessible Name Computationoutput
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 1.1. output
element subtreetitle
attributeoutput
Element Accessible Description Computationaria-describedby
title
attribute if it wasn't used as the 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 1.1. label
elementtitle
attributearia-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible name.summary
Elementsummary
Element Accessible Name Computationsummary
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 1.1. summary
element subtreetitle
attributesummary
Element Accessible Description Computationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.summary
element subtree if not used as the accessible nametitle
attribute if it wasn't used as the accessible namefigure
and figcaption
Elementsfigure
Element Accessible Name Computationfigure
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 1.1. figcaption
subtreetitle
attributefigure
Element Accessible Description Computationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible nameimg
Elementimg
Element Accessible Name Computationimg
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 1.1. alt
attributetitle
attributeimg
Element Accessible Description Computationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible nametable
Elementtable
Element Accessible Name Computationaria-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 1.1. caption
elementtitle
attributetable
Element Accessible Description Computationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.caption
element if it wasn't used as the accessible nametitle
attribute if it wasn't used as the accessible namea
Elementa
Element Accessible Name Computationa
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 1.1.
a
element subtreetitle
attributea
Element Accessible Description Computationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible nameiframe
Elementiframe
Element Accessible Name Computationaria-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 1.1.title
attributeThe 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.
iframe
Element Accessible Description Computationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible namearia-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 1.1.title
attributearia-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible nameabbr
, 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 1.1.title
attributearia-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible namesummary
and details
ElementsThe summary
element should be focusable by default.
The details
element should not focusable by default.
Pressing the spacebar or enter key when the summary
element has focus will show the details
element content if the content is hidden. If the details
element content is showing and the summary
element has focus, pressing the spacebar or enter key will hide the details element content.
The summary
element should be mapped to a disclosure triangle role in accessibility APIs that have such a role. For example the Mac accessibility API includes the AXDisclosureTriangle
role. In accessibility APIs that do not have such a fine grained role, the summary
element should be mapped to a button
role. The role mapping table contains recommended mappings for the summary element.
The default accessible name for the summary
element is the text content of the summary
element.
When the details
element content is hidden, the state of the content should be reflected by an accessible state or property.
Example 1: In the Mac accessibility API on the summary
element (AXDisclosureTriangle
), set AXExpanded
property to NO
. When the details
element content is shown, on the summary
element (AXDisclosureTriangle
), set theAXExpanded
property to YES
. The hidden and shown states of the details
element content is reflected by the absence or presence of the open
attribute.
Example 2: In the IA2 accessibility API on the summary
element (ROLE_SYSTEM_PUSHBUTTON
), set STATE_SYSTEM_COLLAPSED
. When the details
element content is shown, on the summary
element (ROLE_SYSTEM_PUSHBUTTON
), set STATE_SYSTEM_EXPANDED
. The hidden and shown states of the details
element content is reflected by the absence or presence of the open
attribute.
figure
and figcaption
Elementsto do
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.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 and currently under contract number HHSP23301500054C. 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.