HTML Accessibility API Mappings 1.0

W3C Working Draft

More details about this document
This version:
https://www.w3.org/TR/2022/WD-html-aam-1.0-20221026/
Latest published version:
https://www.w3.org/TR/html-aam-1.0/
Latest editor's draft:
https://w3c.github.io/html-aam/
History:
https://www.w3.org/standards/history/html-aam-1.0
Commit history
Editors:
Steve Faulkner (TPGi)
Scott O'Hara (Microsoft)
Former editors:
Alexander Surkov (Mozilla Foundation) (until August 2018)
Bogdan Brinza (Microsoft) (until July 2018)
Jason Kiss (Invited Expert) (until June 2018)
Cynthia Shelly (Microsoft) (until September 2013)
Feedback:
GitHub w3c/html-aam (pull requests, new issue, open issues)

Abstract

HTML Accessibility API Mappings (HTML-AAM) defines how user agents map HTML [HTML] elements and attributes to platform accessibility application programming interfaces (APIs). It leverages and extends the Core Accessibility API Mappings 1.2 and the Accessible Name and Description Computation 1.1 for use with the HTML host language. Documenting these mappings promotes interoperable exposure of roles, states, properties, and events implemented by accessibility APIs and helps to ensure that this information appears in a manner consistent with author intent.

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

Status of This Document

This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.

Note

This document is subject to change without notice.

This document was initially developed by and with the approval of the HTML Accessibility Taskforce, a joint task force of the Protocols and Formats Working Group and the HTML Working Group. Work continued with the successor groups Accessible Rich Internet Applications Working Group and the Web Applications Working Group. This document is now maintained solely by the Accessible Rich Internet Applications Working Group.

This document was published by the Accessible Rich Internet Applications Working Group as a Working Draft using the Recommendation track.

Publication as a Working Draft does not imply endorsement by W3C and its Members.

This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document was produced by a group operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

This document is governed by the 2 November 2021 W3C Process Document.

1. Introduction

This section is non-normative.

