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-1.2]]] for use with the HTML host language. Documenting these mappings promotes interoperable exposure of roles, states, properties, and events implemented by accessibility APIs and helps to ensure that this information appears in a manner consistent with author intent.

The HTML-AAM is part of the WAI-ARIA suite described in the WAI-ARIA Overview.

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.

Introduction

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-1.2]]] semantics must be exposed to the platform accessibility APIs according to the relevant WAI-ARIA mappings defined in the [[[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

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.

Deprecated

There are currently no deprecated requirements.

Mapping HTML to Accessibility APIs

General Rules for Exposing WAI-ARIA Semantics

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]]].

Conflicts Between Native Markup Semantics and WAI-ARIA

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]]].

Exposing HTML Features That Do Not Directly Map to Accessibility APIs

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]].

HTML Element Role Mappings

`a` (represents a hyperlink)

HTML Specification `a` (represents a hyperlink)
[[wai-aria-1.2]] `link` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`a` (no `href` attribute)

HTML Specification `a` (no `href` attribute)
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`abbr`

HTML Specification `abbr`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-abbr
MSAA + IAccessible2
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
UIA
Control Type: `Text`
ATK
Role: `ATK_ROLE_STATIC`
Object attributes: "abbr" attribute on the containing `td` if a single child, text content used as a value
AX
AXRole: `AXGroup`
AXSubrole: `(nil)`
AXRoleDescription: `"group"`
Comments

`address`

HTML Specification `address`
[[wai-aria-1.2]] `group` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`area` (represents a hyperlink)

HTML Specification `area` (represents a hyperlink)
[[wai-aria-1.2]] `link` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`area` (no `href` attribute)

HTML Specification `area` (no `href` attribute)
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`article`

HTML Specification `article`
[[wai-aria-1.2]] `article` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`aside` (scoped to the `body` or `main` element)

HTML Specification `aside` (scoped to the `body` or `main` element)
[[wai-aria-1.2]] `complementary` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`aside` (scoped to a sectioning content element)

HTML Specification `aside` (scoped to a sectioning content element)
[[wai-aria-1.2]] `complementary` role if the `aside` element has an accessible name. Otherwise, `generic` role.
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`audio`

HTML Specification `audio`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-audio
MSAA + IAccessible2
Role: `ROLE_SYSTEM_GROUPING`
UIA
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.
ATK
Role: `ATK_ROLE_AUDIO`
AX
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`).
Comments

autonomous custom element

HTML Specification autonomous custom element
[[wai-aria-1.2]] If the author assigned a conforming ARIA role using the `role` attribute, map to that role. Otherwise, the `generic` role.
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`b`

HTML Specification `b`
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments Exposed by platform specific bold font weight text styles.

`base`

HTML Specification `base`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`bdi`

HTML Specification `bdi`
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments IA2/ATK: May affect on "writing-mode" text attribute on its text container.

`bdo`

HTML Specification `bdo`
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments IA2/ATK: Exposed as "writing-mode" text attribute on its text container.

`blockquote`

HTML Specification `blockquote`
[[wai-aria-1.2]] `blockquote` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`body`

HTML Specification `body`
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`br`

HTML Specification `br`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments May be exposed as '\n' character by the platform interface.

`button`

HTML Specification `button`
[[wai-aria-1.2]] `button` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments A `button`'s mapping will change if the `aria-pressed` or `aria-haspopup` attributes are specified.

`canvas`

HTML Specification `canvas`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-canvas
MSAA + IAccessible2
Roles: `ROLE_SYSTEM_GRAPHIC`; `IA2_ROLE_CANVAS`
UIA
Control Type: `Image`
Descendants of the `canvas` element are mapped separately.
ATK
Role: `ATK_ROLE_CANVAS`
AX
AXRole: `AXGroup`
AXSubrole: `(nil)`
AXRoleDescription: `""`
Comments

`caption`

HTML Specification `caption`
[[wai-aria-1.2]] `caption` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
Relations: `IA2_RELATION_LABEL_FOR` with parent `table`
UIA
Use WAI-ARIA mapping
Other properties: The `LabeledBy` property for the parent `table` element points to the UIA element for the `caption` element.
ATK
Use WAI-ARIA mapping
Relations: `ATK_RELATION_LABEL_FOR` with parent `table`
AX
Use WAI-ARIA mapping
Relations: `ATK_RELATION_LABEL_FOR` with parent `table`
Comments If a descendant of a `table`, the first instance of a `caption` element will provide the `table` its accessible name.

`cite`

HTML Specification `cite`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-cite
MSAA + IAccessible2
No accessible object. Styles used are mapped into text attributes on its text container.
UIA
No accessible object. Styles used are exposed by UIA text attributes of the `TextRange` Control Pattern implemented on a parent accessible object.
ATK
No accessible object. Styles used are mapped into text attributes on its text container.
AX
AXRole: `AXGroup`
AXSubrole: `(nil)`
AXRoleDescription: `"group"`
Comments

`code`

HTML Specification `code`
[[wai-aria-1.2]] `code` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`col`

HTML Specification `col`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`colgroup`

HTML Specification `colgroup`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Role: `ROLE_SYSTEM_GROUPING`
UIA
Control Type: `Group`
Localized Control Type: `"colgroup"`
ATK
Not mapped
AX
Not mapped
Comments

`data`

HTML Specification `data`
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`datalist` (represents pre-defined options for `input` element)

HTML Specification `datalist` (represents pre-defined options for `input` element)
[[wai-aria-1.2]] `listbox` role, with the `aria-multiselectable` property set to "true" if the `datalist`'s selection model allows multiple `option` elements to be selected at a time, and "false" otherwise
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments If `datalist` is not linked to a proper `input` element, then `datalist` element is not mapped to accessibility APIs.

`dd`

HTML Specification `dd`
[[wai-aria-1.2]] `definition` role
Computed Role
Use WAI-ARIA mapping
Editorial Note: This value may change upon resolution of ARIA #1662.
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`del`

HTML Specification `del`
[[wai-aria-1.2]] `deletion` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`details`

HTML Specification `details`
[[wai-aria-1.2]] `group` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
Localized Control Type: `"details"`
ATK
Use WAI-ARIA mapping
Relations: `"ATK_RELATION_DETAILS_FOR"`
AX
Use WAI-ARIA mapping
Comments

`dfn`

HTML Specification `dfn`
[[wai-aria-1.2]] `term` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`dialog`

HTML Specification `dialog`
[[wai-aria-1.2]] `dialog` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments See also the `dialog` element's `open` attribute.

`div`

HTML Specification `div`
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`dl`

HTML Specification `dl`
[[wai-aria-1.2]] `list` role
Computed Role
list
Editorial Note: This value may change upon resolution of ARIA #1662.
MSAA + IAccessible2
Role: `ROLE_SYSTEM_LIST`
States: `STATE_SYSTEM_READONLY`
UIA
Control Type: `List`
ATK
Role: `ATK_ROLE_DESCRIPTION_LIST`
AX
AXRole: `AXList`
AXSubrole: `AXDefinitionList`
AXRoleDescription: `"definition list"`
Comments

`dt`

HTML Specification `dt`
[[wai-aria-1.2]] `term` role
Computed Role
Use WAI-ARIA mapping
Editorial Note: This value may change upon resolution of ARIA #1662.
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`em`

HTML Specification `em`
[[wai-aria-1.2]] `emphasis` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`embed`

HTML Specification `embed`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-embed
MSAA + IAccessible2
Roles: `ROLE_SYSTEM_CLIENT`; `IA2_ROLE_EMBEDDED_OBJECT`
States: `STATE_SYSTEM_UNAVAILABLE` for windowless plugin
UIA
Control Type: `Pane`
ATK
Role: `ATK_ROLE_EMBEDDED`
AX Depends on format of data file
Comments

`fieldset`

HTML Specification `fieldset`
[[wai-aria-1.2]] `group` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Role: Use WAI-ARIA mapping
Relations: `IA2_RELATION_LABELLED_BY` with child `legend` element
UIA
Role: Use WAI-ARIA mapping
ATK
Role: Use WAI-ARIA mapping
Relations: `ATK_RELATION_LABELLED_BY` with child `legend` element
AX
Role: Use WAI-ARIA mapping
AXSubrole: `AXFieldset`
AXDescription: value from child `legend` subtree
Comments

`figcaption`

HTML Specification `figcaption`
[[wai-aria-1.2]] `caption` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Roles: `ROLE_SYSTEM_TEXT`; `IA2_ROLE_CAPTION`
Relations: `IA2_RELATION_LABEL_FOR` with parent `figure` element
UIA
Control Type: `Text`
ATK
Role: `ATK_ROLE_CAPTION`
Relations: `ATK_RELATION_LABEL_FOR` with parent `figure` element
AX
AXRole: `AXGroup`
AXSubrole: `(nil)`
AXRoleDescription: `"group"`
Comments

`figure`

HTML Specification `figure`
[[wai-aria-1.2]] `figure` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Role: Use WAI-ARIA mapping
Relations: `IA2_RELATION_LABELLED_BY` with child `figcaption` element
UIA
Role: Use WAI-ARIA mapping
Accessible name derived from `figcaption` according to the `figure` Element Accessible Name Computation
ATK
Role: Use WAI-ARIA mapping
Name: related `figcaption` content
Relations: `ATK_RELATION_LABELLED_BY` with child `figcaption` element
AX
AXRole: Use WAI-ARIA mapping
Comments
HTML Specification `footer` (scoped to the `body` element)
[[wai-aria-1.2]] `contentinfo` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
HTML Specification `footer` (scoped to the `main` element, a sectioning content element)
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
Editorial Note: This value may change upon resolution of ARIA #1915.
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Control Type: `Group`
Localized Control Type: `"footer"`
ATK
Role: `ATK_ROLE_FOOTER`
AX
Use WAI-ARIA mapping
Comments If a `footer` is not scoped to the `body` element, do not expose the element as a `contentinfo` landmark.

`form`

HTML Specification `form`
[[wai-aria-1.2]] `form` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
If a `form` has no accessible name:
Role: `ATK_ROLE_FORM`
AX
Use WAI-ARIA mapping
Comments If a `form` has no accessible name, do not expose the element as a landmark.

form-associated custom element

HTML Specification form-associated custom element
[[wai-aria-1.2]] If the author assigned a conforming ARIA role using the `role` attribute, map to that role. Otherwise, the `generic` role.
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`h1`, `h2`, `h3`, `h4`, `h5`, and `h6`

HTML Specification `h1`, `h2`, `h3`, `h4`, `h5`, and `h6`
[[wai-aria-1.2]] `heading` role, with the `aria-level` property set to the number in the element's tag name.
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`head`

HTML Specification `head`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not Mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`header` (scoped to the `body` element)

HTML Specification `header` (scoped to the `body` element)
[[wai-aria-1.2]] `banner` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`header` (scoped to the `main` element, or a sectioning content element)

HTML Specification `header` (scoped to the `main` element, or a sectioning content element)
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
Editorial Note: This value may change upon resolution of ARIA #1915.
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Control Type: `Group`
Localized Control Type: `"header"`
ATK
Role: `ATK_ROLE_HEADER`
AX
Use WAI-ARIA mapping
Comments If a `header` is not scoped to the `body` element, do not expose the element as a `banner` landmark.

`hgroup`

HTML Specification `hgroup`
[[wai-aria-1.2]] `group` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments 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`

