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-aam-1.2]]] and the [[[accname-aam-1.1]]] 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.
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 specification defines how HTML user agents respond to and expose [=role=], [=state=] and [=ARIA/property=] information provided for Web content. Unless indicated otherwise, an HTML element or attribute with default [[[WAI-ARIA]]] semantics must be exposed to the platform accessibility APIs according to the relevant WAI-ARIA mappings defined in the [[[core-aam-1.2]]] ([[core-aam-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 [[[accname-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-aam-1.2]]].
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.
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-aam-1.2]]].
Where the host language is [[HTML]], user agents MUST conform to Conflicts between native markup semantics and WAI-ARIA in the [[[core-aam-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]].
Element | [[wai-aria-1.2]] | 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` (no `href` attribute) | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`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
|
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
|
AXRole: `AXGroup`
AXSubrole: `(nil)`
AXRoleDescription: `"group"`
|
||
`address` | `group` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`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) | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`article` | `article` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`aside` (scoped to the `body` or `main` element) | `complementary` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`aside` (scoped to a sectioning content element) | `complementary` role if the `aside` element has an accessible name. Otherwise, `generic` role. | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
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`).
|
||
autonomous custom element | If the author assigned a conforming ARIA role using the `role` attribute, map to that role. Otherwise, the `generic` role. | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`b` | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Exposed by platform specific bold font weight text styles. | |
`base` | No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
`bdi` | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
IA2/ATK: May affect on "writing-mode" text attribute on its text container. | |
`bdo` | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
IA2/ATK: Exposed as "writing-mode" text attribute on its text container. | |
`blockquote` | `blockquote` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`body` | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`br` | No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
May be exposed as '\n' character by the platform interface. | |
`button` | `button` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
A `button`'s mapping will change if the `aria-pressed` or `aria-haspopup` attributes are specified. | |
`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` | `caption` role |
Use WAI-ARIA mapping
Relations:
`IA2_RELATION_LABEL_FOR` with parent `table`
|
Use WAI-ARIA mapping
Other properties: The `LabeledBy` property for the parent `table` element points to the
UIA element for the `caption` element.
|
Use WAI-ARIA mapping
Relations:
`ATK_RELATION_LABEL_FOR` with parent `table`
|
Use WAI-ARIA mapping
Relations:
`ATK_RELATION_LABEL_FOR` with parent `table`
|
If a descendant of a `table`, the first instance of a `caption` element will provide the `table` its accessible name. | |
`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` | `code` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`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` | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`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` | `deletion` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`details` | `group` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping
Localized Control Type: `"details"`
|
Use WAI-ARIA mapping
Relations: `"ATK_RELATION_DETAILS_FOR"`
|
Use WAI-ARIA mapping |
||
`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 |
See also the `dialog` element's `open` attribute. | |
`div` | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`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` | `emphasis` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`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` | `group` role |
Role: Use WAI-ARIA mapping
Relations: `IA2_RELATION_LABELLED_BY` with child `legend` element
|
Role: Use WAI-ARIA mapping
|
Role: Use WAI-ARIA mapping
Relations: `ATK_RELATION_LABELLED_BY` with child `legend` element
|
Role: Use WAI-ARIA mapping
AXSubrole: `AXFieldset`
AXDescription: value from child `legend` subtree
|
||
`figcaption` | No corresponding role |
Roles: `ROLE_SYSTEM_TEXT`; `IA2_ROLE_CAPTION`
Relations: `IA2_RELATION_LABEL_FOR` with parent `figure` element
|
Control Type: `Text`
|
Role: `ATK_ROLE_CAPTION`
Relations:
`ATK_RELATION_LABEL_FOR` with parent `figure` element
|
AXRole: `AXGroup`
AXSubrole: `(nil)`
AXRoleDescription: `"group"`
|
||
`figure` | `figure` role |
Role: Use WAI-ARIA mapping
Relations: `IA2_RELATION_LABELLED_BY` with child `figcaption` element
|
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
Relations: `ATK_RELATION_LABELLED_BY` with child `figcaption` element
|
AXRole: Use WAI-ARIA mapping
|
||
`footer` (scoped to the `body` element) | `contentinfo` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`footer` (scoped to the `main` element, a sectioning content element) | `generic` role | Use WAI-ARIA mapping |
Control Type: `Group`
Localized Control Type: `"footer"`
|
Role: `ATK_ROLE_FOOTER`
|
Use WAI-ARIA mapping |
If a `footer` is not scoped to the `body` element, do not expose the element as a `contentinfo` landmark. | |
`form` | `form` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping
If a `form` has no accessible name:
Role: `ATK_ROLE_FORM`
|
Use WAI-ARIA mapping |
If a `form` has no accessible name, do not expose the element as a landmark. | |
form-associated custom element | If the author assigned a conforming ARIA role using the `role` attribute, map to that role. Otherwise, the `generic` role. | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`h1`, `h2`, `h3`, `h4`, `h5`, and `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 |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`header` (scoped to the `main` element, or a sectioning content element) | `generic` role | Use WAI-ARIA mapping |
Control Type: `Group`
Localized Control Type: `"header"`
|
Role: `ATK_ROLE_HEADER`
|
Use WAI-ARIA mapping |
If a `header` is not scoped to the `body` element, do not expose the element as a `banner` landmark. | |
`hgroup` | `group` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
If an `hgroup` 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. | |
`hr` | `separator` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`html` | `document` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`i` | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Exposed by platform specific italic text styles. | |
`iframe` | No corresponding role |
Role: `IA2_ROLE_INTERNAL_FRAME`
|
Control Type: `Pane`
|
Role: `ATK_ROLE_INTERNAL_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) | 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 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 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"
|
If implemented as a button, use WAI-ARIA mapping for `button`.
If implemented as a textbox, use WAI-ARIA mapping for `textbox`.
|
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 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 composite of multiple spinners.
|
Role: `ATK_ROLE_CALENDAR`
|
AXRole: `AXTextField`
AXSubrole: `(nil)`
AXRoleDescription: `"text 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 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 composite 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 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-controls` 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 composite 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 composite of multiple spinners.
|
Role: `ATK_ROLE_CALENDAR`
|
AXRole: `AXTextField`
AXSubrole: `(nil)`
AXRoleDescription: `"text field"`
|
||
`ins` | `insertion` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`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"`
|
||
`label` | No corresponding role |
Roles: `ROLE_SYSTEM_STATICTEXT`; `IA2_ROLE_LABEL`
Relations:
`IA2_RELATION_LABEL_FOR` with a labelable element
that 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`.
|
Control Type: `Text`
Relations:
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.
|
Role: `ATK_ROLE_LABEL`
Relations:
`ATK_RELATION_LABEL_FOR` for a child labelable element or
labelable element referred by `for` attribute.
Note, related labelable element provides `ATK_RELATION_LABELLED_BY` pointing to the `label`.
|
AXRole: `AXGroup`
AXSubrole: `(nil)`
AXRoleDescription: `"group"`
|
||
`legend` | No corresponding role |
Roles: `ROLE_SYSTEM_STATICTEXT`; `IA2_ROLE_LABEL`
Relations: `IA2_RELATION_LABEL_FOR` with the parent `fieldset`
|
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`
Relations:
`ATK_RELATION_LABEL_FOR` with parent `fieldset` element
|
AXRole: `AXGroup`
AXSubrole: `(nil)`
AXRoleDescription: `"group"`
|
||
`li` | `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. | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
If `li` 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. | |
`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`
|
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`. |
||
`mark` | `mark` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`math` | See comments | See comments | See comments | See comments | See comments | Mapping for `math` is defined by MathML AAM 1.0. | |
`menu` | `list` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
The `menu` element is a semantic alternative to the `ul` element.
It has no implemented mappings or behavior that reflect the semantics of the ARIA
`menu` role.
Note obsolete `menuitem` element
and `menu` with `type` attribute.
|
|
`meta` | No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
`meter` | `meter` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`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
Relations: `IA2_RELATION_LABELLED_BY` with associated `label` element
|
Use WAI-ARIA mapping |
Use WAI-ARIA mapping
Relations: `ATK_RELATION_LABELLED_BY` with associated `label` element
|
Use WAI-ARIA mapping
| `AXDescription`: value from associated `label` element subtree. | |
`p` | `paragraph` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`param` | No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
`param` is obsolete in HTML | |
`picture` | No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
`pre` | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`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` | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
`::before` and `::after` CSS pseudo content is used by platforms to render the element's quotation marks. | |
`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"`
|
||
`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` | `deletion` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`samp` | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`script` | No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
`search` | `search` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`section` | `region` role if the `section` element has an accessible name. Otherwise, the `generic` role. | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`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 |
||
`slot` | No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
`small` | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Exposed by platform specific font size styles. | |
`source` | No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
`span` | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`strong` | `strong` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`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` | `subscript` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`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: `ROLE_TOGGLE_BUTTON`
Relations: `ATK_RELATION_DETAILS`
|
AXRole: `AXDisclosureTriangle`
AXSubrole: `(nil)`
AXRoleDescription: `"disclosure triangle"`
|
If a `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. | |
`sup` | `superscript` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`svg` | See comments | See comments | See comments | See comments | See comments | Mapping for `svg` is defined by [[[svg-aam-1.0]]]. See also Graphics Accessibility API Role Mappings | |
`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` or `treegrid` 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 not a column header, row header, column group header or row group 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 not a column header, row header, column group header or row group header, and ancestor `table` element has `grid` or `treegrid` role) | `gridcell` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`th` (is a column header or column group header) | `columnheader` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`th` (is a row header or row group 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 |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`time` | `time` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`title` | No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
A `title` element provides the accessible name for its document. | |
`tr` | `row` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
||
`track` | No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
||
`u` | `generic` role | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Exposed by platform specific underline text styles. | |
`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"`
|
Attribute | Element(s) | [[WAI-ARIA-1.2]] | 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 |
|
`allow` | `iframe` | 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>` | |
`as` | `link` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`async` | `script` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`autocapitalize` | HTML elements | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`autocomplete` | `form` |
Note: the ARIA attribute and the HTML attribute have disparate features. |
States:
`STATE_SUPPORTS_AUTOCOMPLETION` on text form controls until the value is overridden by control
|
Not mapped |
States:
`ATK_STATE_SUPPORTS_AUTOCOMPLETION` on text form controls until the value is overridden 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` and `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` | HTML elements | Not mapped | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Similar to `aria-flowto`. |
`autoplay` | `audio` and `video` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`blocking` | `link`; `script`; `style` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`charset` | `meta` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`checked` (if present) | `input` `type=checkbox` or `type=radio` | `aria-checked`="true" | Use WAI-ARIA mapping |
Property: `Toggle.ToggleState: On (1)` | Use WAI-ARIA mapping |
`AXValue: 1` | 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. |
`checked` (if absent) | `input` `type=checkbox` or `type=radio` | `aria-checked`="false" | Use WAI-ARIA mapping |
Property: `Toggle.ToggleState: Off (0)` | Use WAI-ARIA mapping |
`AXValue: 0` | 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. |
`cite` | `blockquote`; `del` and `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 |
|
`color` | `link` | 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` and `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 | Not mapped |
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. |
Role:
AXTextArea
Use WAI-ARIA mapping
|
If the element is set to `contenteditable` and `aria-readonly="true"`, User Agents MUST expose only the `contenteditable` state. |
`controls` | `audio` and `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`
|
Defines an accessible object's dimensions, exposed via `Frame` property
|
|
`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` and `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>` | |
`decoding` | `img` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`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.
|
Not mapped |
|
`dir` | `bdo` | 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.
|
Not mapped |
|
`dirname` | `input` and `textarea` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`disabled` | `button`; `input`; `optgroup`; `option`; `select`; `textarea`; form-associated custom element | `aria-disabled="true"` | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
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. |
`disabled` | `fieldset` | `aria-disabled="true"` | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Form 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. |
`disabled` | `link` | Not mapped | Not mapped | Not mapped | Not mapped | Not mapped | |
`download` | `a` and `area` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`draggable` | HTML elements | Not mapped |
Object attributes: draggable:true
|
Not mapped |
Object attributes: draggable:true
|
Not mapped |
|
`enctype` | `form` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`enterkeyhint` | HTML elements | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
Modifies the action label (or icon) to present for the enter key on virtual keyboards. |
`fetchpriority` | `img`; `link`; `script` | 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 labelable element
|
Used for accessible name
When the `label` element has a `for` attribute referencing another labelable element,
the `LabeledBy` property for the referenced element points to the UIA element for the `label` element.
|
Used for accessible name
Relations:
`ATK_RELATION_LABEL_FOR` and `ATK_RELATION_LABEL_BY` relations between
`label` and referred labelable element
|
Used for accessible name
|
|
`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`; `label`; `object`; `output`; `select`; `textarea`; form-associated custom element | 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` | Not mapped |
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`; `source` (in `picture`); `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`)
|
Defines an accessible object's height
(`AXSize` property)
|
|
`high` | `meter` | Not mapped | Not mapped |
`RangeValue.Maximum` | Not mapped |
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`; `link` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`http-equiv` | `meta` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`id` | HTML elements | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`inert` | HTML elements | Not Mapped | See comments | See comments | See comments | See comments |
Nodes that are inert are not exposed to an accessibility API. Note: an inert node can have descendants that are not inert. For example, a modal dialog can escape an inert subtree. |
`indeterminate [IDL]` | HTML elements; `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 the`indeterminate [IDL]` state. |
`ismap` | `img` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`itemid` | `img` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`itemprop` | `img` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`itemref` | `img` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`itemscope` | `img` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`itemtype` | `img` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`kind` | `track` | Not mapped | Not mapped | Not mapped | Not mapped | Not mapped | |
`label` | `optgroup`; `option`; `track` | Not mapped |
Associates the accessible name
|
The target element of the `label` attribute has a `LabeledBy` property pointing to the element with the `label` attribute. Participates in name computation. |
Associates the accessible name
|
`AXTitle`: `<value>` | 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` 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.
|
Refer to `datalist` and `input` element mappings. |
`loop` | `audio`; `video` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`low` | `meter` | Not mapped | Not mapped |
`RangeValue.Minimum` |
Not mapped |
Not mapped |
|
`max` | `input` | `aria-valuemax` |
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` | `aria-valuemax` |
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 |
Not mapped |
Not mapped |
|
`media` | `link`; `meta`; `source` (in `picture`); `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` | `aria-valuemin` |
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` | `aria-valuemin` |
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>` | |
`minlength` | `input`; `textarea` | Not mapped |
States:
`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.
|
|
`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`; `output`; `select`; `textarea`; form-associated custom element | 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` | `slot` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`nomodule` | `script` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`nonce` | HTML elements | 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` |
If the `open` attribute is set via the `showModal()` method then `aria-modal="true"` and `aria-hidden="false"`.
Otherwise, if the `open` attribute is set via the `show()` method, or explicitly specified by an author, then `aria-modal="false"` and `aria-hidden="false"`.
|
Use WAI-ARIA mapping | Use WAI-ARIA mapping | Use WAI-ARIA mapping | Use WAI-ARIA mapping |
The `open` attribute's value is irrelevant. When the `open` attribute is not specified the default user agent styling for a `dialog` is `display: none`. Authors can reveal a `dialog` through the style layer by modifying its `display` property. If revealed this way then the `dialog` is `aria-modal="false"` and `aria-hidden="false"`. |
`optimum` | `meter` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`pattern` | `input` |
If the value doesn't match the pattern: `aria-invalid="true"`;
Otherwise, `aria-invalid="false"`
|
Use WAI-ARIA mapping | Use WAI-ARIA mapping | Use WAI-ARIA mapping | Use WAI-ARIA mapping | |
`ping` | `a` and `area` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`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.
|
`playsinline` | `video` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`poster` | `video` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`preload` | `audio` and `video` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`readonly` | `input`; `textarea`; form-associated custom elements | `aria-readonly="true"` | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
If the element includes both the `readonly` attribute and the `aria-readonly` attribute with a valid value, User Agents MUST expose only the `readonly` attribute value. |
`referrerpolicy` | `a`; `area`; `iframe`; `img`; `link`; `script` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`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 |
If 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. |
`reversed` | `ol` | Not mapped |
Reverses the numerical or alphabetical order of the child list item markers.
|
Reverses the numerical or alphabetical order of the child list item markers.
|
Reverses the numerical or alphabetical order of the child list item markers.
|
Reverses the numerical or alphabetical order of the child list item markers.
|
|
`rows` | `textarea` | Not mapped | Not mapped |
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` |
If `scope="row"` then map `th` to `rowheader`
If `scope="col"` then map `th` to `columnheader`
|
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
|
`selected` | `option` | `aria-selected="true"` | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
If the element includes both the `selected` attribute and the `aria-selected` attribute with a valid value, User Agents MUST expose only the `selected` attribute value. |
`shape` | `area` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`size` | `input`; `select` |
Not mapped for `input` elements.
If greater than 1, then creates a listbox accessible object. Refer to `select` element for details.
|
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.
|
Not mapped for `input` elements.
For `select` element use WAI-ARIA mapping.
|
For `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. |
`sizes` | `link` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`sizes` | `img`; `source` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`slot` | HTML elements | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`span` | `col`; `colgroup` | Not mapped |
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>`
|
|
`spellcheck` | HTML elements | `aria-invalid="spelling"` or `grammar` | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
|
`src` | `audio`; `embed`; `iframe`; `img`; `input`; `script`; `source` (in `audio` or `video`); `track`; `video` | Not mapped |
Object attributes:
`src` on `img` only
|
Not mapped
|
Object attributes:
`src` on `img` only
|
`AXURL: <value>` on `img` and `input type="image"` | |
`srcdoc` | `iframe` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`srclang` | `track` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`srcset` | `img`; `source` | 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.
|
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.
|
Not mapped | |
`style` | HTML elements | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`tabindex` | HTML elements | See Focus States and Events Table | Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
|
`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 |
Either the accessible name, or the
accessible description, or Not mapped (see Comments).
|
Use WAI-ARIA mapping
|
Use WAI-ARIA mapping
|
Use WAI-ARIA mapping
|
Use WAI-ARIA mapping
|
The Accessible Name and Description Computation section specifies if the `title` attribute will be mapped and, if so, through what [[WAI-ARIA]] property.
|
`title` | `abbr`; `dfn` | Not mapped |
Associates the accessible name
|
Associates the accessible name
|
Associates the accessible name
|
`AXExpandedTextValue: <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 |
Provides the name for the CSS style sheet. |
`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` | Not mapped |
`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.
|
`submit` type may be a default button in the form.
|
|
`type` | `embed`; `object`; `script`; `source` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`type` | `input` | Refer to WAI-ARIA mappings for input types with defined ARIA roles. |
Defines the accessible role, states and other properties, refer to
type="`text`",
type="`password`",
type="`button`", etc
|
Defines the accessible role, states and other properties, refer to
type="`text`",
type="`password`",
type="`button`", etc
|
Defines the accessible role, states and other properties, refer to
type="`text`",
type="`password`",
type="`button`", etc
|
Defines the accessible role, states and other properties, refer to
type="`text`",
type="`password`",
type="`button`", etc
|
|
`type` | `ol` | Not mapped |
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.
|
`usemap` | `img` | Not mapped |
Responsible for image map creation.
|
Responsible for image map creation.
|
Responsible for image map creation.
|
Responsible for image map creation.
|
Refer to `img` element. |
`value` | `button`; `option` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`value` | `data` | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
|
`value` | `input` | Not mapped |
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 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`
|
|
`value` | `meter`; `progress` | `aria-valuenow` |
Exposed as `IAccessibleValue::currentValue`
|
Exposed as `Value.Value`
|
Exposed as `atk_value_get_current_value`
|
`AXValue: <value>`
|
|
`width` | `canvas`; `embed`; `iframe`; `img`; `input`; `object`; `source` (in `picture`); `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.
legend
element, then use the subtree of the first such element.
caption
element, then use the subtree of the first such element.
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.
`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`
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.
Review the commit history of this document on GitHub.
The following people contributed to the development of this document.