This specification defines how HTML user agents respond to and expose role, state and property information provided for Web content. Unless indicated otherwise, an HTML element or attribute with default Accessible Rich Internet Applications (WAI-ARIA) 1.1 semantics must be exposed to the platform accessibility APIs according to the relevant WAI-ARIA mappings defined in the Core Accessibility API Mappings 1.2 ([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 Accessible Name and Description Computation 1.2 specification for deriving the accessible names and accessible descriptions of [HTML] elements, and provides accessible implementation examples for specific HTML elements and features.

Users often access HTML content using assistive technologies that rely on platform accessibility API to obtain and interact with information from the page. This document is part of the following suite of accessibility API mapping specifications for content rendered by user agents:

1.1 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 Accessibility API Mappings 1.2.

2. Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words MAY, MUST, MUST NOT, and SHOULD in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

The classification of a section as normative or non-normative applies to the entire section and all sub-sections of that section.

Normative sections provide requirements that authors, user agents, and assistive technologies MUST follow for an implementation to conform to this specification.

Non-normative sections provide information useful to understanding the specification. Such sections may contain examples of recommended practice, but it is not required to follow such recommendations in order to conform to this specification.

2.1 Deprecated

There are currently no deprecated requirements.

3. Mapping HTML to Accessibility APIs

3.1 General Rules for Exposing WAI-ARIA Semantics

Note

WAI-ARIA support was first introduced to HTML in [HTML5].

Where an HTML element or attribute has default WAI-ARIA semantics, it MUST be exposed to the platform accessibility APIs in a way that conforms to General rules for exposing WAI-ARIA semantics in the Core Accessibility API Mappings 1.2.

3.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 Accessibility API Mappings 1.2.

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

3.4 HTML Element Role Mappings

a (represents a hyperlink)
a (represents a hyperlink)
[wai-aria-1.2] link role
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)
a (no href attribute)
[wai-aria-1.2] generic role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
abbr
abbr
[wai-aria-1.2] No corresponding role
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
address
[wai-aria-1.2] group role
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)
area (represents a hyperlink)
[wai-aria-1.2] link role
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)
area (no href attribute)
[wai-aria-1.2] generic role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
article
article
[wai-aria-1.2] article role
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)
aside (scoped to the body or main element)
[wai-aria-1.2] complementary role
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, or a sectioning root element other than body)
aside (scoped to a sectioning content element, or a sectioning root element other than body)
[wai-aria-1.2] complementary role if the aside element has an accessible name. Otherwise, generic role.
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
audio
audio
[wai-aria-1.2]No corresponding role
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
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.
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
b
b
[wai-aria-1.2] generic role
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
base
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
bdi
bdi
[wai-aria-1.2] generic role
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
bdo
[wai-aria-1.2] generic role
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
blockquote
[wai-aria-1.2]blockquote role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
body
body
[wai-aria-1.2]generic role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
br
br
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
CommentsMay be exposed as '\n' character by the platform interface.
button
button
[wai-aria-1.2] button role
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
canvas
[wai-aria-1.2]No corresponding role
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
caption
[wai-aria-1.2]caption role
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
CommentsIf a descendant of a table, the first instance of a caption element will provide the table its accessible name.
cite
cite
[wai-aria-1.2]No corresponding role
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
code
[wai-aria-1.2]code role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
col
col
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
colgroup
colgroup
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Role: ROLE_SYSTEM_GROUPING
UIA
Control Type: Group
Localized Control Type: "colgroup"
ATK
Not mapped
AX
Not mapped
Comments
data
data
[wai-aria-1.2] generic role
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)
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
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
dd
[wai-aria-1.2] definition role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
del
del
[wai-aria-1.2] deletion role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
details
details
[wai-aria-1.2] group role
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
dfn
[wai-aria-1.2] term role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
dialog
dialog
[wai-aria-1.2] dialog role
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
div
[wai-aria-1.2] generic role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
dl
dl
[wai-aria-1.2]No corresponding role
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
dt
[wai-aria-1.2] term role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
em
em
[wai-aria-1.2] emphasis role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
embed
embed
[wai-aria-1.2]No corresponding role
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
AXDepends on format of data file
Comments
fieldset
fieldset
[wai-aria-1.2] group role
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
figcaption
[wai-aria-1.2]No corresponding role
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
figure
[wai-aria-1.2] figure role
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
footer (scoped to the body element)
footer (scoped to the body element)
[wai-aria-1.2] contentinfo role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
footer (scoped to the main element, a sectioning content element, or a sectioning root element other than body)
footer (scoped to the main element, a sectioning content element, or a sectioning root element other than body)
[wai-aria-1.2] generic role
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
form
[wai-aria-1.2] form role
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
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.
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
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.
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
head
head
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
header (scoped to the body element)
header (scoped to the body element)
[wai-aria-1.2] banner role
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, a sectioning content element, or a sectioning root element other than body)
header (scoped to the main element, a sectioning content element, or a sectioning root element other than body)
[wai-aria-1.2] generic role
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
hgroup
[wai-aria-1.2]generic role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
hr
hr
[wai-aria-1.2]separator role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
html
html
[wai-aria-1.2]document role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
i
i
[wai-aria-1.2] generic role
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
iframe
[wai-aria-1.2]No corresponding role
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
img
[wai-aria-1.2]img role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
img (alt attribute value is an empty string, i.e. alt="" or alt with no value in the markup)
img (alt attribute value is an empty string, i.e. alt="" or alt with no value in the markup)
[wai-aria-1.2]
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)
input (type attribute in the Button state)
[wai-aria-1.2] button role
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)
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
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)
input (type attribute in the Color state)
[wai-aria-1.2]No corresponding role
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)
input (type attribute in the Date state)
[wai-aria-1.2]No corresponding role
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)
input (type attribute in the Local Date and Time state)
[wai-aria-1.2]No corresponding role
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)
input (type attribute in the E-mail state with no suggestions source element)
[wai-aria-1.2]textbox role
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)
input (type attribute in the File Upload state)
[wai-aria-1.2]No corresponding role
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)
input (type attribute in the Hidden state)
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
input (type attribute in the Image Button state)
input (type attribute in the Image Button state)
[wai-aria-1.2]button role
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 Local Date and Time state)
input (type attribute in the Local Date and Time state)
[wai-aria-1.2]No corresponding role
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 Month state)
input (type attribute in the Month state)
[wai-aria-1.2]No corresponding role
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)
input (type attribute in the Number state)
[wai-aria-1.2] spinbutton role
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)
input (type attribute in the Password state)
[wai-aria-1.2]No corresponding role
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)
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.
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)
input (type attribute in the Range state)
[wai-aria-1.2] slider role
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)
input (type attribute in the Reset Button state)
[wai-aria-1.2] button role
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 Search state with no suggestions source element)
input (type attribute in the Search state with no suggestions source element)
[wai-aria-1.2] searchbox role
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)
input (type attribute in the Submit Button state)
[wai-aria-1.2] button role
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)
input (type attribute in the Telephone state with no suggestions source element)
[wai-aria-1.2] textbox role
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)
input (type attribute in the Text state with no suggestions source element)
[wai-aria-1.2]textbox role
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)
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
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)
input (type attribute in the Time state)
[wai-aria-1.2]No corresponding role
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)
input (type attribute in the URL state with no suggestions source element)
[wai-aria-1.2]textbox role
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)
input (type attribute in the Week state)
[wai-aria-1.2]No corresponding role
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
ins
[wai-aria-1.2] insertion role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
kbd
kbd
[wai-aria-1.2]No corresponding role
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
label
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Roles: ROLE_SYSTEM_STATICTEXT; IA2_ROLE_LABEL
Relations: IA2_RELATION_LABEL_FOR with a form control that is child to the label or referred to by the label element's for attribute. The associated form element has IA2_RELATION_LABELLED_BY pointing to the label.
UIA
Control Type: Text
Other properties: When the label element contains an input element, the LabeledBy property for the input element points to the UIA element for the label element.