HTML Specification `hr`
[[wai-aria-1.2]] `separator` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

If an `hr` element is a descendant of a `select` element, user agents MAY expose the element with a role of `none`.

`html`

HTML Specification `html`
[[wai-aria-1.2]] `document` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`i`

HTML Specification `i`
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments Exposed by platform specific italic text styles.

`iframe`

HTML Specification `iframe`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-iframe
MSAA + IAccessible2
Role: `IA2_ROLE_INTERNAL_FRAME`
UIA
Control Type: `Pane`
ATK
Role: `ATK_ROLE_INTERNAL_FRAME`
AX
AXRole: `AXWebArea`
AXSubrole: `(nil)`
AXRoleDescription: `"html content"`
Comments

`img`

HTML Specification `img`
[[wai-aria-1.2]] `image` or `img`role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

ARIA 1.3 adds the `image` role as the preferred synonym to the ARIA 1.0 `img` role. The expected computed role for named `img` elements is now "image".

`img` (`alt` attribute value is an empty string, i.e. `alt=""` or `alt` with no value in the markup)

HTML Specification `img` (`alt` attribute value is an empty string, i.e. `alt=""` or `alt` with no value in the markup)
[[wai-aria-1.2]]
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the Button state)

HTML Specification `input` (`type` attribute in the Button state)
[[wai-aria-1.2]] `button` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the Checkbox state)

HTML Specification `input` (`type` attribute in the Checkbox state)
[[wai-aria-1.2]] `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
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the Color state)

HTML Specification `input` (`type` attribute in the Color state)
[[wai-aria-1.2]] No corresponding role
Computed Role
html-input-color
MSAA + IAccessible2
If implemented as a textbox:
Roles: `ROLE_SYSTEM_TEXT`
If implemented as a color picker:
Roles: `IA2_ROLE_COLOR_CHOOSER`
UIA
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"
ATK
If implemented as a button, use WAI-ARIA mapping for `button`.
If implemented as a textbox, use WAI-ARIA mapping for `textbox`.
AX
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"`
Comments
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)

HTML Specification `input` (`type` attribute in the Date state)
[[wai-aria-1.2]] No corresponding role
Computed Role
html-input-date
MSAA + IAccessible2
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`
UIA
Depends on UI design of implementation. The UI in Windows 10 Edge, for example, is a composite of multiple spinners.
ATK
Role: `ATK_ROLE_CALENDAR`
AX
AXRole: `AXDateField`
AXSubrole: `(nil)`
AXRoleDescription: `"date field"`
Comments

`input` (`type` attribute in the Local Date and Time state)

HTML Specification `input` (`type` attribute in the Local Date and Time state)
[[wai-aria-1.2]] No corresponding role
Computed Role
html-input-datetime-local
MSAA + IAccessible2
Role: `IA2_ROLE_DATE_EDITOR`
UIA
Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composite of multiple spinners.
ATK
Role: `ATK_ROLE_CALENDAR`
AX
AXRole: `AXTextField`
AXSubrole: `(nil)`
AXRoleDescription: `"text field"`
Comments

`input` (`type` attribute in the E-mail state with no suggestions source element)

HTML Specification `input` (`type` attribute in the E-mail state with no suggestions source element)
[[wai-aria-1.2]] `textbox` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
Object attributes: `text-input-type:email`
UIA
Use WAI-ARIA mapping
Localized Control Type: `"email"`
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the File Upload state)

HTML Specification `input` (`type` attribute in the File Upload state)
[[wai-aria-1.2]] No corresponding role
Computed Role
html-input-file
MSAA + IAccessible2
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.
UIA
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"`
ATK
Role: `ATK_ROLE_STATIC`
Children: `ATK_ROLE_PUSH_BUTTON` when pressed `ATK_ROLE_FILE_CHOOSER` dialog shown
AX
AXRole: `AXButton`
AXSubrole: `AXFileUploadButton`
AXRoleDescription: `file upload button`
Comments

`input` (`type` attribute in the Hidden state)

HTML Specification `input` (`type` attribute in the Hidden state)
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`input` (`type` attribute in the Image Button state)

HTML Specification `input` (`type` attribute in the Image Button state)
[[wai-aria-1.2]] `button` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the Month state)

HTML Specification `input` (`type` attribute in the Month state)
[[wai-aria-1.2]] No corresponding role
Computed Role
html-input-month
MSAA + IAccessible2
Role: `IA2_ROLE_DATE_EDITOR`
UIA
Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composite of multiple spinners.
ATK
Role: `ATK_ROLE_DATE_EDITOR`
AX
AXRole: `AXTextField`
AXSubrole: `(nil)`
AXRoleDescription: `"text field"`
Comments

`input` (`type` attribute in the Number state)

HTML Specification `input` (`type` attribute in the Number state)
[[wai-aria-1.2]] `spinbutton` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
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`
UIA
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"`
ATK
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`
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the Password state)

HTML Specification `input` (`type` attribute in the Password state)
[[wai-aria-1.2]] No corresponding role
Computed Role
html-input-password
MSAA + IAccessible2
Role: `ROLE_SYSTEM_TEXT`
States: `STATE_SYSTEM_PROTECTED`; `IA2_STATE_SINGLE_LINE`; `STATE_SYSTEM_READONLY` if readonly, otherwise `IA2_STATE_EDITABLE`
UIA
Control Type: `Edit`
Localized Control Type: `"password"`
Other properties: Set `isPassword` to `true`
ATK
Role: `ATK_ROLE_PASSWORD_TEXT`
States: `ATK_STATE_SINGLE_LINE`; `ATK_STATE_READ_ONLY` if readonly, otherwise `ATK_STATE_EDITABLE`
AX
AXRole: `AXTextField`
AXSubrole: `AXSecureTextField`
AXRoleDescription: `"secure text field"`
Comments

`input` (`type` attribute in the Radio Button state)

HTML Specification `input` (`type` attribute in the Radio Button state)
[[wai-aria-1.2]] `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.
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the Range state)

HTML Specification `input` (`type` attribute in the Range state)
[[wai-aria-1.2]] `slider` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the Reset Button state)

HTML Specification `input` (`type` attribute in the Reset Button state)
[[wai-aria-1.2]] `button` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
HTML Specification `input` (`type` attribute in the Search state with no suggestions source element)
[[wai-aria-1.2]] `searchbox` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the Submit Button state)

HTML Specification `input` (`type` attribute in the Submit Button state)
[[wai-aria-1.2]] `button` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the Telephone state with no suggestions source element)

HTML Specification `input` (`type` attribute in the Telephone state with no suggestions source element)
[[wai-aria-1.2]] `textbox` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
Object attributes: `text-input-type:telephone`
UIA
Use WAI-ARIA mapping
Localized Control Type: `"telephone"`
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the Text state with no suggestions source element)

HTML Specification `input` (`type` attribute in the Text state with no suggestions source element)
[[wai-aria-1.2]] `textbox` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the Text, Search, Telephone, URL, or E-mail states with a suggestions source element)

HTML Specification `input` (`type` attribute in the Text, Search, Telephone, URL, or E-mail states with a suggestions source element)
[[wai-aria-1.2]] `combobox` role, with the `aria-controls` property set to the same value as the `list` attribute
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
Object attributes: `text-input-type:``as per input type`
UIA
Use WAI-ARIA mapping
Other properties: `ControllerFor` points to the suggestions source element
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the Time state)

HTML Specification `input` (`type` attribute in the Time state)
[[wai-aria-1.2]] No corresponding role
Computed Role
html-input-time
MSAA + IAccessible2
Role: `ROLE_SYSTEM_SPINBUTTON` if implemented as a simple widget; `ROLE_SYSTEM_GROUPING` with child controls mapped as appropriate if implemented as a complex widget
Object attributes: `text-input-type:time`
UIA
Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composite of multiple spinners.
ATK

Role: `ATK_ROLE_SPINBUTTON` if implemented as a simple widget.
If implemented as a complex widget use:
Role: `ROLE_PANEL` and map child controls as appropriate.

AX
AXRole: `AXTimeField`
AXSubrole: `(nil)`
AXRoleDescription: `"time field"`
Comments

`input` (`type` attribute in the URL state with no suggestions source element)

HTML Specification `input` (`type` attribute in the URL state with no suggestions source element)
[[wai-aria-1.2]] `textbox` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
Object attributes: `text-input-type:url`
UIA
Use WAI-ARIA mapping
Localized Control Type: `"url"`
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`input` (`type` attribute in the Week state)

