Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark and document use rules apply.
HTML Accessibility API Mappings (HTML-AAM) defines how user agents map HTML 5.1 [HTML51] elements and attributes to platform accessibility application programming interfaces (APIs). It leverages and extends the Core Accessibility API Mappings 1.1 [CORE-AAM] and the Accessible Name and Description: Computation and API Mappings 1.1 [ACCNAME-AAM] for use with the HTML 5.1 host language. Documenting these mappings promotes interoperable exposure of roles, states, properties, and events implemented by accessibility APIs and helps to ensure that this information appears in a manner consistent with author intent.
The HTML-AAM is part of the WAI-ARIA suite described in the WAI-ARIA Overview.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
This is a Working Draft of HTML Accessibility API Mappings 1.0 by the HTML Accessibility Taskforce, a joint task force of the Accessible Rich Internet Applications Working Group and the Web Platform Working Group. It defines how HTML language features map to accessibility APIs, and addresses both native HTML features and ARIA additions. It extends Core Accessibility API Mappings 1.1 [CORE-AAM] and Accessible Name and Description: Computation and API Mappings 1.1 [ACCNAME-AAM], and is part of a suite of similar technology-specific Accessibility API Mappings specifications. This version provides accessibility API mappings for new and updated WAI-ARIA 1.1 [WAI-ARIA] features and expands the set of mappings for HTML features.
This document was previously co-published by the Protocols and Formats Working Group and the HTML Working Group. It moved to the ARIA Working Group and Web Platform Working Group because of changes in the set of Working Groups chartered at W3C.
Feedback on any aspect of the specification is accepted. For this publication, the HTML Accessibility Task Force particularly seeks feedback on the following questions:
To comment, send email to public-webapps@w3.org (comment archive) or file an issue in the W3C ARIA GitHub repository. Comments are requested by 15 January 2016. In-progress updates to the document may be viewed in the publicly visible editors' draft.
Publication as a Working Draft does not imply endorsement by the W3C Membership. 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 groups operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures (Web Platform Working Group) and a public list of any patent disclosures (Accessible Rich Internet Applications Working Group) made in connection with the deliverables of each group; these pages also include 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 1 September 2015 W3C Process Document.
input type="text"
, input type="password"
, input type="search"
, input type="tel"
, input type="url"
and textarea
Element input type="button"
, input type="submit"
and input type="reset"
input type="image"
button
Elementfieldset
and legend
Elementssummary
Elementfigure
and figcaption
Elementsimg
Elementtable
Elementa
ElementThis section is non-normative.
Like the Core Accessibility API Mappings specification, this document defines how HTML user agents must respond to keyboard focus, as well as role, state and property information provided for Web content. Where an HTML element or attribute has default Accessible Rich Internet Applications (WAI-ARIA) 1.1 [WAI-ARIA] semantics, it must be exposed to the platform accessibility APIs according to the relevant WAI-ARIA mappings defined in the Core Accessibility API Mappings specification. Where an HTML element or attribute does not have default WAI-ARIA semantics, the applicable mapping for each platform accessibility API is defined by this specification.
This document also adapts the Accessible Name and Description: Computation and API Mappings [ACCNAME-AAM] for deriving the accessible names and accessible descriptions of HTML 5.1 [HTML51] elements, and provides accessible implementation examples for specific HTML 5.1 elements and features.
Users often access HTML content using assistive technologies that rely on platform accessibility API to obtain and interact with information from the page. This document is part of the following suite of accessibility API mapping specifications for content rendered by user agents:
Accessibility APIs covered by this document are:
If user agent developers need to expose information using other accessibility APIs, it is recommended that they work closely with the developer of the platform where the API runs, and assistive technology developers on that platform.
For more information regarding accessibility APIs, refer to section 1.1 Accessibility APIs of the Core Accessibility API Mappings [CORE-AAM].
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 MUST and SHOULD are to be interpreted as described in [RFC2119].
These RFC2119 key words are formatted in uppercase and contained in a strong
element with class="rfc2119"
. When these key words are used, but do not share this format, they do not convey any formal conformance requirements in the RFC2119 sense, and are merely explanatory, i.e., informative. As much as possible, such usage is avoided in this specification.
The classification of a section as normative or non-normative applies to the entire section and all sub-sections of that section.
Normative sections provide requirements that authors, user agents, and assistive technologies MUST follow for an implementation to conform to this specification.
Non-normative sections provide information useful to understanding the specification. Such sections may contain examples of recommended practice, but it is not required to follow such recommendations in order to conform to this specification.
While some terms are defined in place, the following definitions are used throughout this document.
Operating systems and other platforms provide a set of interfaces that expose information about objects and events to assistive technologies. Assistive technologies use these interfaces to get information about and interact with those widgets. Examples of accessibility APIs are Microsoft Active Accessibility [MSAA], Microsoft User Interface Automation [UI-AUTOMATION], MSAA with UIA Express [UIA-EXPRESS], the Mac OS X Accessibility Protocol [AXAPI], the Linux/Unix Accessibility Toolkit [ATK] and Assistive Technology Service Provider Interface [AT-SPI], and IAccessible2 [IAccessible2].
An accessible object in the accessibility tree and its descendants in that tree. It does not include objects which have relationships other than parent-child in that tree. For example, it does not include objects linked via aria-flowto unless those objects are also descendants in the accessibility tree.
Tree of accessible objects that represents the structure of the user interface (UI). Each node in the accessibility tree represents an element in the UI as exposed through the accessibility API; for example, a push button, a check box, or container.
An accessible description provides additional information, related to an interface element, that complements the accessible name. The accessible description might or might not be visually perceivable.
The accessible name is the name of a user interface element. Each platform accessibility API provides the accessible name property. The value of the accessible name may be derived from a visible (e.g., the visible text on a button) or invisible (e.g., the text alternative that describes an icon) property of the user interface element. See related accessible description.
A simple use for the accessible name property may be illustrated by an "OK" button. The text "OK" is the accessible name. When the button receives focus, assistive technologies may concatenate the platform's role description with the accessible name. For example, a screen reader may speak "push-button OK" or "OK button". The order of concatenation and specifics of the role description (e.g., "button", "push-button", "clickable button") are determined by platform accessibility APIs or assistive technologies.
A node in the accessibility tree of a platform accessibility API. Accessible objects expose various states, properties, and events for use by assistive technologies. In the context of markup languages (e.g., HTML and SVG) in general, and of WAI-ARIA in particular, markup elements and their attributes are represented as accessible objects.
The action taken when an event, typically initiated by users through an input device, causes an element to fulfill a defined role. The role may be defined for that element by the host language, or by author-defined variables, or both. The role for any given element may be a generic action, or may be unique to that element. For example, the activation behavior of an HTML or SVG <a>
element shall be to cause the user agent to traverse the link specified in the href
attribute, with the further optional parameter of specifying the browsing context for the traversal (such as the current window or tab, a named window, or a new window); the activation behavior of an HTML <input>
element with the type
attribute value submit
shall be to send the values of the form elements to an author-defined IRI by the author-defined HTTP method.
Hardware and/or software that:
This definition may differ from that used in other documents.
Examples of assistive technologies that are important in the context of this document include the following:
In this specification, attribute is used as it is in markup languages. Attributes are structural features added to elements to provide information about the states and properties of the object represented by the element.
A set of instance objects that share similar characteristics.
Event from/to the host operating system via the accessibility API, notifying of a change of input focus.
In this specification, element is used as it is in markup languages. Elements are the structural elements in markup language that contains the data profile for objects.
A programmatic message used to communicate discrete changes in the state of an object to other objects in a computational system. User input to a web page is commonly mediated through abstract events that describe the interaction and can provide notice of changes to the state of a document object. In some programming languages, events are more commonly known as notifications.
Translated to platform-specific accessibility APIs as defined in the WAI-ARIA User Agent Implementation Guide. [WAI-ARIA-IMPLEMENTATION]
A document containing graphic representations with user-navigable parts. Charts, maps, diagrams, blueprints, and dashboards are examples of graphical documents. A graphical document is composed using any combination of symbols, images, text, and graphic primitives (shapes such as circles, points, lines, paths, rectangles, etc).
Indicates that the element is not visible or perceivable to any user. An element is considered hidden if it or any one of its ancestor elements is not rendered or explicitly hidden.
Content provided for information purposes and not required for conformance. Content required for conformance is referred to as normative.
Accessible to the user using a keyboard or assistive technologies that mimic keyboard input, such as a sip and puff tube. References in this document relate to WCAG 2.0 Guideline 2.1: Make all functionality available from a keyboard [WCAG20].
A type of region on a page to which the user may want quick access. Content in such a region is different from that of other regions on the page and relevant to a specific user purpose, such as navigating, searching, perusing the primary content, etc.
Live regions are perceivable regions of a web page that are typically updated as a result of an external event when user focus may be elsewhere. These regions are not always updated as result of a user interaction. This practice has become commonplace with the growing use of Ajax. Examples of live regions include a chat log, stock ticker, or a sport scoring section that updates periodically to reflect game statistics. Since these asynchronous areas are expected to update outside the user's area of focus, assistive technologies such as screen readers have either been unaware of their existence or unable to process them for the user. WAI-ARIA has provided a collection of properties that allow the author to identify these live regions and how to process them: aria-live, aria-relevant, aria-atomic, and aria-busy. Pre-defined live region roles are listed in the Choosing Between Special Case Live Regions ([WAI-ARIA-PRACTICES], Section 5.3).
An implementing host language's primary content element, such as the body
element in HTML.
Accessibility API state that is controlled by the user agent, such as focus and selection. These are contrasted with "unmanaged states" that are typically controlled by the author. Nevertheless, authors can override some managed states, such as aria-posinset and aria-setsize. Many managed states have corresponding CSS pseudo-classes, such as :focus, and pseudo-elements, such as ::selection, that are also updated by the user agent.
The Nemeth Braille Code for Mathematics is a braille code for encoding mathematical and scientific notation. See Nemeth Braille on Wikipedia.
Basic type of object in the DOM tree or accessibility tree. DOM nodes are further specified as Element or Text nodes, among other types. The nodes of an accessibility tree are accessible objects.
Required for conformance. By contrast, content identified as informative or "non-normative" is not required for conformance.
In the context of user interfaces, an item in the perceptual user experience, represented in markup languages by one or more elements, and rendered by user agents.
In the context of programming, the instantiation of one or more classes and interfaces which define the general characteristics of similar objects. An object in an accessibility API may represent one or more DOM objects. Accessibility APIs have defined interfaces that are distinct from DOM interfaces.A description of the characteristics of classes and how they relate to each other.
Usable by users in ways they can control. References in this document relate to WCAG 2.0 Principle 2: Content must be operable [WCAG20]. See Keyboard Accessible.
An 'owned element' is any DOM descendant of the element, any element specified as a child via aria-owns, or any DOM descendant of the owned child.
An 'owning element' is any DOM ancestor of the element, or any element with an aria-owns attribute which references the ID of the element.
Presentable to users in ways they can sense. References in this document relate to WCAG 2.0 Principle 1: Content must be perceivable [WCAG20].
Attributes that are essential to the nature of a given object, or that represent a data value associated with the object. A change of a property may significantly impact the meaning or presentation of an object. Certain properties (for example, aria-multiline) are less likely to change than states, but note that the frequency of change difference is not a rule. A few properties, such as aria-activedescendant, aria-valuenow, and aria-valuetext are expected to change often. See clarification of states versus properties.
A connection between two distinct things. Relationships may be of various types to indicate which object labels another, controls another, etc.
Main indicator of type. This semantic association allows tools to present and support interaction with the object in a manner that is consistent with user expectations about other objects of that type.
The primary element containing non-metadata content. In many languages, this is the document element but in HTML, it is the <body>
.
The meaning of something as understood by a human, defined in a way that computers can process a representation of an object, such as elements and attributes, and reliably represent the object in a way that various humans will achieve a mutually consistent understanding of the object.
A state is a dynamic property expressing characteristics of an object that may change in response to user action or automated processes. States do not affect the essential nature of the object, but represent data associated with the object or user interaction possibilities. See clarification of states versus properties.
Any document created from a <frame>
, <iframe>
or similar mechanism. A sub-document may contain a document, an application or any widget such as a calendar pulled in from another server. In the accessibility tree there are two accessible objects for this situation—one represents the <frame>
/<iframe>
element in the parent document, which parents a single accessible object child representing the spawned document contents.
An element specified in a WAI-ARIA relation. For example, in <div aria-controls=”elem1”>
, where “elem1”
is the ID for the target element.
A hierarchical definition of how the characteristics of various classes relate to each other, in which classes inherit the properties of superclasses in the hierarchy. A taxonomy can comprise part of the formal definition of an ontology.
Type of DOM node that represents the textual content of an attribute or an element. A Text node has no child nodes.
Presentable to users in ways they can construct an appropriate meaning. References in this document relate to WCAG 2.0 Principle 3: Information and the operation of user interface must be understandable [WCAG20].
Any software that retrieves, renders and facilitates end user interaction with Web content. This definition may differ from that used in other documents.
A reference to a target element in the same document that has a matching ID
Discrete user interface object with which the user can interact. Widgets range from simple objects that have one value or operation (e.g., check boxes and menu items), to complex objects that contain many managed sub-objects (e.g., trees and grids).
WAI-ARIA support was first introduced to HTML in HTML5 [HTML5]. Where an HTML element or attribute has default WAI-ARIA semantics, it MUST be exposed to the platform accessibility APIs in a way that conforms to General rules for exposing WAI-ARIA semantics in the Core Accessibility API Mappings [CORE-AAM].
Where the host language is HTML 5.1 [HTML51], user agents MUST conform to Conflicts between native markup semantics and WAI-ARIA in the Core Accessibility API Mappings [CORE-AAM].
HTML may have features that are not supported by accessibility APIs at the time of publication. There is not a one to one relationship between all features and platform accessibility APIs. When HTML roles, states and properties do not directly map to an accessibility API, and there is a method in the API to expose a text string, user agents MUST expose the undefined role, states and properties via that method.
For HTML elements or attributes with default WAI-ARIA semantics, user agents MUST conform to Exposing attributes that do not directly map to accessibility API properties in the Core Accessibility API Mappings [CORE-AAM].
In MSAA, the value of an accessible object's Role property is retrieved with the IAccessible::get_accRole method. This method returns a VARIANT that is limited to a finite number of integer role constants insufficient for describing the role of every HTML element, especially new elements introduced by HTML5. To address this limitation, some user agents, e.g., Firefox and Chrome in cooperation with some screen readers, have elected to expose certain roles by returning a string value (BSTR) in that VARIANT in a way that is not described by the MSAA specification.
For example, Firefox returns the element's tag name as a BSTR for the following: abbr
, address
, aside
, blockquote
, canvas
, caption
, dd
, div
, figcaption
, footer
, form
, h1
–h6
, header
, iframe
, input type="file"
, main
, menu
, nav
, output
, p
, pre
, q
, section
, time
.
Similarly, Chrome returns the element's tag name for: blockquote
, div
, dl
, figcaption
, form
, h1-h6
, menu
, meter
, p
, pre
.
to do
Notes:
Element | WAI-ARIA | MSAA + UIA Express | MSAA + IAccessible2 | UIA | ATK | AX |
---|---|---|---|---|---|---|
a (represents a hyperlink) |
link role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
a (represents a hyperlink and parent is a menu) |
menuitem role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
a (no href attribute) |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_TEXT_FRAME
Interfaces:
IAccessibleHyperlink ; IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Text
|
Role:
ATK_ROLE_STATIC
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
abbr |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_TEXT_FRAME
Object attributes:
"abbr" attribute on the containing
td if a single child,
text content used as a value
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Text
|
Role:
ATK_ROLE_STATIC
Object attributes:
"abbr" attribute on the containing
td if a single child,
text content used as a value
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
address |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_TEXT_FRAME
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Text
|
Role:
ATK_ROLE_SECTION
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
AXLandmarkContentInfo
AXRoleDescription:
"content information"
Note: recommend AXRoleDescription of "address" to disambiguate from "contentinfo" landmark role. Refer to WebKit bug 83989
|
area (represents a hyperlink) |
link role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
area (no href attribute) |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_SHAPE
|
Control Type:
Text
|
Role:
ATK_ROLE_STATIC
|
Not mapped
|
article |
article role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
aside |
complementary role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
audio |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
|
Role:
ROLE_SYSTEM_GROUPING
|
Control Type:
Group
|
Role:
ATK_ROLE_AUDIO
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
Note: UI controls within the audio element exposed as
AXToolbar . |
b |
No corresponding role |
No accessible object. Exposed by
UIA_FontWeightAttributeId of the TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as
"font-weight" text attribute on the text container.
The value depends on the platform.
|
No accessible object. Exposed by
UIA_FontWeightAttributeId of the TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as
"font-weight" text attribute on the text container.
The value depends on the platform.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
base |
No corresponding role |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
bdi |
No corresponding role | ? |
No accessible object. May affect on
"writing-mode" text attribute on its text container.
|
? |
No accessible object. May affect on
"writing-mode" text attribute on its text container.
|
|
bdo |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
No accessible object.
Exposed as "writing-mode" text attribute on its text container.
|
Control Type:
Text
|
No accessible object.
Exposed as "writing-mode" text attribute on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
blockquote |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_SECTION
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Group
|
Role:
ATK_ROLE_BLOCK_QUOTE
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
body |
document role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
br |
No corresponding role |
Role:
ROLE_SYSTEM_WHITESPACE
|
Role:
ROLE_SYSTEM_WHITESPACE
|
? |
No accessible object. Exposed as '\n' character
via
AtkText interface on the text container.
|
Not mapped
|
button |
button role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
canvas |
No corresponding role |
Role:
ROLE_SYSTEM_GRAPHIC
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_CANVAS
|
Control Type:
Image
NOTE: subdom elements will be mapped separately.
|
Role:
ATK_ROLE_CANVAS
|
AXRole:
AXImage
AXSubrole:
(nil)
AXRoleDescription:
"image"
|
caption |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT
States:
STATE_SYSTEM_READONLY
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_CAPTION
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Text
Properties:
UIA_LabeledByPropertyId on the parent table pointing to the UIA element for the caption element
|
Role:
ATK_ROLE_CAPTION
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
cite |
No corresponding role |
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are
mapped into text attributes on its text container.
|
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are
mapped into text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
code |
No corresponding role |
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are
mapped into text attributes on its text container.
|
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are
mapped into text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
col |
No corresponding role |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
colgroup |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
TODO: look in more detail at UIA table implemenation
|
Not mapped
|
?TODO: look in more detail at UIA table implementation
|
Not mapped
|
Not mapped
|
Command: an element that defines a command, whose Type facet is "checkbox", and that is a descendant of a menu element whose type attribute is in the toolbar state |
menuitemcheckbox role, with the aria-checked state set to "true" if the command's Checked State facet is true, and "false" otherwise |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Command: an element that defines a command, whose Type facet is "command", and that is a descendant of a menu element whose type attribute is in the toolbar state |
menuitem role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Command: an element that defines a command, whose Type facet is "radio", and that is a descendant of a menu element whose type attribute is in the toolbar state |
menuitemradio role, with the aria-checked state set to "true" if the command's Checked State facet is true, and "false" otherwise |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
data |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
|
datalist |
listbox role, with the aria-multiselectable property set to "false" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
dd |
definition role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
del |
No corresponding role |
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are mapped
into text attributes on its text container.
|
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are mapped
into text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
details |
None |
Role:
ROLE_SYSTEM_GROUPING
|
Role:
ROLE_SYSTEM_GROUPING
|
Control Type:
Group ??window??
|
Role:
ATK_ROLE_PANEL
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription: "group"
|
dfn |
No corresponding role |
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are
exposed by text attributes on its text container.
|
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are
exposed by text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
dialog |
Role:
ROLE_SYSTEM_DIALOG
|
Role:
ROLE_SYSTEM_DIALOG
|
Role:
ATK_ROLE_DIALOG
|
|||
div |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
|
May not have an accessible object if has no semantic meaning. Otherwise
Role:
IA2_ROLE_SECTION
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
? |
May not have an accessible object if has no semantic meaning. Otherwise
Role:
ATK_ROLE_SECTION
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
dl |
No corresponding role |
Role:
ROLE_SYSTEM_LIST
States:
STATE_SYSTEM_READONLY
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_LIST
States:
STATE_SYSTEM_READONLY
|
Control Type:
List
|
Role:
ATK_ROLE_DESCRIPTION_LIST
|
AXRole:
AXList
AXSubrole:
AXDefinitionList
AXRoleDescription:
"definition list"
|
dt |
No corresponding role |
Role:
ROLE_SYSTEM_LISTITEM
States:
STATE_SYSTEM_READONLY
|
Role:
ROLE_SYSTEM_LISTITEM
States:
STATE_SYSTEM_READONLY
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
ListItem
|
Role:
ATK_ROLE_DESCRIPTION_TERM
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
AXTerm
AXRoleDescription:
"term"
|
em |
No corresponding role |
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are mapped
into text attributes on its text container
|
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are mapped
into text attributes on its text container
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
embed |
No corresponding role |
Role:
ROLE_SYSTEM_CLIENT
|
Role:
IA2_ROLE_EMBEDDED_OBJECT
States:
STATE_SYSTEM_UNAVAILABLE for windowless plugin
|
Control Type: ?Pane? Window?
|
Role:
ATK_ROLE_EMBEDDED
|
Depends on format of data file |
fieldset |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_GROUPING
|
Control Type:
Group
|
Role:
ATK_ROLE_PANEL
|
AXRole:
AXGroup
AXSubrole:
AXFieldset
AXRoleDescription:
"group"
AXDescription: value from child
legend subtree |
figcaption |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_CAPTION
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Text
|
Role:
ATK_ROLE_CAPTION
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
figure |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_GROUPING
Object attributes:
xml-roles:figure
Name:
related
figcaption content
|
Control Type:
Group
|
Role:
ATK_ROLE_PANEL
Object attributes:
xml-roles:figure
Name:
related
figcaption content
|
AXRole:
AXGroup AXSubrole:
(nil) AXRoleDescription: "figure" |
footer (nearest ancestor sectioning content or sectioning root element is not body ) |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_SECTION
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Group
|
Role:
ATK_ROLE_SECTION
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
footer (nearest ancestor sectioning content or sectioning root element is body ) |
contentinfo role |
Role:
ROLE_SYSTEM_GROUPING
Expose "contentinfo" as text string in
AriaRole |
Role:
IA2_ROLE_FOOTER
Object attributes:
xml-roles:contentinfo
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Group
Properties: Set
LocalizedControlType string to "footer" ??
Expose "contentinfo" as text string in
AriaRole (Expose as text string "footer" in
UIAutomationType_String ??discuss exposing localized type for all unmapped elements, or is it better to expose as Group??) |
Role:
ATK_ROLE_FOOTER
Object attributes:
xml-roles:contentinfo
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
AXLandmarkContentInfo
AXRoleDescription:
"footer"
Refer to Webkit bug 78967
|
form |
form role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
h1 , h2 , h3 , h4 , h5 , h6 |
heading role, with the aria-level property set to the element's outline depth |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
head |
No corresponding role |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
header (nearest ancestor sectioning content or sectioning root element is not body ) |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
|
Role:
IA2_ROLE_SECTION
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Group
|
Role:
ATK_ROLE_SECTION
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
header (nearest ancestor sectioning content or sectioning root element is body ) |
banner role |
Role:
ROLE_SYSTEM_GROUPING
Expose "banner" as text string in
AriaRole |
Role:
IA2_ROLE_HEADER
Object attributes:
xml-roles:banner
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Group
Properties: Set
LocalizedControlType string to what?? "banner"?? Don't want to use "header" because there is a header role for table headers
|
Role:
ATK_ROLE_HEADER
Object attributes:
xml-roles:banner
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
AXLandmarkBanner
AXRoleDescription:
"banner"
Refer to Webkit bug 78967
|
hr |
separator role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
html |
No corresponding role |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
i |
No corresponding role |
No accessible object. Exposed by
UIA_IsItalicAttributeId of the TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as
"font-style:italic" text attribute on its text container.
|
No accessible object. Exposed by
UIA_IsItalicAttributeId of the TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as
"font-style:italic" text attribute on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
iframe |
No corresponding role |
Role:
ROLE_SYSTEM_DOCUMENT ??pane??
States:
STATE_SYSTEM_READONLY
|
Role:
IA2_ROLE_INTERNAL_FRAME
Child:
ROLE_SYSTEM_DOCUMENT having STATE_SYSTEM_READONLY
|
Control Type:
Document ??Pane??
|
Role:
ATK_ROLE_INTERNAL_FRAME
Child:
ATK_ROLE_DOCUMENT_FRAME
|
AXRole:
AXWebArea
AXSubrole:
(nil)
AXRoleDescription:
"html content"
|
img |
img role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
img (alt attribute is empty) |
presentation role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Button state) |
button role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Button state and parent is a menu) |
menuitem role |
Role:
ROLE_SYSTEM_MENUITEM
|
Role:
ROLE_SYSTEM_MENUITEM
|
Control Type:
MenuItem
|
Role:
ATK_ROLE_MENU_ITEM
|
If the option's parent has a group role, then maps to AXMenuButton
If the option's parent has a menu role, then maps to AXMenuItem AXRole: AXMenuItem |
input (type attribute in the Color state) |
? |
Role: If implemented as a textbox,
ROLE_SYSTEM_TEXT
Use UIA guidance
|
Role:
IA2_ROLE_COLOR_CHOOSER
|
Control Type: If implemented as a textbox,
Edit .
Properties: If implemented as a color picker, set
LocalizedControlType string to "Color Picker".
Control Pattern: If implemented as a color picker, implement
IUIAutomationSelectionPattern for the container and IUIAutomationSelectionItemPattern for each color choice
|
Role:
ATK_ROLE_COLOR_CHOOSER
|
If implemented as a textbox:
AXRole:
AXTextField
AXSubrole:
(nil)
AXRoleDescription:
"textfield"
If implemented as a color picker:
AXRole:
AXColorWell
AXSubrole:
(nil)
AXRoleDescription:
"color chooser"
|
input (type attribute in the Checkbox state) |
checkbox role, with the aria-checked state set to "mixed" if the element's indeterminate IDL attribute is true, or "true" if the element's checkedness is true, or "false" otherwise |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Checkbox state and parent is a menu) |
menuitemcheckbox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Date state) |
No corresponding role |
Role:
UIA Calendar
ROLE_SYSTEM_DROPLIST
|
Role:
IA2_ROLE_DATE_EDITOR
|
Control Type:
Calendar
|
Role:
ATK_ROLE_CALENDAR
|
AXRole:
AXDateField
AXSubrole:
(nil)
AXRoleDescription:
"date field"
|
input (type attribute in the Date and Time state) |
No corresponding role |
Role:
UIA Calendar
ROLE_SYSTEM_DROPLIST
|
Role:
IA2_ROLE_DATE_EDITOR
|
Control Type:
Calendar
|
Role:
ATK_ROLE_CALENDAR
|
AXRole:
AXTextField
AXSubrole:
(nil)
AXRoleDescription:
"text field"
|
input (type attribute in the E-mail state with no suggestions source element) |
textbox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the File Upload state) |
No corresponding role |
Role:
ROLE_SYSTEM_PUSHBUTTON
|
Role:
IA2_ROLE_TEXT_FRAME
Children:
A button and label (implementation specific)
|
Control Type:
Button
|
Role:
ATK_ROLE_STATIC
Children:
ATK_ROLE_PUSH_BUTTON when pressed ATK_ROLE_FILE_CHOOSER dialog shown
|
AXRole:
AXButton
AXSubrole:
AXFileUploadButton
AXRoleDescription:
file upload button
|
input (type attribute in the Image Button state) |
button role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Image Button state and parent is a menu) |
menuitem role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Month state) |
No corresponding role |
Role:
UIA Calendar
ROLE_SYSTEM_DROPLIST
|
Role:
IA2_ROLE_DATE_EDITOR
|
Control Type:
Calendar
|
Role:
ATK_ROLE_DATE_EDITOR
|
AXRole:
AXTextField
AXSubrole:
(nil)
AXRoleDescription:
"text field"
|
input (type attribute in the Number state) |
spinbutton role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Password state) |
textbox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Radio Button state) |
radio role, with the aria-checked state set to "true" if the element's checkedness is true, or "false" otherwise |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Radio Button state and parent is a menu) |
menuitemradio role, with the aria-checked state set to "true" if the element's checkedness is true, or "false" otherwise |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Range state) |
slider role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Reset Button state) |
button role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Search state with no suggestions source element) |
textbox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Submit Button state) |
button role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Telephone state with no suggestions source element) |
textbox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Text state with no suggestions source element) |
textbox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Text, Search, Telephone, URL, or E-mail states with a suggestions source element) |
combobox role, with the aria-owns property set to the same value as the list attribute |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Time state) |
No corresponding role |
Control Type:
Spinner
|
AXRole:
AXTimeField
AXSubrole:
(nil)
AXRoleDescription:
"time field"
|
|||
input (type attribute in the URL state with no suggestions source element) |
textbox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
input (type attribute in the Week state) |
No corresponding role |
Role:
UIA Calendar
ROLE_SYSTEM_DROPLIST
|
Role:
IA2_ROLE_DATE_EDITOR
|
Control Type:
Calendar
|
Role:
ATK_ROLE_CALENDAR
|
AXRole:
AXTextField
AXSubrole:
(nil)
AXRoleDescription:
"text field"
|
ins |
No corresponding role |
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are mapped
into text attributes on its text container.
|
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are mapped
into text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
kbd |
No corresponding role |
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Mapped into
"font-family:monospace" text attribute on its text
container.
|
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Mapped into
"font-family:monospace" text attribute on its text
container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
keygen |
listbox role, with the aria-multiselectable property set to "false" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
label |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT
Use UIA guidance
|
Role:
ROLE_SYSTEM_STATICTEXT and IA2_ROLE_LABEL
Relations:
IA2_RELATION_LABEL_FOR for a child form element or form element
referred by for attribute. Note,
related form element provides IA2_RELATION_LABELLED_BY pointing to the label.
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text
|
Role:
ATK_ROLE_LABEL
Relations:
ATK_RELATION_LABEL_FOR for a child form element or form element
referred by for attribute. Note,
related form element provides ATK_RELATION_LABELLED_BY
pointing to the label.
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
legend |
No corresponding role |
Role:
SHOULD use ROLE_SYSTEM_TEXT
UIA_LabeledByPropertyId (see UIA column)
|
Role :
ROLE_SYSTEM_STATICTEXT and IA2_ROLE_LABEL
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text
Properties:
The parent
fieldset has a UIA_LabeledByPropertyId
pointing to the UIA element for the legend element.
|
Role :
ATK_ROLE_LABEL
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
li (parent is an ol or ul ) |
listitem role with aria-setsize value reflecting number of li elements within the parent ol or ul and aria-posinset value reflecting the li elements position within the set. |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
li (parent is a menu ) |
listitem role with aria-setsize value reflecting number of li elements within the parent menu and aria-posinset value reflecting the li elements position within the set. |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
link |
No corresponding role |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
main |
main role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
map |
No corresponding role |
Not mapped
|
Not mapped if used as an image map, otherwise:
Role:
IA2_ROLE_TEXT_FRAME
|
Not mapped
|
Not mapped if used as an image map, otherwise:
Role:
ATK_ROLE_STATIC
|
Not mapped
|
mark |
No corresponding role | Role: ROLE_SYSTEM_TEXT |
Role:
IA2_ROLE_TEXT_FRAME Object attributes: Styles used are mapped to text attributes on the accessible object. Interfaces: |
Control Type: Text |
Role: Object attributes: Styles used are mapped to text attributes on the accessible object. Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup AXSubrole:
? AXRoleDescription: "highlighted content" |
math |
math role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
menu (type attribute in the popup menu state) |
menu role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
menu (type attribute in the toolbar state) |
toolbar role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
menuitem (type attribute in the Checkbox state) |
menuitemcheckbox role, with the aria-checked state set to "true" if the checked attribute is present, and "false" otherwise |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
menuitem (type attribute in the Command state) |
menuitem role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
menuitem (type attribute in the Radio state) |
menuitemradio role, with the aria-checked state set to "true" if the checked attribute is present, and "false" otherwise |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
meta |
No corresponding role |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
meter |
No corresponding role |
Role:
?? not sure this is right. maybe a number or value or something?
ROLE_SYSTEM_TEXT
Use UIA guidance
|
Role:
ROLE_SYSTEM_PROGRESSBAR
Interfaces:
IAccessibleValue
|
Control Pattern:
RangeValue
Properties: Set the control pattern's
IsReadOnly property to true. Set LocalizedControlType to "Meter".
|
Role:
ATK_ROLE_PROGRESS_BAR
Interfaces:
AtkValue
|
AXRole:
AXProgressIndicator
AXSubrole:
(nil)
AXRoleDescription:
"Progress Indicator"
|
nav |
navigation role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
noscript |
No corresponding role |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
object |
No corresponding role | ?? would pane or window work?? depends on format of data file. examples include document, client, graphic and unknown. Use MSAA or UIA guidance
|
Depends on format of data file. If contains a plugin then
Role:
IA2_ROLE_EMBEDDED_OBJECT
States:
STATE_SYSTEM_UNAVAILABLE for windowless plugin
|
Depends on format of data file.
|
Depends on format of data file. If contains a plugin then
Role:
ATK_ROLE_EMBEDDED
|
Depends on format of data file. |
ol |
list role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
optgroup |
group role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
option (in a list of options or represents a suggestion in a datalist ) |
option role, with the aria-selected state set to "true" if the element's selectedness is true, or "false" otherwise. |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
output |
status role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
p |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_PARAGRAPH
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text
|
Role:
ATK_ROLE_PARAGRAPH
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
param |
No corresponding role |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
picture |
No corresponding role | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
pre |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT ??group?
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_TEXT_FRAME
Styles used are mapped to text attributes on the accessible object.
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text ??Group??
|
Role:
ATK_ROLE_SECTION
Styles used are mapped to text attributes on the accessible object.
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
progress |
progressbar role, with, if the progress bar is determinate, the aria-valuemax property set to the maximum value of the progress bar, the aria-valuemin property set to zero, and the aria-valuenow property set to the current value of the progress bar |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
q |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT ??group??
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_TEXT_FRAME
Children:
ROLE_SYSTEM_TEXT wrapped by ROLE_SYSTEM_STATICTEXT created for quote marks
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text ??Group??
|
Role:
ATK_ROLE_STATIC
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
rp |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT ??group??
Use MSAA or UIA guidance
|
No accessible object. No child elements are
exposed if
ruby is supported by the browser.
|
Control Type:
Text ??Group??
|
No accessible object. No child elements are
exposed if
ruby is supported by the browser.
|
? |
rt |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
No accessible object.
|
Control Type:
Text
|
No accessible object.
|
? |
ruby |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT ??group??
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_TEXT_FRAME
|
Control Type:
Text ??Group??
|
Role:
ATK_ROLE_STATIC
|
? |
s |
No corresponding role |
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as
"text-line-through-style:solid" text attribute on the text container.
|
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as
"text-line-through-style:solid" text attribute on the text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
samp |
No corresponding role |
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles are mapped into
text attributes on its text container.
|
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles are mapped into
text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
script |
No corresponding role |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
section |
Note:It is strongly recommended that user agents such as screen readers only convey the presence of, and provide navigation for section elements, when the section element has an accessible name. |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
select
(with a multiple attribute or
size attribute having value greater than 1 )
|
listbox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
select
(with NO multiple attribute
and NO size attribute having value greater than 1 )
|
combobox role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
small |
No corresponding role |
No accessible object. Exposed by
UIA_FontSizeAttributeId of the TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as "font-size"
text attribute on the text container.
|
No accessible object. Exposed by
UIA_FontSizeAttributeId of the TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as "font-size"
text attribute on the text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
source |
No corresponding role |
Do not expose this object
|
Not mapped
|
Do not expose this object
|
Not mapped
|
Do not expose this object
|
span |
No corresponding role |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Not mapped
|
Control Type:
Group
|
Not mapped
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
strong |
No corresponding role |
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are mapped
into text attributes on its text container.
|
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are mapped
into text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
style |
No corresponding role |
Do not expose this object
|
Not mapped
|
Do not expose this object
|
Not mapped
|
Do not expose this object
|
sub |
No corresponding role |
No accessible object. Exposed by
UIA_IsSubscriptAttributeId of the TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as "text-position:sub"
text attribute on its text container.
|
No accessible object. Exposed by
UIA_IsSubscriptAttributeId of the TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as "text-position:sub"
text attribute on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
summary |
No corresponding role |
Role:
ROLE_SYSTEM_PUSHBUTTON
States: ??has popup??
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_PUSHBUTTON
|
Control Type:
Button
Control Pattern:
ExpandCollapse
|
Role:
ATK_ROLE_PUSHBUTTON
|
AXRole:
AXDisclosureTriangle
AXSubrole:
(nil)
AXRoleDescription:
"disclosure triangle"
|
sup |
No corresponding role |
No accessible object. Exposed by
UIA_IsSuperscriptAttributeId of the TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as "text-position:super"
text attribute on its text container.
|
No accessible object. Exposed by
UIA_IsSuperscriptAttributeId of the TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as "text-position:super"
text attribute on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
svg |
No corresponding role |
Role:
ROLE_SYSTEM_GRAPHIC
|
Role:
ROLE_SYSTEM_GRAPHIC
|
Control Type:
Image
|
Role:
ATK_ROLE_IMAGE
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
table |
table role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
tbody |
rowgroup role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
td (ancestor table element has table role) |
cell role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
td (ancestor table element has grid role) |
gridcell role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
template |
No corresponding role | Not mapped |
Not mapped
|
Not mapped |
Not mapped
|
Not mapped |
textarea |
textbox role, with the aria-multiline property set to "true" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
tfoot |
rowgroup role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
th (is neither column header nor row header, and ancestor table element has table role) |
cell role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
th (is neither column header nor row header, and ancestor table element has grid role) |
gridcell role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
th (is a column header) |
columnheader role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
th (is a row header) |
rowheader role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
thead |
rowgroup role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Control Type:
Header
|
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
time |
No corresponding role |
Role:
ROLE_SYSTEM_TEXT
|
Role:
IA2_ROLE_TEXT_FRAME Object attributes: "datetime" attribute on the containing Interfaces: |
? |
Role: Object attributes: "datetime" attribute on the containing Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
?
AXRoleDescription:
?
|
title |
No corresponding role |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
tr |
row role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
track |
No corresponding role | Not mapped |
Not mapped
|
Not mapped |
Not mapped
|
Not mapped |
u |
No corresponding role |
No accessible object. Exposed by
UIA_UnderlineStyleAttributeId of the TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as "text-underline-style:solid" text attribute on its text container.
|
No accessible object. Exposed by
UIA_UnderlineStyleAttributeId of the TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Exposed as
"text-underline-style:solid" text attribute on its text container.
|
? |
ul |
list role |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
var |
No corresponding role |
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are mapped to text attributes on its text container.
|
No accessible object. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible object.
|
No accessible object. Styles used are mapped to text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
video |
No corresponding role |
Role: ROLE_SYSTEM_GROUPING
|
Role:
ROLE_SYSTEM_GROUPING
|
Control Type: Group
|
Role:
ATK_ROLE_VIDEO
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
Note: UI controls within the video element exposed as
AXToolbar . |
wbr |
No corresponding role |
Not mapped
|
A line break if added is exposed via
IAccessibleText on its text container
|
Not mapped |
A line break if added is exposed via Text interface on its text container
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
Notes:
Attribute | Element(s) | WAI-ARIA | MSAA + UIA Express | MSAA + IAccessible2 | UIA | ATK | AX | Comments |
---|---|---|---|---|---|---|---|---|
abbr |
th |
Not mapped |
Object attributes:
"abbr" until child
abbr element is provided
|
Object attributes:
"abbr" until child
abbr element is provided
|
||||
accept |
input |
Not mapped |
Not mapped
|
Not mapped
|
||||
accept-charset |
form |
Not mapped |
Not mapped
|
Not mapped
|
||||
accesskey |
HTML elements |
Not mapped | accKeyboardShortcut |
a key binding accessible by
accKeyboardShortcut
and IAccessibleAction::keyBinding
|
Properties:
AcceleratorKey
|
atk_action_get_keybinding
|
AXAccessKey: <value> |
|
action |
form |
Not mapped |
Not mapped
|
Not mapped
|
||||
allowfullscreen |
iframe |
Not mapped
|
Not mapped
|
|||||
alt |
area ; img ; input |
Not mapped | accName |
Used for accessible name, exposed via accName
|
Properties:
Name
|
Used for accessible name, exposed via
atk_object_get_name
|
AXDescription: <value> |
|
async |
script |
Not mapped |
Not mapped
|
Not mapped
|
||||
autocomplete "on|off" |
form |
Note: the ARIA attribute and the HTML attribute have disparate features. |
Not mapped |
States:
STATE_SUPPORTS_AUTOCOMPLETION on text form controls unitl the value is overriden by control
|
Not mapped |
States:
ATK_STATE_SUPPORTS_AUTOCOMPLETION
on text form controls unitl the value is overriden by control
|
Not mapped | If the element includes both autocomplete and aria-autocomplete attributes with valid values, User Agents MUST expose only the autocomplete attribute value. |
autocomplete |
input ; select ; textarea |
Note: the ARIA attribute and the HTML attribute have disparate features. |
Not mapped |
States:
STATE_SUPPORTS_AUTOCOMPLETION
|
Not mapped |
States:
ATK_STATE_SUPPORTS_AUTOCOMPLETION
|
Not mapped | If the element includes both autocomplete and aria-autocomplete attributes with valid values, User Agents MUST expose only the autocomplete attribute value. |
autofocus |
button ; input ; keygen ; select ; textarea |
Not mapped - aria-flowto ? |
N/A |
Not mapped
|
N/A |
Not mapped
|
N/A | |
autoplay |
audio ; video |
Not mapped | N/A |
Not mapped
|
N/A |
Not mapped
|
N/A | |
border |
table |
Not mapped |
Not mapped
|
Not mapped
|
||||
challenge |
keygen |
Not mapped |
Not mapped
|
Not mapped
|
||||
charset |
meta |
Not mapped |
Not mapped
|
Not mapped
|
||||
charset |
script |
Not mapped |
Not mapped
|
Not mapped
|
||||
checked (if present) |
menuitem ; input |
aria-checked (state)="true" |
Set the STATE_SYSTEM_CHECKED state |
States:
STATE_SYSTEM_CHECKED
|
Expose as ToggleState property in Toggle control pattern |
States:
ATK_STATE_CHECKED
|
AXValue: 1 |
|
checked (if absent) |
menuitem ; input |
aria-checked (state)="false" |
Clear the STATE_SYSTEM_CHECKED state |
Not mapped
|
Expose as ToggleState property in Toggle control pattern. |
Not mapped
|
AXValue: 0 |
|
cite |
blockquote ; del ; ins ; q |
Not mapped
|
Not mapped
|
AXURL: <value> |
||||
class |
HTML elements | Not mapped |
Not mapped
|
Not mapped
|
||||
cols |
textarea |
Not mapped
|
Not mapped
|
AXRangeForLine: <value> |
||||
colspan |
td ; th |
exposed via
IAccessibleTableCell::columnExtent
|
exposed via
atk_table_get_column_extent_at
|
AXColumnIndexRange: |
||||
command |
menuitem |
Not mapped |
Not mapped
|
Not mapped
|
||||
content |
meta |
Not mapped |
Not mapped
|
Not mapped
|
||||
contenteditable |
HTML elements |
States:
IA2_STATE_EDITABLE on this and every nested text accessible object
Interfaces:
IAccessibleEditableText on this and every nested text accessible object
|
States:
ATK_STATE_EDITABLE on this and every nested text accessible object
Interfaces:
AtkEditableText on this and every nested text accessible object
|
? | ||||
contextmenu |
HTML elements | aria-haspopup ="true" |
Expose as STATE_SYSTEM_HASPOPUP . If on a push button, change the role to ROLE_SYSTEM_BUTTONMENU . |
Linked menu is available in browser's context menu on the element
|
Expose state of the pop-up activities in the ExpandCollapseState property in the ExpandCollapse control pattern. |
Linked menu is available in browser's context menu on the element
|
Actions:
AXShowMenu ; AXPress
|
|
controls |
audio ; video |
Not mapped
|
Not mapped
|
Controls exposed as AXToolbar |
||||
coords |
area |
Not mapped |
Defines an accessible object's dimensions (
IAccessible::accLocation )
|
Defines an accessible object's dimensions, exposed via
atk_component_get_position and atk_component_get_size
|
||||
crossorigin |
audio ; img ; link ; script ; video |
Not mapped |
Not mapped
|
Not mapped
|
||||
data |
object |
Not mapped |
Not mapped
|
Not mapped
|
||||
datetime |
del ; ins |
Object attributes:
datetime: text content used as a value
|
Object attributes:
datetime: text content used as a value
|
? | ||||
datetime |
time |
Object attributes:
datetime: text content used as a value
|
Object attributes:
datetime: text content used as a value
|
? | ||||
default |
track |
Not mapped |
Not mapped
|
Not mapped
|
||||
defer |
script |
Not mapped |
Not mapped
|
Not mapped
|
||||
dir |
HTML elements |
Exposed as "writing-mode" text attribute on the text container.
|
Exposed as "writing-mode" text attribute on the text container.
|
? | ||||
dirname |
input ; textarea |
Not mapped
|
Not mapped
|
? | ||||
disabled |
button ; menuitem ; fieldset ; input ; keygen ; optgroup ; option ; select ; textarea |
States:
STATE_SYSTEM_UNAVAILABLE
|
States:
No interactive states like
ATK_STATE_FOCUSABLE
|
AXEnabled: NO |
||||
download |
a ; area |
Not mapped
|
Not mapped
|
? | ||||
draggable |
HTML elements |
Object attributes:
draggable:true
|
Object attributes:
draggable:true
|
? | ||||
dropzone |
HTML elements |
Not mapped
|
Not mapped
|
? | ||||
enctype |
form |
Not mapped |
Not mapped
|
Not mapped
|
||||
for |
label |
Not mapped |
Used for accessible name
Relations:
IA2_RELATION_LABEL_FOR and IA2_RELATION_LABEL_BY relations between
label and referred element
|
Used for accessible name
Relations:
ATK_RELATION_LABEL_FOR and ATK_RELATION_LABEL_BY relations between
label and referred element
|
||||
for |
output |
Not mapped |
Relations:
IA2_RELATION_CONTROLLED_BY with an element pointed by the attribute. Paired element exposes IA2_RELATION_CONTROLLER_FOR relation.
|
Relations:
ATK_RELATION_CONTROLLED_BY with an element pointed by the attribute.
Paired element exposes ATK_RELATION_CONTROLLER_FOR relation.
|
||||
form |
button ; fieldset ; input ; keygen ; label ; object ; output ; select ; textarea |
Not mapped |
Not mapped
|
Not mapped
|
||||
formaction |
button ; input |
Not mapped |
Not mapped
|
Not mapped
|
||||
formenctype |
button ; input |
Not mapped |
Not mapped
|
Not mapped
|
||||
formmethod |
button ; input |
Not mapped |
Not mapped
|
Not mapped
|
||||
formnovalidate |
button ; input |
Not mapped |
Not mapped
|
Not mapped
|
||||
formtarget |
button ; input |
Not mapped |
Not mapped
|
Not mapped
|
||||
headers |
td ; th |
Links the cell to its header cells. Exposed via
IAccessibleTableCell::rowHeaderCells and IAccessibleTableCell::columnHeaderCells .
|
Links the cell to its row and column header cells
(note, only one row and one column header cells can be exposed because of API restrictions).
See
atk_table_get_row_header and atk_table_get_column_header .
|
Expose via AXColumnHeaderUIElements and AXRowHeaderUIElements |
||||
height |
canvas ; embed ; iframe ; img ; input ; object ; video |
Not mapped |
Defines an accessible object's height (
IAccessible::accLocation )
|
Defines an accessible object's height (
atk_component_get_size )
|
||||
high |
meter |
Not mapped
|
Not mapped
|
? | ||||
href |
a ; area |
AXURL: <value> |
||||||
href |
link |
Not mapped
|
Not mapped
|
|||||
hreflang |
a ; area ; link |
Not mapped
|
Not mapped
|
|||||
http-equiv |
meta |
Not mapped |
Not mapped
|
Not mapped
|
||||
icon |
menuitem |
Not mapped |
Not mapped
|
Not mapped
|
||||
id |
HTML elements | Not mapped |
Not mapped
|
Not mapped
|
||||
indeterminate [IDL] |
HTML elements; menuitem ; input |
aria-checked (state)="mixed" |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
|
ismap |
img |
Not mapped |
Not mapped
|
Not mapped
|
||||
keytype |
keygen |
Not mapped |
Not mapped
|
Not mapped
|
||||
kind |
track |
Not mapped
|
Not mapped
|
|||||
label |
menuitem ; menu ; optgroup ; option ; track |
Associates the accessible name
|
Associates the accessible name
|
|||||
lang |
HTML elements | Unknown |
Exposed as "language" text attribute on the text container
|
Unknown |
Exposed as "language" text attribute on the text container
|
AXLanguage: <value> |
||
list |
input |
Not mapped |
Associates the autocomplete list with the control. Refer to
input elements mapping.
|
Associates the autocomplete list with the control. Refer to
input elements mapping.
|
||||
longdesc |
img , frame , iframe |
No | accdescription (Internet Explorer only) |
Actions:
showlongdesc (exposed on
img only)
|
Not mapped
|
Actions:
showlongdesc (exposed on
img only)
|
Not mapped
|
IE 8+ populates the accdescription with the value of the longdesc attribute. This is brittle as it is overwritten when aria-describedby is used. |
loop |
audio ; video |
Not mapped |
Not mapped
|
Not mapped
|
||||
low |
meter |
Not mapped
|
Not mapped
|
|||||
manifest |
html |
Not mapped |
Not mapped
|
Not mapped
|
||||
max |
input |
Exposed as
IAccessibleValue::maximumValue if the element
implements the interface
|
Exposed as
atk_value_get_maximum_value if the element
implements the AtkValue interface
|
AXMaxValue: <value> |
||||
max |
meter ; progress |
Exposed as
IAccessibleValue::maximumValue if the element
implements the interface
|
Exposed as
atk_value_get_maximum_value if the element
implements the AtkValue interface
|
AXMaxValue: <value> |
||||
maxlength |
input ; textarea |
Not mapped
|
Not mapped
|
|||||
media |
link ; source ; style |
Not mapped
|
Not mapped
|
|||||
mediagroup |
audio ; video
|
Not mapped |
Not mapped
|
Not mapped
|
||||
method |
form |
Not mapped |
Not mapped
|
Not mapped
|
||||
min |
input |
Exposed as
IAccessibleValue::minimumValue if the element
implements the interface
|
Exposed as
atk_value_get_minimum_value if the element
implements the AtkValue interface
|
AXMinValue: <value> |
||||
min |
meter |
Exposed as
IAccessibleValue::minimumValue if the element
implements the interface
|
Exposed as
atk_value_get_minimum_value if the element
implements the AtkValue interface
|
AXMinValue: <value> |
||||
multiple |
input |
aria-multiselectable property set to "true" |
Not mapped
|
Not mapped
|
||||
multiple |
select |
States:
STATE_SYSTEM_MULTISELECTABLE
A multi selectable listbox accessible object, refer to
select element
|
States:
ATK_STATE_SYSTEM_MULTISELECTABLE
A multi selectable listbox accessible object, refer to
select element
|
|||||
muted |
audio ; video |
Not mapped |
Not mapped
|
Not mapped
|
||||
name |
button ; fieldset ; input ; keygen ; output ; select ; textarea |
Not mapped |
Not mapped
|
Not mapped
|
||||
name |
form |
Not mapped |
Not mapped
|
Not mapped
|
||||
name |
iframe ; object |
Not mapped |
Not mapped
|
Not mapped
|
||||
name |
map |
Not mapped |
Not mapped
|
Not mapped
|
||||
name |
meta |
Not mapped |
Not mapped
|
Not mapped
|
||||
name |
param |
Not mapped |
Not mapped
|
Not mapped
|
||||
novalidate |
form |
Not mapped |
Not mapped
|
Not mapped
|
||||
open |
details |
aria-expanded ="true | false" |
STATE_SYSTEM_EXPANDED STATE_SYSTEM_COLLAPSED |
STATE_SYSTEM_EXPANDED STATE_SYSTEM_COLLAPSED |
ExpandCollapsePattern
|
States:
ATK_STATE_COLLAPSED or ATK_STATE_EXPANDED depending
on the attribute value
|
AXExpanded: YES|NO |
Set properties on the summary element. |
open |
dialog |
aria-expanded ="true | false" |
STATE_SYSTEM_EXPANDED STATE_SYSTEM_COLLAPSED |
STATE_SYSTEM_EXPANDED STATE_SYSTEM_COLLAPSED |
ExpandCollapsePattern
|
States:
ATK_STATE_COLLAPSED or ATK_STATE_EXPANDED depending
on the attribute value
|
AXExpanded: YES|NO |
|
optimum |
meter |
Not mapped
|
Not mapped
|
|||||
pattern |
input |
States:
IA2_STATE_INVALID_ENTRY if value doesn't meet the pattern
|
States:
ATK_STATE_INVALID_ENTRY if value doesn't meet the pattern
|
|||||
placeholder |
input ; textarea |
aria-placeholder |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
Use WAI-ARIA mapping |
When the placeholder and aria-placeholder attributes are both present, and the placeholder attribute's value is non-empty, user agents MUST expose the value of the placeholder attribute, and ignore aria-placeholder . If the placeholder attribute's value is empty, then user agents MUST expose the value of the aria-placeholder attribute. |
poster |
video |
Not mapped
|
Not mapped
|
|||||
preload |
audio ; video |
Not mapped
|
Not mapped
|
|||||
radiogroup |
menuitem |
Not mapped
|
Not mapped
|
|||||
readonly |
input ; textarea |
STATE_SYSTEM_READONLY |
AXEnabled: NO |
|||||
rel |
a ; area ; link |
Not mapped
|
Not mapped
|
|||||
required |
input ; select ; textarea |
aria-required |
Not mapped * * Exposed as |
States:
IA2_STATE_REQUIRED
|
Expose as IsrequiredForForm property. |
States:
ATK_STATE_REQUIRED
|
AXRequired: YES |
? |
reversed |
ol |
Reverses the numbering of the child list item accessible objects.
|
Reverses the numbering of the child list item accessible objects.
|
|||||
rows |
textarea |
Not mapped
|
Not mapped
|
|||||
rowspan |
td ; th |
exposed via
IAccessibleTableCell::rowExtent
|
Exposed via
atk_table_get_row_extent_at
|
AXRowIndexRange: |
||||
sandbox |
iframe |
Not mapped
|
Not mapped
|
|||||
spellcheck |
HTML elements |
Mapped to "invalid" text attribute on the text container
|
Mapped to "invalid" text attribute on the text container
|
|||||
scope |
th |
Defines whether the element is a row or column header (refer to
th element)
|
Defines whether the element is a row or column header (refer to
th element)
|
|||||
scoped |
style |
Not mapped
|
Not mapped
|
|||||
seamless |
iframe |
Not mapped
|
Not mapped
|
|||||
selected |
option |
States:
STATE_SYSTEM_SELECTED ; if the container widget has DOM focus then
STATE_SYSTEM_FOCUSED (refer to option element)
|
States:
ATK_STATE_SELECTED ; if the container widget has DOM focus then
ATK_STATE_FOCUSED (refer to option element)
|
|||||
shape |
area |
Not mapped
|
Not mapped
|
|||||
size |
input ; select |
If greater than 1, then creates a listbox accessible object. Refer to
select element for details.
|
If greater than 1, then creates a listbox accessible object. Refer to
select element for details.
|
|||||
sizes |
link |
Not mapped
|
Not mapped
|
|||||
span |
col ; colgroup |
exposed as
IAccessibleTableCell::columnExtent on
all cells at the column
|
Exposed via
atk_table_get_column_extent_at
|
|||||
src |
audio ; embed ; iframe ; img ; input ; script ; source ; track ; video |
Object attributes:
src on
img only
|
Object attributes:
src on
img only
|
|||||
srcdoc |
iframe |
Not mapped
|
Not mapped
|
|||||
srclang |
track |
Not mapped
|
Not mapped
|
|||||
start |
ol |
Changes the first number of the child list item accessible objects to match the
start attribute's value.
|
Changes the first number of the child list item accessible objects to match the
start attribute's value.
|
|||||
step |
input |
Not mapped
|
Exposed as
atk_value_get_minimum_increment if the element
implements the AtkValue interface
|
|||||
style |
HTML elements | Not mapped |
Refer to CSS accessibility mapping
|
Refer to CSS accessibility mapping
|
||||
tabindex |
HTML elements | Not mapped |
States:
STATE_SYSTEM_FOCUSABLE ; when the element has DOM focus then STATE_SYSTEM_FOCUSED
|
States:
ATK_STATE_FOCUSABLE ; when the element has DOM focus then ATK_STATE_FOCUSED
|
||||
target |
a ; area |
Not mapped
|
Not mapped
|
|||||
target |
base |
Not mapped
|
Not mapped
|
|||||
target |
form |
Not mapped
|
Not mapped
|
|||||
title |
HTML elements |
Associates the accessible name or if it was provided otherwise then
accessible description
|
Associates the accessible name or if it was provided otherwise then
accessible description
|
AXHelp: <value> |
||||
title |
abbr ; dfn |
Associates the accessible name
|
Associates the accessible name
|
AXHelp: <value> |
||||
title |
menuitem |
Associates the accessible name or if it was provided otherwise then
accessible description
|
Associates the accessible name or if it was provided otherwise then
accessible description
|
AXHelp: <value> |
||||
title |
link |
Not mapped
|
Not mapped
|
Not mapped
|
||||
title |
link ; style |
Not mapped
|
Not mapped
|
Not mapped
|
||||
translate |
HTML elements |
Not mapped
|
Not mapped
|
|||||
type |
a ; area ; link |
Not mapped
|
Not mapped
|
|||||
type |
button |
submit type may be a default button in the form
|
submit type may be a default button in the form
|
|||||
type |
button ; input |
|||||||
type |
menuitem |
Defines the accessible role and states, refer to
type="
command "
|
Defines the accessible role and states:
type="
command "
|
|||||
type |
embed ; object ; script ; source ; style |
Not mapped
|
Not mapped
|
|||||
type |
menu |
Not mapped
|
Not mapped
|
|||||
typemustmatch |
object |
Not mapped
|
Not mapped
|
|||||
usemap |
img ; object |
Responsible for image map creation, refer to
img element
|
Responsible for image map creation, refer to
img element
|
|||||
value |
button ; option |
Not mapped
|
Not mapped
|
|||||
value |
input |
Associates the accessible value for entry type input elements
and accessible name for button type input elements
|
Associates the accessible value for entry type input elements
and accessible name for button type input elements
|
AXValue: <value> |
||||
value |
li |
Exposed as first text node of
li 's accessible object.
|
Exposed as first text node of
li 's accessible object.
|
Exposed as
AXValue: <value> with accessible object:
AXRole:
AXLlistMarker
AXSubrole:
(nil)
AXRoleDescription:
list marker
|
||||
value |
meter ; progress |
Exposed as
IAccessibleValue::currentValue
|
Exposed as
atk_value_get_current_value
|
AXValue: <value> |
||||
value |
param |
Not mapped
|
Not mapped
|
|||||
width |
canvas ; embed ; iframe ; img ; input ; object ; video |
Defines an accessible object's width (
IAccessible::accLocation )
|
Defines an accessible object's width (
atk_component_get_size )
|
AXSize: w=n |
||||
wrap |
textarea |
Not mapped
|
Not mapped
|
The terms accessible name and accessible description are properties provided in all accessibility APIs. The name of the properties may differ across APIs but they serve the same function: as a container for a short (name) or longer (description) string of text.
input type="text"
, input type="password"
, input type="search"
, input type="tel"
, input type="url"
and textarea
Element input type="text"
, input type="password"
, input type="search"
, input type="tel"
, input type="email"
, input type="url"
and textarea
Element Accessible Name Calculationaria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1. label
elementplaceholder
attributetitle
attributeinput type="text"
, input type="password"
, input type="search"
, input type="tel"
, input type="email"
, input type="url"
and textarea
Element Accessible Description Calculationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.placeholder
attribute if it wasn't used as the accessible nametitle
attribute if it wasn't used as the accessible name.input type="image"
input type="image"
Accessible Name Calculationaria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.alt
attributevalue
attribute title
attributeinput type="image"
Accessible Description Calculationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible name.fieldset
and legend
Elementsfieldset
Element Accessible Name Calculationfieldset
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1. legend
subtreetitle
attributefieldset
Element Accessible Description Calculationfieldset
element has an aria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible namearia-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1. label
elementtitle
attributearia-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible name.summary
Elementsummary
Element Accessible Name Calculationsummary
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1. summary
element subtreetitle
attributesummary
Element Accessible Description Calculationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.summary
element subtree if not used as the accessible nametitle
attribute if it wasn't used as the accessible nameimg
Elementimg
element Accessible Name Calculationimg
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1. alt
attributetitle
attributeIf the img
element is exposed in the accessibility tree and the computed text alternative is empty, then check for the presence of role="presentation"
or any labeling attribute that specifies an empty label, specifically aria-label
, aria-labelledby
, alt
or title
. The presence of any of these indicates the author's intention to indicate that the img
is decorative or redundant. In this case, the user agent must set the name to an empty string. If none of these attributes are present, this indicates the author simply did not provide an accessible label for the image, and the implementation must return an accessible name of NULL instead of an empty string if the accessibility API supports it. This hints to the assistive technology to do its own heuristic processing to repair the missing accessible name.
img
Element Accessible Description Calculationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible nametable
Elementtable
Element Accessible Name Calculationaria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1. caption
elementtitle
attributetable
Element Accessible Description Calculationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.caption
element if it wasn't used as the accessible nametitle
attribute if it wasn't used as the accessible namea
Elementa
Element Accessible Name Calculationa
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.
a
element subtreetitle
attributea
Element Accessible Description Calculationaria-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible namearia-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attributearia-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible nameem
, strong
, small
, s
, cite
, q
, dfn
, abbr
, time
, code
, var
, samp
, kbd
, sub
and sup
, i
, b
, u
, mark
, ruby
, rt
, rp
, bdi
, bdo
, br
, wbr
aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attributearia-describedby
attribute the accessible description is to be calculated using the algorithm defined in Accessible Name and Description: Computation and API Mappings 1.1.title
attribute if it wasn't used as the accessible nameThis section is non-normative.
summary
and details
ElementsThe summary
element should be focusable by default.
The details
element should not focusable by default.
Pressing the spacebar or enter key when the summary
element has focus will show the details
element content if the content is hidden. If the details
element content is showing and the summary
element has focus, pressing the spacebar or enter key will hide the details element content.
The summary
element should be mapped to a disclosure triangle role in accessibility APIs that have such a role. For example the Mac accessibility API includes the AXDisclosureTriangle
role. In accessibility APIs that do not have such a fine grained role, the summary
element should be mapped to a button
role. The role mapping table contains recommended mappings for the summary element.
The default accessible name for the summary
element is the text content of the summary
element.
When the details
element content is hidden, the state of the content should be reflected by an accessible state or property.
Example 1: In the Mac accessibility API on the summary
element (AXDisclosureTriangle
), set AXExpanded
property to NO
. When the details
element content is shown, on the summary
element (AXDisclosureTriangle
), set theAXExpanded
property to YES
. The hidden and shown states of the details
element content is reflected by the absence or presence of the open
attribute.
Example 2: In the IA2 accessibility API on the summary
element (ROLE_SYSTEM_PUSHBUTTON
), set STATE_SYSTEM_COLLAPSED
. When the details
element content is shown, on the summary
element (ROLE_SYSTEM_PUSHBUTTON
), set STATE_SYSTEM_EXPANDED
. The hidden and shown states of the details
element content is reflected by the absence or presence of the open
attribute.
This section is non-normative.
The following people contributed to the development of this document.
This publication has been funded in part with U.S. Federal funds from the Department of Education, National Institute on Disability, Independent Living, and Rehabilitation Research (NIDILRR), initially under contract number ED-OSE-10-C-0067 and currently under contract number HHSP23301500054C. The content of this publication does not necessarily reflect the views or policies of the U.S. Department of Education, nor does mention of trade names, commercial products, or organizations imply endorsement by the U.S. Government.