When the label element has a for attribute referencing another 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 form element or form element referred by for attribute. Note, related form element provides ATK_RELATION_LABELLED_BY pointing to the label.
AX
AXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: "group"
Comments
legend
legend
[wai-aria-1.2]No corresponding role
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
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.
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 then expose the li element with a generic role.
link
link
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
main
main
[wai-aria-1.2]main role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
map
map
[wai-aria-1.2]No corresponding role
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
mark
[wai-aria-1.2]mark role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
math
math
[wai-aria-1.2]See comments
MSAA + IAccessible2See comments
UIASee comments
ATKSee comments
AXSee comments
Comments Mapping for math is defined by MathML AAM 1.0.
menu
menu
[wai-aria-1.2]list role
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
meta
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
meter
meter
[wai-aria-1.2] meter role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
nav
nav
[wai-aria-1.2]navigation role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
noscript
noscript
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
object
object
[wai-aria-1.2]No corresponding role
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
AXDepends on format of data file.
Comments
ol
ol
[wai-aria-1.2]list role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
optgroup
optgroup
[wai-aria-1.2]group role
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)
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.
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
output
output
[wai-aria-1.2]status role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
Localized Control Type: "output"
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
p
p
[wai-aria-1.2] paragraph role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
param
param
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Commentsparam is obsolete in HTML
picture
picture
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
pre
pre
[wai-aria-1.2] generic role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
progress
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
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
q
q
[wai-aria-1.2] generic role
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
rp
[wai-aria-1.2]No corresponding role
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.
AXNot mapped
Comments
rt
rt
[wai-aria-1.2]No corresponding role
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
ruby
[wai-aria-1.2]No corresponding role
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
s
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
No accessible object.
Text attributes: text-line-through-style:solid 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. Exposed as "text-line-through-style:solid" text attribute on the text container.
AX
AXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: "group"
Comments
samp
samp
[wai-aria-1.2]generic role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
script
script
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
section
section
[wai-aria-1.2] region role if the section element has an accessible name. Otherwise, the generic role.
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)
select (with a multiple attribute or size attribute having value greater than 1)
[wai-aria-1.2]listbox role
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)
select (with NO multiple attribute and NO size attribute having value greater than 1)
[wai-aria-1.2]combobox role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
slot
slot
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
small
small
[wai-aria-1.2] generic role
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
source
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
span
span
[wai-aria-1.2] generic role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
strong
strong
[wai-aria-1.2] strong role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
style
style
[wai-aria-1.2]No corresponding role
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
sub
[wai-aria-1.2] subscript role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
summary
summary
[wai-aria-1.2]No corresponding 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
sup
sup
[wai-aria-1.2] superscript role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
svg
svg
[wai-aria-1.2] See comments
MSAA + IAccessible2See comments
UIASee comments
ATKSee comments
AXSee comments
Comments Mapping for svg is defined by SVG Accessibility API Mappings. See also Graphics Accessibility API Role Mappings
table
table
[wai-aria-1.2]table role
MSAA + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
Comments
tbody
tbody
[wai-aria-1.2]rowgroup role
MSAA + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
Comments
td (ancestor table element has table role)
td (ancestor table element has table role)
[wai-aria-1.2]cell role
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)
td (ancestor table element has grid or treegrid role)
[wai-aria-1.2]gridcell role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
template
template
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
textarea
textarea
[wai-aria-1.2] textbox role, with the aria-multiline property set to "true"
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
tfoot
tfoot
[wai-aria-1.2]rowgroup role
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)
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
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)
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
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)
th (is a column header or column group header)
[wai-aria-1.2]columnheader role
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)
th (is a row header or row group header)
[wai-aria-1.2]rowheader role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
thead
thead
[wai-aria-1.2]rowgroup role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
time
time
[wai-aria-1.2] time role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
title
title
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
CommentsA title element provides the accessible name for its document.
tr
tr
[wai-aria-1.2]row role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
track
track
[wai-aria-1.2]No corresponding role
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
u
u
[wai-aria-1.2] generic role
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
ul
[wai-aria-1.2]list role
MSAA + IAccessible2
Use WAI-ARIA mapping
UIA
Use WAI-ARIA mapping
ATK
Use WAI-ARIA mapping
AX
Use WAI-ARIA mapping
Comments
var
var
[wai-aria-1.2]No corresponding role
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
video
[wai-aria-1.2]No corresponding role
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
wbr
[wai-aria-1.2]No corresponding role
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