HTML Specification `input` (`type` attribute in the Week state)
[[wai-aria-1.2]] No corresponding role
Computed Role
html-input-week
MSAA + IAccessible2
Role: `IA2_ROLE_DATE_EDITOR`
Object attributes: `text-input-type:week`
UIA
Depends on UI design of implementation. The UI in Windows 10 Edge, for Example, is a composite of multiple spinners.
ATK
Role: `ATK_ROLE_CALENDAR`
AX
AXRole: `AXTextField`
AXSubrole: `(nil)`
AXRoleDescription: `"text field"`
Comments

`ins`

HTML Specification `ins`
[[wai-aria-1.2]] `insertion` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`kbd`

HTML Specification `kbd`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-kbd
MSAA + IAccessible2
No accessible object.
Text attributes: `font-family:monospace` on the text container
UIA
No accessible object. Styles used are exposed by UIA text attribute identifiers of the `TextRange` Control Pattern implemented on a parent accessible object.
ATK
No accessible object. Mapped into "font-family:monospace" text attribute on its text container.
AX
AXRole: `AXGroup`
AXSubrole: `(nil)`
AXRoleDescription: `"group"`
Comments

`label`

HTML Specification `label`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-label
MSAA + IAccessible2
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`.
UIA
Control Type: `Group`
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.
ATK
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`.
AX
AXRole: `AXGroup`
AXSubrole: `(nil)`
AXRoleDescription: `"group"`
Comments

`legend`

HTML Specification `legend`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-legend
MSAA + IAccessible2
Roles: `ROLE_SYSTEM_STATICTEXT`; `IA2_ROLE_LABEL`
Relations: `IA2_RELATION_LABEL_FOR` with the parent `fieldset`
UIA
Control Type: `Text`
Other properties: The `LabeledBy` property for the parent `fieldset` points to the UIA element for the `legend` element.
ATK
Role: `ATK_ROLE_LABEL`
Relations: `ATK_RELATION_LABEL_FOR` with parent `fieldset` element
AX
AXRole: `AXGroup`
AXSubrole: `(nil)`
AXRoleDescription: `"group"`
Comments

`li`

HTML Specification `li`
[[wai-aria-1.2]] `listitem` role with `aria-setsize` value reflecting number of `li` elements within the parent `ol`, `menu` or `ul` and `aria-posinset` value reflecting the `li` elements position within the set.
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments 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.
HTML Specification `link`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`main`

HTML Specification `main`
[[wai-aria-1.2]] `main` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`map`

HTML Specification `map`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-map
MSAA + IAccessible2
Not mapped if used as an image map. Otherwise,
Role: `IA2_ROLE_TEXT_FRAME`
UIA
Not mapped
ATK
Not mapped if used as an image map, otherwise:
Role: `ATK_ROLE_STATIC`
AX
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`.
Comments

`mark`

HTML Specification `mark`
[[wai-aria-1.2]] `mark` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`math`

HTML Specification `math`
[[wai-aria-1.2]] See comments
Computed Role
See comments
MSAA + IAccessible2 See comments
UIA See comments
ATK See comments
AX See comments
Comments Mapping for `math` is defined by MathML AAM 1.0.

`menu`

HTML Specification `menu`
[[wai-aria-1.2]] `list` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
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.

`meta`

HTML Specification `meta`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`meter`

HTML Specification `meter`
[[wai-aria-1.2]] `meter` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`nav`

HTML Specification `nav`
[[wai-aria-1.2]] `navigation` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`noscript`

HTML Specification `noscript`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`object`

HTML Specification `object`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-object
MSAA + IAccessible2
Depends on format of data file. If it contains a plugin then,
Role: `IA2_ROLE_EMBEDDED_OBJECT`
States: `STATE_SYSTEM_UNAVAILABLE` for windowless plugin
UIA
Depends on format of data file.
ATK
Depends on format of data file. If contains a plugin then
Role: `ATK_ROLE_EMBEDDED`
AX Depends on format of data file.
Comments

`ol`

HTML Specification `ol`
[[wai-aria-1.2]] `list` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`optgroup`

HTML Specification `optgroup`
[[wai-aria-1.2]] `group` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`option` (in a list of options or represents a suggestion in a `datalist`)

HTML Specification `option` (in a list of options or represents a suggestion in a `datalist`)
[[wai-aria-1.2]] `option` role, with the `aria-selected` state set to "true" if the element's selectedness is true, or "false" otherwise.
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`output`

HTML Specification `output`
[[wai-aria-1.2]] `status` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
Relations: `IA2_RELATION_LABELLED_BY` with associated `label` element
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
Relations: `ATK_RELATION_LABELLED_BY` with associated `label` element
AX
Use WAI-ARIA mapping
Comments `AXDescription`: value from associated `label` element subtree.
undefined

`p`

HTML Specification `p`
[[wai-aria-1.2]] `paragraph` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`param`

HTML Specification `param`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments `param` is obsolete in HTML

`picture`

HTML Specification `picture`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`pre`

HTML Specification `pre`
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`progress`

HTML Specification `progress`
[[wai-aria-1.2]] `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
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`q`

HTML Specification `q`
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments `::before` and `::after` CSS pseudo content is used by platforms to render the element's quotation marks.

`rp`

HTML Specification `rp`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-rp
MSAA + IAccessible2
No accessible object. No child elements are exposed if `ruby` is supported by the browser.
UIA
No accessible object.
ATK
No accessible object. No child elements are exposed if `ruby` is supported by the browser.
AX Not mapped
Comments

`rt`

HTML Specification `rt`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-rt
MSAA + IAccessible2
No accessible object. No child elements are exposed if `ruby` is supported by the browser.
UIA
No accessible object.
ATK
No accessible object.
AX
AXRole: `AXGroup`
AXSubrole: `AXRubyText`
AXRoleDescription: `"group"`
Comments

`ruby`

HTML Specification `ruby`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-ruby
MSAA + IAccessible2
Role: `ROLE_SYSTEM_TEXT`; `IA2_ROLE_TEXT_FRAME`
UIA
Control Type: `Text`
Localized Control Type: `"ruby"`
ATK
Role: `ATK_ROLE_STATIC`
AX
AXRole: `AXGroup`
AXSubrole: `AXRubyInline`
AXRoleDescription: `"group"`
Comments

`s`

HTML Specification `s`
[[wai-aria-1.2]] `deletion` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`samp`

HTML Specification `samp`
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`script`

HTML Specification `script`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
HTML Specification `search`
[[wai-aria-1.2]] `search` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`section`

HTML Specification `section`
[[wai-aria-1.2]] `region` role if the `section` element has an accessible name. Otherwise, the `generic` role.
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`select` (with a `multiple` attribute or `size` attribute having value greater than `1`)

HTML Specification `select` (with a `multiple` attribute or `size` attribute having value greater than `1`)
[[wai-aria-1.2]] `listbox` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`select` (with NO `multiple` attribute and NO `size` attribute having value greater than `1`)

HTML Specification `select` (with NO `multiple` attribute and NO `size` attribute having value greater than `1`)
[[wai-aria-1.2]] `combobox` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`slot`

HTML Specification `slot`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`small`

HTML Specification `small`
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments Exposed by platform specific font size styles.

`source`

HTML Specification `source`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`span`

HTML Specification `span`
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`strong`

HTML Specification `strong`
[[wai-aria-1.2]] `strong` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`style`

HTML Specification `style`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
Note: There are instances where CSS properties can affect what is exposed by accessibility APIs. For instance, `display: none` or `visibility: hidden` will remove an element from the accessibility tree and hide its presence from assistive technologies.

`sub`

HTML Specification `sub`
[[wai-aria-1.2]] `subscript` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`summary`

HTML Specification `summary`
[[wai-aria-1.2]] No corresponding role
Computed Role

If the element is the first child of its type within a parent `details` element: `html-summary`

Otherwise, if it is not the first child of its type of a parent `details` element, or it is not a child of a `details` element: `generic` role

MSAA + IAccessible2
Role: `ROLE_SYSTEM_PUSHBUTTON`
States: `STATE_SYSTEM_EXPANDED` / `STATE_SYSTEM_COLLAPSED`
Actions: `expand` / `collapse`
UIA
Control Type: `Button`
Control Pattern: `ExpandCollapse`
ATK
Role: `ROLE_TOGGLE_BUTTON`
Relations: `ATK_RELATION_DETAILS`
AX
AXRole: `AXDisclosureTriangle`
AXSubrole: `(nil)`
AXRoleDescription: `"disclosure triangle"`
Comments 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`

HTML Specification `sup`
[[wai-aria-1.2]] `superscript` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`svg`

HTML Specification `svg`
[[wai-aria-1.2]] See comments
Computed Role
See comments
MSAA + IAccessible2 See comments
UIA See comments
ATK See comments
AX See comments
Comments Mapping for `svg` is defined by [[[svg-aam-1.0]]]. See also Graphics Accessibility API Role Mappings

`table`

HTML Specification `table`
[[wai-aria-1.2]] `table` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2 Use WAI-ARIA mapping
UIA Use WAI-ARIA mapping
ATK Use WAI-ARIA mapping
AX Use WAI-ARIA mapping
Comments

`tbody`

HTML Specification `tbody`
[[wai-aria-1.2]] `rowgroup` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2 Use WAI-ARIA mapping
UIA Use WAI-ARIA mapping
ATK Use WAI-ARIA mapping
AX Use WAI-ARIA mapping
Comments

`td` (ancestor `table` element has `table` role)

HTML Specification `td` (ancestor `table` element has `table` role)
[[wai-aria-1.2]] `cell` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`td` (ancestor `table` element has `grid` or `treegrid` role)

HTML Specification `td` (ancestor `table` element has `grid` or `treegrid` role)
[[wai-aria-1.2]] `gridcell` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`template`

HTML Specification `template`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`textarea`

HTML Specification `textarea`
[[wai-aria-1.2]] `textbox` role, with the `aria-multiline` property set to "true"
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`tfoot`

HTML Specification `tfoot`
[[wai-aria-1.2]] `rowgroup` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`th` (is not a column header, row header, column group header or row group header, and ancestor `table` element has `table` role)

HTML Specification `th` (is not a column header, row header, column group header or row group header, and ancestor `table` element has `table` role)
[[wai-aria-1.2]] `cell` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`th` (is not a column header, row header, column group header or row group header, and ancestor `table` element has `grid` or `treegrid` role)

HTML Specification `th` (is not a column header, row header, column group header or row group header, and ancestor `table` element has `grid` or `treegrid` role)
[[wai-aria-1.2]] `gridcell` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`th` (is a column header or column group header)

HTML Specification `th` (is a column header or column group header)
[[wai-aria-1.2]] `columnheader` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`th` (is a row header or row group header)

HTML Specification `th` (is a row header or row group header)
[[wai-aria-1.2]] `rowheader` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`thead`

HTML Specification `thead`
[[wai-aria-1.2]] `rowgroup` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`time`

HTML Specification `time`
[[wai-aria-1.2]] `time` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`title`

HTML Specification `title`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments A `title` element provides the accessible name for its document.

`tr`

HTML Specification `tr`
[[wai-aria-1.2]] `row` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`track`

HTML Specification `track`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`u`

HTML Specification `u`
[[wai-aria-1.2]] `generic` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments Exposed by platform specific underline text styles.

`ul`

HTML Specification `ul`
[[wai-aria-1.2]] `list` role
Computed Role
Use WAI-ARIA mapping
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`var`

HTML Specification `var`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-var
MSAA + IAccessible2
No accessible object. Styles used are mapped to text attributes on its text container.
UIA
No accessible object. Styles used are exposed by UIA text attribute identifiers of the `TextRange` Control Pattern implemented on a parent accessible object.
ATK
No accessible object. Styles used are mapped to text attributes on its text container.
AX
AXRole: `AXGroup`
AXSubrole: `(nil)`
AXRoleDescription: `"group"`
Comments

`video`

HTML Specification `video`
[[wai-aria-1.2]] No corresponding role
Computed Role
html-video
MSAA + IAccessible2
Role: `ROLE_SYSTEM_GROUPING`
UIA
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.
ATK
Role: `ATK_ROLE_VIDEO`
AX
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`).
Comments

`wbr`

HTML Specification `wbr`
[[wai-aria-1.2]] No corresponding role
Computed Role
Not mapped
MSAA + IAccessible2
If a line break is added, expose it with `IAccessibleText` on the text container
UIA
Not mapped
ATK
A line break if added is exposed via Text interface on its text container
AX
AXRole: `AXGroup`
AXSubrole: `(nil)`
AXRoleDescription: `"group"`
Comments

HTML Attribute State and Property Mappings

`abbr`

HTML Specification `abbr`
Element(s) `th`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Object attributes: "abbr" until child `abbr` element is provided
UIA
Not mapped
ATK
Object attributes: "abbr" until child `abbr` element is provided
AX `AXDescription: <value>`
Comments

`accept`

HTML Specification `accept`
Element(s) `input`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`accept-charset`

HTML Specification `accept-charset`
Element(s) `form`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`accesskey`

HTML Specification `accesskey`
Element(s) `HTML elements`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
A key binding accessible by `accKeyboardShortcut` and `IAccessibleAction::keyBinding`
UIA
Properties: `AccessKey: <value>`
ATK
`atk_action_get_keybinding`
AX `AXAccessKey: <value>`
Comments

`action`

HTML Specification `action`
Element(s) `form`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`allow`

HTML Specification `allow`
Element(s) `iframe`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`allowfullscreen`

HTML Specification `allowfullscreen`
Element(s) `iframe`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`alt`

HTML Specification `alt`
Element(s) `area`; `img`; `input`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2 Used for accessible name, exposed via `accName`
UIA
Properties: `Name`
ATK
Used for accessible name, exposed via `atk_object_get_name`
AX `AXDescription: <value>`
Comments

`as`

HTML Specification `as`
Element(s) `link`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`async`

HTML Specification `async`
Element(s) `script`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`autocapitalize`

HTML Specification `autocapitalize`
Element(s) HTML elements
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`autocomplete`

HTML Specification `autocomplete`
Element(s) `form`
[[WAI-ARIA-1.2]]

`aria-autocomplete`

Note: the ARIA attribute and the HTML attribute have disparate features.
MSAA + IAccessible2
States: `STATE_SUPPORTS_AUTOCOMPLETION` on text form controls until the value is overridden by control
UIA
Not mapped
ATK
States: `ATK_STATE_SUPPORTS_AUTOCOMPLETION` on text form controls until the value is overridden by control
AX
Not mapped
Comments If the element includes both `autocomplete` and `aria-autocomplete` attributes with valid values, User Agents MUST expose only the `autocomplete` attribute value. The `aria-autocomplete` attribute is not valid on a `form` element.

`autocomplete`

HTML Specification `autocomplete`
Element(s) `input`, `select` and `textarea`
[[WAI-ARIA-1.2]]

`aria-autocomplete`

Note: the ARIA attribute and the HTML attribute have disparate features.
MSAA + IAccessible2
States: `STATE_SUPPORTS_AUTOCOMPLETION`
UIA
Not mapped
ATK
States: `ATK_STATE_SUPPORTS_AUTOCOMPLETION`
AX
Not mapped
Comments If the element includes both `autocomplete` and `aria-autocomplete` attributes with valid values, User Agents MUST expose only the `autocomplete` attribute value.

`autofocus`

HTML Specification `autofocus`
Element(s) HTML elements
[[WAI-ARIA-1.2]] Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`autoplay`

HTML Specification `autoplay`
Element(s) `audio` and `video`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`blocking`

HTML Specification `blocking`
Element(s) `link`; `script`; `style`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`charset`

HTML Specification `charset`
Element(s) `meta`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`checked` (if present)

HTML Specification `checked` (if present)
Element(s) `input` `type=checkbox` or `type=radio`
[[WAI-ARIA-1.2]] `aria-checked`="true"
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA Property: `Toggle.ToggleState: On (1)`
ATK
Use WAI-ARIA mapping
AX `AXValue: 1`
Comments If an `input` element in the `checkbox` or `radio` state includes both the `checked` attribute and the `aria-checked` attribute with a valid value, User Agents MUST expose only the `checked` attribute value.

`checked` (if absent)

HTML Specification `checked` (if absent)
Element(s) `input` `type=checkbox` or `type=radio`
[[WAI-ARIA-1.2]] `aria-checked`="false"
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA Property: `Toggle.ToggleState: Off (0)`
ATK
Use WAI-ARIA mapping
AX `AXValue: 0`
Comments An `input` element in the `checkbox` or `radio` state without a `checked` attribute has an implicit "false" state. User Agents MUST ignore an `aria-checked` attribute which conflicts with the native element's implicit checked state.

`cite`

HTML Specification `cite`
Element(s) `blockquote`; `del` and `ins`; `q`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX `AXURL: <value>`
Comments

`class`

HTML Specification `class`
Element(s) HTML elements
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`color`

HTML Specification `color`
Element(s) `link`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`cols`

HTML Specification `cols`
Element(s) `textarea`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX `AXRangeForLine: <value>`
Comments
Not mapped

`colspan`

HTML Specification `colspan`
Element(s) `td` and `th`
[[WAI-ARIA-1.2]] `aria-colspan`
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`content`

HTML Specification `content`
Element(s) `meta`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`contenteditable`

HTML Specification `contenteditable`
Element(s) HTML elements
[[WAI-ARIA-1.2]] Not mapped
MSAA + IAccessible2

If the element is in the editable state, the following mappings apply to the element and every nested accessible object with the exception of those which have been specified in the `false` state.

States: `IA2_STATE_EDITABLE` and `IA2_STATE_MULTI_LINE`
Interfaces: `IAccessibleEditableText`

If the element is in the `false` state: not mapped.

If the element is in the `inherit` state: match the editable state of its parent element.

UIA

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.

ATK

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.

AX Role: AXTextArea
Use WAI-ARIA mapping
Comments If the element is set to `contenteditable` and `aria-readonly="true"`, User Agents MUST expose only the `contenteditable` state.

`controls`

HTML Specification `controls`
Element(s) `audio` and `video`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX Controls exposed as `AXToolbar`
Comments

`coords`

HTML Specification `coords`
Element(s) `area`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Defines an accessible object's dimensions (`IAccessible::accLocation`)
UIA
Defines an accessible object's dimensions (`BoundingRectangle`)
ATK
Defines an accessible object's dimensions, exposed via `atk_component_get_position` and `atk_component_get_size`
AX
Defines an accessible object's dimensions, exposed via `Frame` property
Comments

`crossorigin`

HTML Specification `crossorigin`
Element(s) `audio`; `img`; `link`; `script`; `video`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`data`

HTML Specification `data`
Element(s) `object`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`datetime`

HTML Specification `datetime`
Element(s) `del` and `ins`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Object attributes: `datetime: <value>`
UIA
Not mapped
ATK
Object attributes: `datetime: <value>`
AX `AXDateTimeValue: <value>`
Comments

`datetime`

HTML Specification `datetime`
Element(s) `time`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Object attributes: `datetime: <value>`
UIA
Properties: `FullDescription: <value>`
ATK
Object attributes: `datetime: <value>`
AX `AXDateTimeValue: <value>`
Comments

`decoding`

HTML Specification `decoding`
Element(s) `img`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`default`

HTML Specification `default`
Element(s) `track`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`defer`

HTML Specification `defer`
Element(s) `script`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`dir`

HTML Specification `dir`
Element(s) HTML elements
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Exposed as "writing-mode" text attribute on the text container.
UIA
Exposed by `TextFlowDirections` attribute of the `TextRange` Control Pattern implemented on a parent accessible object.
ATK
Exposed as "writing-mode" text attribute on the text container.
AX
Not mapped
Comments

`dir`

HTML Specification `dir`
Element(s) `bdo`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Exposed as "writing-mode" text attribute on the text container.
UIA
Exposed by `TextFlowDirections` attribute of the `TextRange` Control Pattern implemented on a parent accessible object.
ATK
Exposed as "writing-mode" text attribute on the text container.
AX
Not mapped
Comments

`dirname`

HTML Specification `dirname`
Element(s) `input` and `textarea`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`disabled`