3.5 HTML Attribute State and Property Mappings

abbr [ th ]
abbr [ 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
AXAXDescription: <value>
Comments
accept [ input ]
accept [ input ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
accept-charset [ form ]
accept-charset [ form ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
accesskey [ HTML elements ]
accesskey [ 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
AXAXAccessKey: <value>
Comments
action [ form ]
action [ form ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
allow [ iframe ]
allow [ iframe ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
allowfullscreen [ iframe ]
allowfullscreen [ iframe ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
alt [ area; img; input ]
alt [ 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
AXAXDescription: <value>
Comments
as [ link ]
as [ link ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
async [ script ]
async [ script ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
autocapitalize [ HTML elements ]
autocapitalize [ HTML elements ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
autocomplete "on|off" [ form ]
autocomplete "on|off" [ 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.
autocomplete [ input, select and textarea ]
autocomplete [ 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 elements ]
autofocus [ HTML elements ]
[WAI-ARIA-1.2]Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

Similar to aria-flowto.

autoplay [ audio and video ]
autoplay [ audio and video ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
blocking [ link; script; style ]
blocking [ link; script; style ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
charset [ meta ]
charset [ meta ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
checked (if present) [ input ]
checked (if present) [ input ]
[WAI-ARIA-1.2] aria-checked (state)="true"
MSAA + IAccessible2
Use WAI-ARIA mapping
UIAProperty: Toggle.ToggleState: On (1)
ATK
Use WAI-ARIA mapping
AXAXValue: 1
Comments If the element includes both the checked attribute and the aria-checked attribute with a valid value, User Agents MUST expose only the checked attribute value.
checked (if absent) [ input ]
checked (if absent) [ input ]
[WAI-ARIA-1.2] aria-checked (state)="false"
MSAA + IAccessible2
Use WAI-ARIA mapping
UIAProperty: Toggle.ToggleState: Off (0)
ATK
Use WAI-ARIA mapping
AXAXValue: 0
Comments An input element without a checked attribute has an implicit "false" state. User Agents MUST ignore an aria-checked attribute which conflicts with the native element's implicit checked state.
cite [ blockquote; del and ins; q ]
cite [ blockquote; del and ins; q ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AXAXURL: <value>
Comments
class [ HTML elements ]
class [ HTML elements ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
color [ link ]
color [ link ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
cols [ textarea ]
cols [ textarea ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AXAXRangeForLine: <value>
Comments
Not mapped
colspan [ td and th ]
colspan [ 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 [ meta ]
content [ meta ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
contenteditable [ HTML elements ]
contenteditable [ HTML elements ]
[WAI-ARIA-1.2]?
MSAA + IAccessible2
States: IA2_STATE_EDITABLE on this and every nested text accessible object
Interfaces: IAccessibleEditableText on this and every nested text accessible object
UIA
Control Pattern: TextEdit
ATK
States: ATK_STATE_EDITABLE on this and every nested text accessible object.
Interfaces: AtkEditableText on this and every nested text accessible object.
AX Role: AXtextArea
Use WAI-ARIA mapping
Comments If the element has the contenteditable attribute and aria-readonly="true", User Agents MUST expose only the contenteditable state.
controls [ audio and video ]
controls [ audio and video ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AXControls exposed as AXToolbar
Comments
coords [ area ]
coords [ 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 [ audio; img; link; script; video ]
crossorigin [ 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 [ object ]
data [ object ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
datetime [ del and ins ]
datetime [ del and ins ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Object attributes: datetime: <value>
UIA
Not mapped
ATK
Object attributes: datetime: <value>
AXAXDateTimeValue: <value>
Comments
datetime [ time ]
datetime [ time ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Object attributes: datetime: <value>
UIA
Properties: FullDescription: <value>
ATK
Object attributes: datetime: <value>
AXAXDateTimeValue: <value>
Comments
decoding [ img ]
decoding [ img ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
default [ track ]
default [ track ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
defer [ script ]
defer [ script ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
dir [ HTML elements ]
dir [ 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
dirname [ input and textarea ]
dirname [ input and textarea ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
disabled [ button; fieldset; input; optgroup; option; select; textarea; form-associated custom element ]
disabled [ button; fieldset; 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 includes both the disabled attribute and the aria-disabled attribute with a valid value, User Agents MUST expose only the disabled attribute value.
download [ a and area ]
download [ 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 elements ]
draggable [ 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 [ form ]
enctype [ form ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
for [ label ]
for [ 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 element
UIA
Not mapped
ATK
Used for accessible name
Relations: ATK_RELATION_LABEL_FOR and ATK_RELATION_LABEL_BY relations between label and referred element
AX
Not mapped
Comments
for [ output ]
for [ 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 [ button; fieldset; input; label; object; output; select; textarea; form-associated custom element ]
form [ 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 [ button; input ]
formaction [ button; input ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
formenctype [ button; input ]
formenctype [ button; input ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
formmethod [ button; input ]
formmethod [ button; input ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
formnovalidate [ button; input ]
formnovalidate [ button; input ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
formtarget [ button; input ]
formtarget [ button; input ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
headers [ td; th ]
headers [ 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.
AXExpose via AXColumnHeaderUIElements and AXRowHeaderUIElements
Comments
height [ canvas; embed; iframe; img; input; object; source (in picture); video ]
height [ 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 elements ]
hidden [ 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 + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
Comments
high [ meter ]
high [ meter ]
[WAI-ARIA-1.2]Not mapped
MSAA + IAccessible2
Not mapped
UIARangeValue.Maximum
ATK
Not mapped
AX
Not mapped
Comments
href [a; area]
href [a; area]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Creates a link accessible object. For details, refer to a and area element mappings.
UIACreates 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.
AXAXURL: <value>
Comments
href [ link ]
href [ link ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
hreflang [ a; link ]
hreflang [ a; link ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
http-equiv [ meta ]
http-equiv [ meta ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
id [ HTML elements ]
id [ HTML elements ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
indeterminate [IDL] [ HTML elements; input ]
indeterminate [IDL] [ HTML elements; input ]
[WAI-ARIA-1.2]aria-checked (state)="mixed"
MSAA + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
CommentsIf the element has the indeterminate [IDL] set and the aria-checked attribute set, User Agents MUST expose only theindeterminate [IDL] state.
ismap [ img ]
ismap [ img ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
itemid [ img ]
itemid [ img ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
itemprop [ img ]
itemprop [ img ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
itemref [ img ]
itemref [ img ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
itemscope [ img ]
itemscope [ img ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
itemtype [ img ]
itemtype [ img ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
kind [ track ]
kind [ track ]
[WAI-ARIA-1.2]Not mapped
MSAA + IAccessible2Not mapped
UIANot mapped
ATKNot mapped
AXNot mapped
Comments
label [ optgroup; option; track ]
label [ 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
AXAXTitle: <value>
Comments See Also: Accessible Name and Description: Computation and API Mappings 1.1
lang [ HTML elements ]
lang [ 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
AXAXLanguage: <value>
Comments
list [ input ]
list [ 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 [ audio; video ]
loop [ audio; video ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
low [ meter ]
low [ meter ]
[WAI-ARIA-1.2]Not mapped
MSAA + IAccessible2
Not mapped
UIA
RangeValue.Minimum
ATK
Not mapped
AX
Not mapped
Comments
max [ input ]
max [ input ]
[WAI-ARIA-1.2]aria-valuemax
MSAA + IAccessible2
Exposed as IAccessibleValue::maximumValue if the element implements the interface
UIARangeValue.Maximum
ATK
Exposed as atk_value_get_maximum_value if the element implements the AtkValue interface
AXAXMaxValue: <value>
Comments
max [ meter; progress ]
max [ meter; progress ]
[WAI-ARIA-1.2]aria-valuemax
MSAA + IAccessible2
Exposed as IAccessibleValue::maximumValue if the element implements the interface
UIARangeValue.Maximum
ATK
Exposed as atk_value_get_maximum_value if the element implements the AtkValue interface
AXAXMaxValue: <value>
Comments
maxlength [ input; textarea ]
maxlength [ input; textarea ]
[WAI-ARIA-1.2]Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
media [ link; meta; source (in picture); style ]
media [ 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 [ form ]
method [ form ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
min [ input ]
min [ input ]
[WAI-ARIA-1.2]aria-valuemin
MSAA + IAccessible2
Exposed as IAccessibleValue::minimumValue if the element implements the interface
UIARangeValue.Minimum
ATK
Exposed as atk_value_get_minimum_value if the element implements the AtkValue interface
AXAXMinValue: <value>
Comments
min [ meter ]
min [ meter ]
[WAI-ARIA-1.2]aria-valuemin
MSAA + IAccessible2
Exposed as IAccessibleValue::minimumValue if the element implements the interface
UIARangeValue.Minimum
ATK
Exposed as atk_value_get_minimum_value if the element implements the AtkValue interface
AXAXMinValue: <value>
Comments
minlength [ input; textarea ]
minlength [ 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 [ input ]
multiple [ input ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
multiple [ select ]
multiple [ 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 [ audio; video ]
muted [ audio; video ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
name [ button; fieldset; input; output; select; textarea; form-associated custom element ]
name [ 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 [ form ]
name [ form ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
name [ iframe; object ]
name [ iframe; object ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
name [ map ]
name [ map ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
name [ meta ]
name [ meta ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
name [ param ]
name [ param ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
name [ slot ]
name [ slot ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
nomodule [ script ]
nomodule [ script ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
nonce [ HTML elements ]
nonce [ HTML elements ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
novalidate [ form ]
novalidate [ form ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
open [ details ]
open [ details ]
[WAI-ARIA-1.2]aria-expanded="true | false"
MSAA + IAccessible2STATE_SYSTEM_EXPANDED
STATE_SYSTEM_COLLAPSED
UIA ExpandCollapsePattern
ATK
States: ATK_STATE_COLLAPSED or ATK_STATE_EXPANDED depending on the attribute value
AXAXExpanded: YES|NO
CommentsSet properties on the summary element.
open [dialog]
open [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 + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse 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 [ meter ]
optimum [ meter ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
pattern [ input ]
pattern [ input ]
[WAI-ARIA-1.2]
If the value doesn't match the pattern: aria-invalid="true"; Otherwise, aria-invalid="false"
MSAA + IAccessible2Use WAI-ARIA mapping
UIAUse WAI-ARIA mapping
ATKUse WAI-ARIA mapping
AXUse WAI-ARIA mapping
Comments
ping [ a and area ]
ping [ a and area ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
placeholder [ input; textarea ]
placeholder [ 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 [ video ]
playsinline [ video ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
poster [ video ]
poster [ video ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
preload [ audio and video ]
preload [ audio and video ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
readonly [ input; textarea; form-associated custom elements ]
readonly [ 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
CommentsIf the element includes both the readonly attribute and the aria-readonly attribute with a valid value, User Agents MUST expose only the readonly attribute value.
referrerpolicy [ a; area; iframe; img; link; script ]
referrerpolicy [ 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 [ a; area; link ]
rel [ a; area; link ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
required [ input; select; textarea ]
required [ 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.
reversed [ ol ]
reversed [ 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 [ textarea ]
rows [ textarea ]
[WAI-ARIA-1.2]Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
rowspan [ td; th ]
rowspan [ 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 [ iframe ]
sandbox [ iframe ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
scope [ th ]
scope [ 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 [ option ]
selected [ 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
CommentsIf the element includes both the selected attribute and the aria-selected attribute with a valid value, User Agents MUST expose only the selected attribute value.
shape [ area ]
shape [ area ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
size [ input; select ]
size [ 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 [ link ]
sizes [ link ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
sizes [ img; source ]
sizes [ img; source ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
slot [ HTML elements ]
slot [ HTML elements ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
span [ col; colgroup ]
span [ 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 elements ]
spellcheck [ 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 [ audio; embed; iframe; img; input; script; source (in audio or video); track; video ]
src [ 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 [ iframe ]
srcdoc [ iframe ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
srclang [ track ]
srclang [ track ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
srcset [ img; source ]
srcset [ img; source ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not Mapped
Comments
start [ ol ]
start [ 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 [ input ]
step [ 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.
AXNot mapped
Comments
style [ HTML elements ]
style [ HTML elements ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
tabindex [ HTML elements ]
tabindex [ 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 [ a; area ]
target [ a; area ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
target [ base ]
target [ base ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
target [ form ]
target [ form ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
title [ HTML elements ]
title [ 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 [ abbr; dfn ]
title [ abbr; dfn ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Associates the accessible name
UIA
Associates the accessible name
ATK
Associates the accessible name
AXAXExpandedTextValue: <value>
Comments
title [ link ]
title [ link ]
[WAI-ARIA-1.2]Not mapped
MSAA + IAccessible2Not mapped
UIANot mapped
ATKNot mapped
AXNot mapped
Comments
title [ link; style ]
title [ 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 elements ]
translate [ HTML elements ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
type [ a; link ]
type [ a; link ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
type [ button ]
type [ 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 [ embed; object; script; source ]
type [ 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 [ input ]
type [ 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 [ ol ]
type [ 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 [ img ]
usemap [ 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.
CommentsRefer to img element.
value [ button; option ]
value [ button; option ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
value [ data ]
value [ data ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments
value [ input ]
value [ 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
AXAXValue: <value>
Comments
value [ li ]
value [ 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 [ meter; progress ]
value [ 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 [ canvas; embed; iframe; img; input; object; source (in picture); video ]
width [ 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 [ textarea ]
wrap [ textarea ]
[WAI-ARIA-1.2]
Not mapped
MSAA + IAccessible2
Not mapped
UIA
Not mapped
ATK
Not mapped
AX
Not mapped
Comments

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

4.1 Accessible Name Computations By HTML Element

4.1.1 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(s) 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 attribute.
  5. If none of the above yield a usable text string there is no accessible name.

4.1.2 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: If steps 1 to 2 do not yield a usable text string, the accessible name is a localized string of the word "submit".
  5. For input type=reset: If steps 1 to 2 do not yield a usable text string, the accessible name is a localized string of the word "reset".
  6. Otherwise use title attribute.
  7. If none of the above yield a usable text string there is no accessible name.

4.1.3 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.
  4. Otherwise use title attribute.
  5. Otherwise if the previous steps do not yield a usable text string, the accessible name is a localized string of the word "Submit Query".
  6. If none of the above yield a usable text string there is no accessible name.

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

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

4.1.6 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 output element subtree.
  3. Otherwise use title attribute.
  4. If none of the above yield a usable text string there is no accessible name.

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

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

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

4.1.10 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.
    Note
    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.

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

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

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

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

4.1.15 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.
Note

The document referenced by the src of the iframe element gets its name from that document's title element, like any other document. If there is no title provided, there is no accessible name.

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

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

4.2 Accessible Description Computation

An accessible description MAY be provided to any HTML element that is a valid child of the body element.

  1. If the element has an aria-describedby or aria-description attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings.
  2. Otherwise, if the accessible description is still empty, and the element is:
    • a table element which has a child caption element, use the subtree of the first caption element if it was not used as the accessible name.
    • a summary element, use the element's subtree if it was not used as the accessible name.
    • an input element whose type attribute is the button, submit or reset state, and it has a value attribute, then use the content of the attribute if it was not used as the accessible name.
  3. Otherwise, use the content of the title attribute if it was not used as the accessible name for the element.
  4. If none of the above yield a usable text string there is no accessible description.

A. Appendices

A.1 Change Log

Review the commit history of this document on GitHub.

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

  • 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.
A.1.1.1 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.

A.2 Acknowledgments

This section is non-normative.

The following people contributed to the development of this document.

A.2.1 Participants active in the HTML Accessibility Task Force active at the time of publication

A.2.2 Enabling funders

This publication has been funded in part with U.S. Federal funds from the Department of Education, National Institute on Disability, Independent Living, and Rehabilitation Research (NIDILRR), initially under contract number ED-OSE-10-C-0067, then under contract number HHSP23301500054C, and now under HHS75P00120P00168. The content of this publication does not necessarily reflect the views or policies of the U.S. Department of Education, nor does mention of trade names, commercial products, or organizations imply endorsement by the U.S. Government.

B. References

B.1 Normative references

[accname-1.2]
Accessible Name and Description Computation 1.2. Bryan Garaventa; Joanmarie Diggs; Michael Cooper. W3C. 11 July 2019. W3C Working Draft. URL: https://www.w3.org/TR/accname-1.2/
[core-aam-1.2]
Core Accessibility API Mappings 1.2. Joanmarie Diggs; Alexander Surkov; Michael Cooper. W3C. 13 October 2022. W3C Working Draft. URL: https://www.w3.org/TR/core-aam-1.2/
[HTML]
HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc8174
[svg-aam-1.0]
SVG Accessibility API Mappings. Amelia Bellamy-Royds; Ian Pouncey. W3C. 10 May 2018. W3C Working Draft. URL: https://www.w3.org/TR/svg-aam-1.0/
[WAI-ARIA]
Accessible Rich Internet Applications (WAI-ARIA) 1.1. Joanmarie Diggs; Shane McCarron; Michael Cooper; Richard Schwerdtfeger; James Craig. W3C. 14 December 2017. W3C Recommendation. URL: https://www.w3.org/TR/wai-aria-1.1/
[WAI-ARIA-1.2]
Accessible Rich Internet Applications (WAI-ARIA) 1.2. Joanmarie Diggs; James Nurthen; Michael Cooper. W3C. 8 December 2021. W3C Candidate Recommendation. URL: https://www.w3.org/TR/wai-aria-1.2/

B.2 Informative references

[accname-aam-1.1]
Accessible Name and Description Computation 1.1. Joanmarie Diggs; Bryan Garaventa; Michael Cooper. W3C. 18 December 2018. W3C Recommendation. URL: https://www.w3.org/TR/accname-1.1/
[AT-SPI]
Assistive Technology Service Provider Interface. The GNOME Project. URL: https://developer-old.gnome.org/libatspi/stable/
[ATK]
ATK - Accessibility Toolkit. The GNOME Project. URL: https://developer.gnome.org/atk/stable/
[AXAPI]
The NSAccessibility Protocol for macOS. Apple, Inc. URL: https://developer.apple.com/documentation/appkit/nsaccessibility
[dom]
DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
[HTML5]
HTML5. Ian Hickson; Robin Berjon; Steve Faulkner; Travis Leithead; Erika Doyle Navara; Theresa O'Connor; Silvia Pfeiffer. W3C. 27 March 2018. W3C Recommendation. URL: https://www.w3.org/TR/html5/
[IAccessible2]
IAccessible2. Linux Foundation. URL: https://wiki.linuxfoundation.org/accessibility/iaccessible2/
[infra]
Infra Standard. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL: https://infra.spec.whatwg.org/
[UI-AUTOMATION]
UI Automation. Microsoft Corporation. URL: https://docs.microsoft.com/en-us/windows/win32/winauto/ui-automation-specification