HTML Specification `disabled`
Element(s) `button`; `input`; `optgroup`; `option`; `select`; `textarea`; form-associated custom element
[[WAI-ARIA-1.2]] `aria-disabled="true"`
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments If the element has both the `disabled` attribute and the `aria-disabled` attribute with a valid value, User Agents MUST expose only the `disabled` attribute value.

`disabled`

HTML Specification `disabled`
Element(s) `fieldset`
[[WAI-ARIA-1.2]] `aria-disabled="true"`
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

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.

HTML Specification `disabled`
Element(s) `link`
[[WAI-ARIA-1.2]] Not mapped
MSAA + IAccessible2 Not mapped
UIA Not mapped
ATK Not mapped
AX Not mapped
Comments

`download`

HTML Specification `download`
Element(s) `a` and `area`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`draggable`

HTML Specification `draggable`
Element(s) HTML elements
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Object attributes: draggable:true
UIA
Not mapped
ATK
Object attributes: draggable:true
AX
Not mapped
Comments

`enctype`

HTML Specification `enctype`
Element(s) `form`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`enterkeyhint`

HTML Specification `enterkeyhint`
Element(s) HTML elements
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments Modifies the action label (or icon) to present for the enter key on virtual keyboards.

`fetchpriority`

HTML Specification `fetchpriority`
Element(s) `img`; `link`; `script`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`for`

HTML Specification `for`
Element(s) `label`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Used for accessible name
Relations: `IA2_RELATION_LABEL_FOR` and `IA2_RELATION_LABEL_BY` relations between `label` and referred labelable element
UIA
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.
ATK
Used for accessible name
Relations: `ATK_RELATION_LABEL_FOR` and `ATK_RELATION_LABEL_BY` relations between `label` and referred labelable element
AX
Used for accessible name
Comments

`for`

HTML Specification `for`
Element(s) `output`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Relations: `IA2_RELATION_CONTROLLED_BY` with an element pointed by the attribute. Paired element exposes `IA2_RELATION_CONTROLLER_FOR` relation.
UIA
Not mapped
ATK
Relations: `ATK_RELATION_CONTROLLED_BY` with an element pointed by the attribute. Paired element exposes `ATK_RELATION_CONTROLLER_FOR` relation.
AX
Not mapped
Comments

`form`

HTML Specification `form`
Element(s) `button`; `fieldset`; `input`; `label`; `object`; `output`; `select`; `textarea`; form-associated custom element
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`formaction`

HTML Specification `formaction`
Element(s) `button`; `input`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`formenctype`

HTML Specification `formenctype`
Element(s) `button`; `input`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`formmethod`

HTML Specification `formmethod`
Element(s) `button`; `input`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`formnovalidate`

HTML Specification `formnovalidate`
Element(s) `button`; `input`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`formtarget`

HTML Specification `formtarget`
Element(s) `button`; `input`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`headers`

HTML Specification `headers`
Element(s) `td`; `th`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Links the cell to its header cells. Exposed via `IAccessibleTableCell::rowHeaderCells` and `IAccessibleTableCell::columnHeaderCells`.
UIA
Links the cell to its header cells. Exposed via `Table.ItemColumnHeaderItems` and `Table.ItemRowHeaderItems`.
ATK
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`.
AX Expose via `AXColumnHeaderUIElements` and `AXRowHeaderUIElements`
Comments

`height`

HTML Specification `height`
Element(s) `canvas`; `embed`; `iframe`; `img`; `input`; `object`; `source` (in `picture`); `video`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Defines an accessible object's height (`IAccessible::accLocation`)
UIA
Defines an accessible object's height (`BoundingRectangle`)
ATK
Defines an accessible object's height (`atk_component_get_size`)
AX
Defines an accessible object's height (`AXSize` property)
Comments

`hidden`

HTML Specification `hidden`
Element(s) HTML elements
[[WAI-ARIA-1.2]] `aria-hidden="true"` if the element retains its user agent default styling of `display: none`. Otherwise, if no other method for hiding the content is used (e.g., `visibility: hidden`) then it is not mapped.
MSAA + IAccessible2 Use WAI-ARIA mapping
UIA Use WAI-ARIA mapping
ATK Use WAI-ARIA mapping
AX Use WAI-ARIA mapping
Comments

`high`

HTML Specification `high`
Element(s) `meter`
[[WAI-ARIA-1.2]] Not mapped
MSAA + IAccessible2
Not mapped
UIA `RangeValue.Maximum`
ATK
Not mapped
AX
Not mapped
Comments

`href`

HTML Specification `href`
Element(s) `a`; `area`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Creates a link accessible object. For details, refer to `a` and `area` element mappings.
UIA 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.
ATK
Creates a link accessible object. For details, refer to `a` and `area` element mappings.
AX `AXURL: <value>`
Comments
HTML Specification `href`
Element(s) `link`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`hreflang`

HTML Specification `hreflang`
Element(s) `a`; `link`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`http-equiv`

HTML Specification `http-equiv`
Element(s) `meta`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`id`

HTML Specification `id`
Element(s) HTML elements
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`inert`

HTML Specification `inert`
Element(s) HTML elements
[[WAI-ARIA-1.2]] Not Mapped
MSAA + IAccessible2 See comments
UIA See comments
ATK See comments
AX See comments
Comments

Nodes that are inert are not exposed to an accessibility API.

Note: an inert node can have descendants that are not inert. For example, a modal dialog can escape an inert subtree.

`indeterminate [IDL]`

HTML Specification `indeterminate [IDL]`
Element(s) HTML elements; `input`
[[WAI-ARIA-1.2]] `aria-checked` (state)="mixed"
MSAA + IAccessible2 Use WAI-ARIA mapping
UIA Use WAI-ARIA mapping
ATK Use WAI-ARIA mapping
AX Use WAI-ARIA mapping
Comments If the element has the `indeterminate [IDL]` set and the `aria-checked` attribute set, User Agents MUST expose only the `indeterminate [IDL]` state.

`ismap`

HTML Specification `ismap`
Element(s) `img`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`itemid`

HTML Specification `itemid`
Element(s) `img`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`itemprop`

HTML Specification `itemprop`
Element(s) `img`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`itemref`

HTML Specification `itemref`
Element(s) `img`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`itemscope`

HTML Specification `itemscope`
Element(s) `img`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`itemtype`

HTML Specification `itemtype`
Element(s) `img`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`kind`

HTML Specification `kind`
Element(s) `track`
[[WAI-ARIA-1.2]] Not mapped
MSAA + IAccessible2 Not mapped
UIA Not mapped
ATK Not mapped
AX Not mapped
Comments

`label`

HTML Specification `label`
Element(s) `optgroup`; `option`; `track`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Associates the accessible name
UIA The target element of the `label` attribute has a `LabeledBy` property pointing to the element with the `label` attribute. Participates in name computation.
ATK
Associates the accessible name
AX `AXTitle`: `<value>`
Comments See Also: Accessible Name and Description: Computation and API Mappings 1.1

`lang`

HTML Specification `lang`
Element(s) HTML elements
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Exposed as "language" text attribute on the text container
UIA
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.
ATK
Exposed as "language" text attribute on the text container
AX `AXLanguage: <value>`
Comments

`list`

HTML Specification `list`
Element(s) `input`
[[WAI-ARIA-1.2]] `aria-controls`
MSAA + IAccessible2
`IA2_RELATION_CONTROLLER_FOR` point to the `datalist` element referred to by the IDREF value of the `list` attribute.
UIA
`ControllerFor` point to the `datalist` element referred to by the IDREF value of the `list` attribute.
ATK
`ATK_RELATION_CONTROLLER_FOR` point to the `datalist` element referred to by the IDREF value of the `list` attribute.
AX
Property: `AXLinkedUIElements`: point to the `datalist` element referred to by the IDREF value of the `list` attribute.
Comments Refer to `datalist` and `input` element mappings.

`loop`

HTML Specification `loop`
Element(s) `audio`; `video`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`low`

HTML Specification `low`
Element(s) `meter`
[[WAI-ARIA-1.2]] Not mapped
MSAA + IAccessible2
Not mapped
UIA
`RangeValue.Minimum`
ATK
Not mapped
AX
Not mapped
Comments

`max`

HTML Specification `max`
Element(s) `input`
[[WAI-ARIA-1.2]] `aria-valuemax`
MSAA + IAccessible2
Exposed as `IAccessibleValue::maximumValue` if the element implements the interface
UIA `RangeValue.Maximum`
ATK
Exposed as `atk_value_get_maximum_value` if the element implements the `AtkValue` interface
AX `AXMaxValue: <value>`
Comments

`max`

HTML Specification `max`
Element(s) `meter`; `progress`
[[WAI-ARIA-1.2]] `aria-valuemax`
MSAA + IAccessible2
Exposed as `IAccessibleValue::maximumValue` if the element implements the interface
UIA `RangeValue.Maximum`
ATK
Exposed as `atk_value_get_maximum_value` if the element implements the `AtkValue` interface
AX `AXMaxValue: <value>`
Comments

`maxlength`

HTML Specification `maxlength`
Element(s) `input`; `textarea`
[[WAI-ARIA-1.2]] Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`media`

HTML Specification `media`
Element(s) `link`; `meta`; `source` (in `picture`); `style`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`method`

HTML Specification `method`
Element(s) `form`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`min`

HTML Specification `min`
Element(s) `input`
[[WAI-ARIA-1.2]] `aria-valuemin`
MSAA + IAccessible2
Exposed as `IAccessibleValue::minimumValue` if the element implements the interface
UIA `RangeValue.Minimum`
ATK
Exposed as `atk_value_get_minimum_value` if the element implements the `AtkValue` interface
AX `AXMinValue: <value>`
Comments

`min`

HTML Specification `min`
Element(s) `meter`
[[WAI-ARIA-1.2]] `aria-valuemin`
MSAA + IAccessible2
Exposed as `IAccessibleValue::minimumValue` if the element implements the interface
UIA `RangeValue.Minimum`
ATK
Exposed as `atk_value_get_minimum_value` if the element implements the `AtkValue` interface
AX `AXMinValue: <value>`
Comments

`minlength`

HTML Specification `minlength`
Element(s) `input`; `textarea`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
States: `IA2_STATE_INVALID_ENTRY` if value doesn't meet the designated minimum length value.
UIA
States: `IsDataValidForForm` if value doesn't meet the designated minimum length value.
ATK
States: `ATK_STATE_INVALID_ENTRY` if value doesn't meet the designated minimum length value.
AX
Property: `AXInvalid`: `true` if value doesn't meet the designated minimum length value.
Comments

`multiple`

HTML Specification `multiple`
Element(s) `input`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`multiple`

HTML Specification `multiple`
Element(s) `select`
[[WAI-ARIA-1.2]] `aria-multiselectable="true"`
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`muted`

HTML Specification `muted`
Element(s) `audio`; `video`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`name`

HTML Specification `name`
Element(s) `button`; `fieldset`; `input`; `output`; `select`; `textarea`; form-associated custom element
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`name`

HTML Specification `name`
Element(s) `form`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`name`

HTML Specification `name`
Element(s) `iframe`; `object`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`name`

HTML Specification `name`
Element(s) `map`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`name`

HTML Specification `name`
Element(s) `meta`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`name`

HTML Specification `name`
Element(s) `slot`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`nomodule`

HTML Specification `nomodule`
Element(s) `script`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`nonce`

HTML Specification `nonce`
Element(s) HTML elements
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`novalidate`

HTML Specification `novalidate`
Element(s) `form`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`open`

HTML Specification `open`
Element(s) `details`
[[WAI-ARIA-1.2]] `aria-expanded`="true | false"
MSAA + IAccessible2 `STATE_SYSTEM_EXPANDED`
`STATE_SYSTEM_COLLAPSED`
UIA `ExpandCollapsePattern`
ATK
States: `ATK_STATE_COLLAPSED` or `ATK_STATE_EXPANDED` depending on the attribute value
AX `AXExpanded: YES|NO`
Comments Set properties on the `summary` element.

`open`

HTML Specification `open`
Element(s) `dialog`
[[WAI-ARIA-1.2]]
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"`.
MSAA + IAccessible2 Use WAI-ARIA mapping
UIA Use WAI-ARIA mapping
ATK Use WAI-ARIA mapping
AX Use WAI-ARIA mapping
Comments

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`

HTML Specification `optimum`
Element(s) `meter`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`pattern`

HTML Specification `pattern`
Element(s) `input`
[[WAI-ARIA-1.2]]
If the value doesn't match the pattern: `aria-invalid="true"`; Otherwise, `aria-invalid="false"`
MSAA + IAccessible2 Use WAI-ARIA mapping
UIA Use WAI-ARIA mapping
ATK Use WAI-ARIA mapping
AX Use WAI-ARIA mapping
Comments

`ping`

HTML Specification `ping`
Element(s) `a` and `area`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`placeholder`

HTML Specification `placeholder`
Element(s) `input`; `textarea`
[[WAI-ARIA-1.2]] `aria-placeholder`
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
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`

HTML Specification `playsinline`
Element(s) `video`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`poster`

HTML Specification `poster`
Element(s) `video`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`preload`

HTML Specification `preload`
Element(s) `audio` and `video`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`readonly`

HTML Specification `readonly`
Element(s) `input`; `textarea`; form-associated custom elements
[[WAI-ARIA-1.2]] `aria-readonly="true"`
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments If the element includes both the `readonly` attribute and the `aria-readonly` attribute with a valid value, User Agents MUST expose only the `readonly` attribute value.

`referrerpolicy`

HTML Specification `referrerpolicy`
Element(s) `a`; `area`; `iframe`; `img`; `link`; `script`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`rel`

HTML Specification `rel`
Element(s) `a`; `area`; `link`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`required`

HTML Specification `required`
Element(s) `input`; `select`; `textarea`
[[WAI-ARIA-1.2]] `aria-required`
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

If the element includes both the `required` attribute and the `aria-required` attribute with a valid value, User Agents MUST expose only the `required` attribute value.

If an element is required, user agents MUST NOT expose the element with an intitial invalid state (`aria-invalid="true"`). The user agent SHOULD expose the invalid state only after 1) a user has purposefully interacted with a required element, or attempted to submit a form and 2) the element, or elements, do not meet constraint validation.

Until these conditions are met, user agents MUST expose the elements as (`aria-invalid="false"`).

`reversed`

HTML Specification `reversed`
Element(s) `ol`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Reverses the numerical or alphabetical order of the child list item markers.
UIA
Reverses the numerical or alphabetical order of the child list item markers.
ATK
Reverses the numerical or alphabetical order of the child list item markers.
AX
Reverses the numerical or alphabetical order of the child list item markers.
Comments

`rows`

HTML Specification `rows`
Element(s) `textarea`
[[WAI-ARIA-1.2]] Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`rowspan`

HTML Specification `rowspan`
Element(s) `td`; `th`
[[WAI-ARIA-1.2]] `aria-rowspan`
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`sandbox`

HTML Specification `sandbox`
Element(s) `iframe`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`scope`

HTML Specification `scope`
Element(s) `th`
[[WAI-ARIA-1.2]]
If `scope="row"` then map `th` to `rowheader`
If `scope="col"` then map `th` to `columnheader`
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`selected`

HTML Specification `selected`
Element(s) `option`
[[WAI-ARIA-1.2]] `aria-selected="true"`
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments If the element includes both the `selected` attribute and the `aria-selected` attribute with a valid value, User Agents MUST expose only the `selected` attribute value.

`shape`

HTML Specification `shape`
Element(s) `area`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`size`

HTML Specification `size`
Element(s) `input`; `select`
[[WAI-ARIA-1.2]]
Not mapped for `input` elements.
If greater than 1, then creates a listbox accessible object. Refer to `select` element for details.
MSAA + IAccessible2
Not mapped for `input` elements.
For `select` element use WAI-ARIA mapping.
UIA
Not mapped for `input` elements.
For `select` element use WAI-ARIA mapping.
ATK
Not mapped for `input` elements.
For `select` element use WAI-ARIA mapping.
AX
Not mapped for `input` elements.
For `select` element use WAI-ARIA mapping.
Comments 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`

HTML Specification `sizes`
Element(s) `link`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`sizes`

HTML Specification `sizes`
Element(s) `img`; `source`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`slot`

HTML Specification `slot`
Element(s) HTML elements
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`span`

HTML Specification `span`
Element(s) `col`; `colgroup`
[[WAI-ARIA-1.2]] Not mapped
MSAA + IAccessible2
Exposed as `IAccessibleTableCell::columnExtent` on all cells at the column
UIA
Exposed as `GridItem.ColumnSpan` on all cells at the column
ATK
Exposed via `atk_table_get_column_extent_at`
AX
`AXColumnIndexRange.length: <value>`
Comments

`spellcheck`

HTML Specification `spellcheck`
Element(s) HTML elements
[[WAI-ARIA-1.2]] `aria-invalid="spelling"` or `grammar`
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`src`

HTML Specification `src`
Element(s) `audio`; `embed`; `iframe`; `img`; `input`; `script`; `source` (in `audio` or `video`); `track`; `video`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Object attributes: `src` on `img` only
UIA
Not mapped
ATK
Object attributes: `src` on `img` only
AX `AXURL: <value>` on `img` and `input type="image"`
Comments

`srcdoc`

HTML Specification `srcdoc`
Element(s) `iframe`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`srclang`

HTML Specification `srclang`
Element(s) `track`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`srcset`

HTML Specification `srcset`
Element(s) `img`; `source`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not Mapped
Comments

`start`

HTML Specification `start`
Element(s) `ol`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Changes the first number of the child list item accessible objects to match the `start` attribute's value.
UIA
Changes the first number of the child list item accessible objects to match the `start` attribute's value.
ATK
Changes the first number of the child list item accessible objects to match the `start` attribute's value.
AX
Changes the first number of the child list item accessible objects to match the `start` attribute's value.
Comments

`step`

HTML Specification `step`
Element(s) `input`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA If the `input` is in the `Range` state, set both `RangeValue.SmallChange` and `RangeValue.LargeChange` to the value of `step`.
ATK
Exposed as `atk_value_get_minimum_increment` if the element implements the `AtkValue` interface.
AX Not mapped
Comments

`style`

HTML Specification `style`
Element(s) HTML elements
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`tabindex`

HTML Specification `tabindex`
Element(s) HTML elements
[[WAI-ARIA-1.2]] See Focus States and Events Table
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments

`target`

HTML Specification `target`
Element(s) `a`; `area`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`target`

HTML Specification `target`
Element(s) `base`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`target`

HTML Specification `target`
Element(s) `form`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`title`

HTML Specification `title`
Element(s) HTML elements
[[WAI-ARIA-1.2]]
Either the accessible name, or the accessible description, or Not mapped (see Comments).
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
The Accessible Name and Description Computation section specifies if the `title` attribute will be mapped and, if so, through what [[WAI-ARIA]] property.

`title`

HTML Specification `title`
Element(s) `abbr`; `dfn`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Associates the accessible name
UIA
Associates the accessible name
ATK
Associates the accessible name
AX `AXExpandedTextValue: <value>`
Comments
HTML Specification `title`
Element(s) `link`
[[WAI-ARIA-1.2]] Not mapped
MSAA + IAccessible2 Not mapped
UIA Not mapped
ATK Not mapped
AX Not mapped
Comments

`title`

HTML Specification `title`
Element(s) `link`; `style`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments Provides the name for the CSS style sheet.

`translate`

HTML Specification `translate`
Element(s) HTML elements
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
HTML Specification `type`
Element(s) `a`; `link`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`type`

HTML Specification `type`
Element(s) `button`
[[WAI-ARIA-1.2]] Not mapped
MSAA + IAccessible2
`submit` type may be a default button in the form.
UIA
`submit` type may be a default button in the form.
ATK
`submit` type may be a default button in the form.
AX
`submit` type may be a default button in the form.
Comments

`type`

HTML Specification `type`
Element(s) `embed`; `object`; `script`; `source`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`type`

HTML Specification `type`
Element(s) `input`
[[WAI-ARIA-1.2]] Refer to WAI-ARIA mappings for input types with defined ARIA roles.
MSAA + IAccessible2
Defines the accessible role, states and other properties, refer to type="`text`", type="`password`", type="`button`", etc
UIA
Defines the accessible role, states and other properties, refer to type="`text`", type="`password`", type="`button`", etc
ATK
Defines the accessible role, states and other properties, refer to type="`text`", type="`password`", type="`button`", etc
AX
Defines the accessible role, states and other properties, refer to type="`text`", type="`password`", type="`button`", etc
Comments

`type`

HTML Specification `type`
Element(s) `ol`
[[WAI-ARIA-1.2]] Not mapped
MSAA + IAccessible2
Defines the list item marker, which has no accessible object, but is exposed as content in the accessible text of the associated list item.
Interfaces: `IAccessibleText2`
UIA
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`
ATK
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`
AX
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"`
Comments
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`

HTML Specification `usemap`
Element(s) `img`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Responsible for image map creation.
UIA
Responsible for image map creation.
ATK
Responsible for image map creation.
AX
Responsible for image map creation.
Comments Refer to `img` element.

`value`

HTML Specification `value`
Element(s) `button`; `option`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`value`

HTML Specification `value`
Element(s) `data`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

`value`

HTML Specification `value`
Element(s) `input`
[[WAI-ARIA-1.2]] Not mapped
MSAA + IAccessible2
Associates the accessible value for entry type input elements and accessible name for button type input elements
UIA
Associates the accessible value for entry type input elements and accessible name for button type input elements
ATK
Associates the accessible value for entry type input elements and accessible name for button type input elements
AX `AXValue: <value>`
Comments

`value`

HTML Specification `value`
Element(s) `li`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Exposed as first text node of `li`'s accessible object.
UIA
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.
ATK
Exposed as first text node of `li`'s accessible object.
AX
Exposed as `AXValue: <value>` with accessible object:
AXRole: `AXListMarker`
AXSubrole: `(nil)`
AXRoleDescription: `list marker`
Comments

`value`

HTML Specification `value`
Element(s) `meter`; `progress`
[[WAI-ARIA-1.2]] `aria-valuenow`
MSAA + IAccessible2
Exposed as `IAccessibleValue::currentValue`
UIA
Exposed as `Value.Value`
ATK
Exposed as `atk_value_get_current_value`
AX
`AXValue: <value>`
Comments

`width`

HTML Specification `width`
Element(s) `canvas`; `embed`; `iframe`; `img`; `input`; `object`; `source` (in `picture`); `video`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Defines an accessible object's width (`IAccessible::accLocation`)
UIA
Defines an accessible object's width (`BoundingRectangle`)
ATK
Defines an accessible object's width (`atk_component_get_size`)
AX AXSize: w=n
Comments

`wrap`

HTML Specification `wrap`
Element(s) `textarea`
[[WAI-ARIA-1.2]]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

Accessible Name and Description Computation

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.

User Agents notify assistive technology when relevant accessibility information changes, sometimes by destroying and recreating the accessibility object, or sometimes by notifying of changes to the object per the specified name change event mappings and description change event mappings.

Accessible Name Computations By HTML Element

`input type="text"`, `input type="password"`, `input type="number"`, `input type="search"`,` input type="tel"`, `input type="email"`, `input type="url"` and `textarea` Element Accessible Name Computation

  1. If the control 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.
  2. Otherwise use the associated `label` element or elements accessible name(s) - if more than one `label` is associated; concatenate by DOM order, delimited by spaces.
  3. If the accessible name is still empty, then: use the control's `title` attribute.
  4. Otherwise use the control's placeholder value.
  5. If none of the above yield a usable text string there is no accessible name.

`input type="button"`, `input type="submit"` and `input type="reset"` Accessible Name Computation

  1. If the control 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.
  2. Otherwise use the associated `label` element(s) accessible name(s) - if more than one `label` is associated; concatenate by DOM order, delimited by spaces.
  3. Otherwise use the `value` attribute.
  4. For `input type=submit` and `type=reset`: if the prior steps do not yield a usable text string, and the `value` attribute is unspecified use the implementation defined string respective to the input type.
  5. Otherwise, if the control still has no accessible name use `title` attribute.
  6. If none of the above yield a usable text string there is no accessible name.

`input type="image"` Accessible Name Computation

  1. If the control 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.
  2. Otherwise use the associated `label` element(s) accessible name(s) - if more than one `label` is associated; concatenate by DOM order, delimited by spaces.
  3. Otherwise use `alt` attribute if present and its value is not the empty string.
  4. Otherwise use `title` attribute if present and its value is not the empty string.
  5. Otherwise if the previous steps do not yield a usable text string, use the implementation defined string respective to the input type (an `input` in the `image` state represents a submit button). For instance, a localized string of the word "submit" or the words "Submit Query".
  6. If none of the above yield a usable text string there is no accessible name.

`button` Element Accessible Name Computation

  1. If the `button` element has an `aria-label` or an `aria-labelledby` attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.
  2. Otherwise use the associated `label` element(s) accessible name(s) - if more than one `label` is associated; concatenate by DOM order, delimited by spaces.
  3. Otherwise use the `button` element subtree.
  4. Otherwise use `title` attribute.
  5. If none of the above yield a usable text string there is no accessible name.

`fieldset` Element Accessible Name Computation

  1. If the `fieldset` element has an `aria-label` or an `aria-labelledby` attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.
  2. If the accessible name is still empty, then: if the `fieldset` element has a child that is a legend element, then use the subtree of the first such element.
  3. If the accessible name is still empty, then:, if the `fieldset` element has a `title` attribute, then use that attribute.
  4. Otherwise, there is no accessible name.

`output` Element Accessible Name Computation

  1. If the `output` element has an `aria-label` or an `aria-labelledby` attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.
  2. Otherwise use the associated `label` element or elements accessible name(s) - if more than one `label` is associated; concatenate by DOM order, delimited by spaces.
  3. Otherwise use `title` attribute.
  4. If none of the above yield a usable text string there is no accessible name.

Other Form Elements Accessible Name Computation

  1. If the control 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.
  2. Otherwise use `label` element.
  3. Otherwise use `title` attribute.
  4. If none of the above yield a usable text string there is no accessible name.

`summary` Element Accessible Name Computation

  1. If the first `summary` element, which is a direct child of the `details` element, has an `aria-label` or an `aria-labelledby` attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.
  2. Otherwise use `summary` element subtree.
  3. Otherwise use `title` attribute.
  4. If there is no `summary` element as a direct child of the `details` element, the user agent should provide one with a subtree containing a localized string of the word "details".
  5. If there is a `summary` element as a direct child of the `details` element, but none of the above yield a usable text string, there is no accessible name.

`figure` Element Accessible Name Computation

  1. If the `figure` element has an `aria-label` or an `aria-labelledby` attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.
  2. If the accessible name is still empty, then: if the `figure` element has a child that is a `figcaption` element, then use the subtree of the first such element.
  3. If the accessible name is still empty, then: if the `figure` element has a `title` attribute, then use that attribute.
  4. Otherwise, there is no accessible name.

`img` Element Accessible Name Computation

  1. If the `img` element has an `aria-label` or an `aria-labelledby` attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.
  2. Otherwise use `alt` attribute, even if its value is the empty string.
    An `img` with an `alt` attribute whose value is the empty string is mapped to the `presentation` role. It has no accessible name.
  3. Otherwise, if there is no `alt` attribute use the `title` attribute.
  4. Otherwise there is no accessible name.

`table` Element Accessible Name Computation

  1. If the `table` element has an `aria-label` or an `aria-labelledby` attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.
  2. If the accessible name is still empty, then: if the `table` element has a child that is a caption element, then use the subtree of the first such element.
  3. If the accessible name is still empty, then: if the `table` element has a `title` attribute, then use that attribute.
  4. Otherwise, there is no accessible name.

`tr`, `td`, `th` Elements Accessible Name Computation

  1. If the 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.
  2. Otherwise use the `title` attribute.
  3. If none of the above yield a usable text string there is no accessible name.

`a` Element Accessible Name Computation

  1. If the `a` element has an `aria-label` or an `aria-labelledby` attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.
  2. Otherwise use `a` element subtree.
  3. Otherwise use the `title` attribute.
  4. If none of the above yield a usable text string there is no accessible name.

`area` Element Accessible Name Computation

  1. If the `area` element has an `aria-label` or an `aria-labelledby` attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.
  2. Otherwise use `area` element's `alt` attribute.
  3. Otherwise use the `title` attribute.
  4. If none of the above yield a usable text string there is no accessible name.

`iframe` Element Accessible Name Computation

  1. If the 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.
  2. Otherwise use the `title` attribute.
  3. If none of the above yield a usable text string there is no accessible name.

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.

Section and Grouping Element Accessible Name Computation

  1. If the 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.
  2. Otherwise use the `title` attribute.
  3. If none of the above yield a usable text string there is no accessible name.

Text-level Element Accessible Name Computation

`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`

  1. If the 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.
  2. Otherwise use the `title` attribute.
  3. If none of the above yield a usable text string there is no accessible name.

Accessible Description Computation

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.

  1. If the element has an `aria-describedby` or `aria-description` attribute refer to the computation conditions defined in Accessible Name and Description: Computation and API Mappings.
  2. Otherwise, if the accessible description is still empty, and the element is:
  3. Otherwise, use the flat string of the `title` attribute if it was not used as the accessible name for the element.
  4. If none of the above are applicable, there is no accessible description.

Privacy considerations

In accordance with Web Platform Design Principles, this specification provides no programmatic interface to determine if information is being used by Assistive Technologies. However, this specification does allow an author to present different information to users of Assistive Technologies from the information available to users who do not use Assistive Technologies. This is possible using many features of the ARIA and CORE-AAM specifications, just as this is possible using many other parts of the web technology stack. This content disparity could be abused to perform active fingerprinting of users of Assistive Technologies.

Security considerations

This specification introduces no new security considerations.

Appendices

Change Log

Review the commit history of this document on GitHub.

Substantive changes since moving to the Accessible Rich Internet Applications Working Group (03-Nov-2019)

  • 09-Oct-2023: Acknowledge use of `hr` element within `select` element. See GitHub PR 504.
  • 03-Oct-2023: Update image mappings to reference the primary synonym roles (`image` and `none`). See GitHub PR 498.
  • 03-Oct-2023: Clarify when to expose required field as invalid. See GitHub PR 429.
  • 06-Jun-2023: Add computed roles for all HTML elements. See GitHub PR 465.
  • 28-Mar-2023: Add `inert` attribute mapping. See GitHub PR 410.
  • 24-Mar-2023: Add `search` element and its mappings. See GitHub PR 355.
  • 08-Mar-2023: Update `hgroup` element to be mapped to `role=group`. See GitHub PR 398.
  • 08-Mar-2023: Clarify naming algorithm for `output` element. See GitHub PR 402.
  • 12-Dec-2022: Revise mapping for `s` element to be `role=deletion`. See GitHub PR 442.
  • 28-Nov-2022: Simplify accessible description computation section. See GitHub PR 444.
  • 19-Jul-2022: Update `address` element to be mapped to `role=group`. See GitHub PR 420.
  • 03-Apr-2022: Update `aside` mappings based on its nesting context. See GitHub PR 350.
  • 06-Mar-2022: Update the following elements to map to the `generic` role: `a no href`, `footer` not scoped to `body`, `header` not scoped to `body`, `samp`, `span`. See GitHub PR 364.
  • 06-Feb-2022: Update `mark` to point to Core AAM mapping for the role. See GitHub Issue 316.
  • 02-Nov-2021: Updating `blockquote`, `caption`, `code`, `del`, `em`, `ins`, `meter`, `paragraph`, `strong`, `sub`, `sup` and `time` to ARIA 1.2 mappings in Core AAM. Fix `body` mapping to `generic`, and `html` mapping to `document`. Fix `hgroup` mapping to `generic`. Update `details` to map to `group` with additional information specific to ATK, UIA. See GitHub issue #348
  • 12-May-2021: Add FACES references to attributes table - `readonly`, `name`, `form`, `disabled`. See Issue 257.
  • 12-Dec-2019: Adds `hgroup`, `slot`, autonomous custom element and form associated custom element. See GitHub issue #189.
  • 26-Nov-2019: Updates mappings for `disabled`, `scope`, `spellcheck`, `tabindex` to point to WAI-ARIA. Adds AX `pattern`, `reversed`, `rows`, `size`, `span`, `src`, `start`, `step`, `type` attribute mappings. Adds `min-length`, `ping`, `playsinline`, `referrerpolicy`, `sizes`, `srcset`, `data[value]` attribute mappings. See GitHub pull request #245.

Substantive changes since moving to the Web Application Working Group (formerly Web Platform WG) (01-Oct-2016)

  • 30-Sept-2019: Remove mappings for `rb` and `rtc` elements as they are marked as obsolete in HTML. See GitHub issue #115 and pull request #253.
  • 23-Sept-2019: Update attribute mappings for `high`, `low`, `max`, `min`, and `meter` and `progress`'s `value` attribute. See GitHub pull request #244.
  • 18-Sept-2019: Update `mark` element's UIA `LocalizedControlType` and AX `AXRoleDescription`. See GitHub issue #236.
  • 18-Sept-2019: Update ATK mappings for `summary` and `details` elements. See GitHub issue #142 and GitHub issue #147.
  • 18-Sept-2019: Update MSAA mappings for `sub` and `sup`. See GitHub pull request #252.
  • 11-Sept-2019: Update mapping for [^menu^] to match HTML Living Standard. Remove element and attribute mappings that are not applicable to `menu` and `menuitem`. Update mapping of `menu` to `role="list"`. See GitHub issue #188.
  • 10-July-2019: Further updated mappings for `ins` and `del` elements. See GitHub pull request #219.
  • 13-June-2019: Update mappings for `ins` and `del` elements. See GitHub issue #141.
  • 10-June-2019: Update ATK mappings for `header` and `footer` when not scoped to the `body`. See GitHub issue #129.
  • 21-May-2019: Update AXAPI mappings for `map` element. Add accessible name and description computation for `area`. See GitHub issue #176.
  • 11-Apr-2019: Update UIA mappings for `sub` and `sup` elements. See Pull request #177.
  • 20-Mar-2019: Updated IA2 mappings for `sup` and `sub` elements. See GitHub issue #174.
  • 26-Feb-2019: Updated mappings for the `address` element. See GitHub issue #170.
  • 19-Feb-2019: Added `placeholder` attribute to accessible name computation for various `input` elements. See GitHub issue #167.
  • 07-Feb-2018: Added entries for the `rb` and `rtc` elements, and updated AXAPI mappings for the `rb`, `rt` and `ruby` elements. See GitHub issue #115.
  • 07-Feb-2018: Updated mappings for the `svg` element. See GitHub issue #43.
  • 07-Feb-2018: Updated AXAPI mappings for the `del` and `ins` elements, and the `datetime` attribute.
  • 07-Feb-2018: Aligned mappings with CORE-AAM as appropriate for `header` and `footer` when scoped to `body`, `aside`, and `output`. See GitHub issue #119.
  • 07-Feb-2018: Updated ATK and AX mappings for the `multiple` attribute on `input` element. See GitHub issue #96.
  • 07-Feb-2018: Updated ATK mappings for the `sub` and `sup` elements. See GitHub issue #121.
  • 07-Feb-2018: Updated mappings for the `body` element. See GitHub issue #117.
  • 01-Feb-2018: Updated IA2 mapping for the `meter` element. See GitHub issue #2.
  • 29-Jan-2018: Updated heading mapping to reflect implementations. See GitHub issue #116.
  • 23-Jan-2018: Added note regarding effect of some CSS properties. See GitHub issue #234.
  • 23-Jan-2018: Updated mappings for the `address` element. See GitHub issue #33.
  • 23-Jan-2018: Updated mappings for the `dt` element. See GitHub issue #78.
  • 23-Jan-2018: Updated AXAPI mappings for the `mark` element.
  • 08-Jan-2018: Updated mappings for the `input` element with the `type` attribute in the Color state. See GitHub issue #48.
  • 06-Jan-2018: Updated IA2 mappings for the `pre`, `q`, and `ruby` elements, and the `multiple` attribute for the `input` element. See GitHub issue #94.
  • 18-Dec-2017: Rewrote first paragraph in Introduction to better reflect the relationship between the HTML-AAM and CORE-AAM specifications. See GitHub issue #66.
  • 18-Dec-2017: Updated `readonly` attribute to use `aria-readonly="true"` WAI-ARIA mappings. See GitHub issue #93.
  • 08-Dec-2017: Changed AXAPI mapping for the `canvas` element from `AXImage` to `AXGroup`.
  • 01-Dec-2017: Updated mappings for the `dfn` element. See GitHub issue #6.
  • 30-Nov-2017: Updated mappings for the `meter` element. See GitHub issue #2.
  • 24-Nov-2017: Updated mappings for the `audio` and `video` elements. See GitHub issue #80.
  • 23-Nov-2017: Updated `figure` element mappings to reflect the WAI-ARIA `figure` role mappings.
  • 23-Nov-2017: Updated mappings for the `form` element based on presence of accessible name. See GitHub issue #106.
  • 23-Nov-2017: Removed the accessible name computation requirement to ignore an `img` element's `title` attribute when the element's `alt` attribute is empty. See GitHub issue #99.
  • 23-Nov-2017: Added note to not expose `aria-roledescription` unless element also a conforming `role` attribute value. See GitHub issue #98.
  • 09-Aug-2017: Updated mappings for the `type` attribute on the `ol` element. See GitHub issue #91.
  • 25-July-2017: Updated UIA mappings for multiple elements and attributes. See GitHub issue #95 and GitHub pull request #101.
  • 02-June-2017: Updated AXAPI mappings for `title` attribute on `abbr` element, and `abbr` attribute on `th` element. See GitHub issue #16.
  • 31-May-2017: Updated mappings for `hidden` attribute. See GitHub issue #38.
  • 24-May-2017: Updated mappings for `selected` attribute. See GitHub issue #92.
  • 01-May-2017: Updated AXAPI mapping for `time` element. See GitHub issue #88.
  • 27-Apr-2017: Updated UIA mappings for `lang` and `dir` attributes. See GitHub issue #19.
  • 19-Apr-2017: Updated mapping for `colspan` and `rowspan` attributes. See GitHub issue #56 and issue #57.
  • 03-Apr-2017: Updated mapping for `section` element. See GitHub issue #79.
  • 23-Dec-2016: No mapping for `datalist` element if not linked with `input` element. See GitHub issue #26.
  • 23-Dec-2016: Updated IA2 mapping for `list` attribute. See GitHub issue #21.
  • 22-Dec-2016: Sync mappings for `footer` and `header` elements. See GitHub issue #59.
  • 22-Dec-2016: Updated IA2 mapping for `input@type='date'` attribute. See GitHub issue #61.
  • 22-Dec-2016: Updated IA2 mapping for `input@type='file'` element. See GitHub issue #62.
  • 22-Dec-2016: Updated IA2 mapping for `summary` element. See GitHub issue #64.
  • 14-Dec-2016: Updated wording distinguishing when `header` and `footer` elements are or are not ARIA landmarks. See GitHub issue #65.
  • 07-Dec-2016: Modified `aria-multiselectable` mapping for `datalist` to reflect listbox selection model. See GitHub issue #71.
  • 07-Dec-2016: Mappings for the `multiple` attribute on `input` and `select` elements. See GitHub issue #72.
  • 27-Nov-2016: Added implementation rules for the `checked`, `contenteditable`, `disabled`, and `indeterminate` attributes.
  • 21-Nov-2016: Removed `placeholder` attribute from accessible description computation for various `input` elements.

Acknowledgments

The following people contributed to the development of this document.