Beware. This specification is no longer in active maintenance and the HTML Working Group does not intend to maintain it further. See HTML Accessibility API Mappings 1.0 instead.
This document is subject to change without notice.
This document was 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.
To provide access to desktop GUI applications, assistive technologies originally used heuristic techniques to determine the meaning of the user interface and built an alternative off screen model. For example, a row of labels displayed horizontally near the top of an application window might be a menu. Labels with a border drawn around them might be buttons. Heuristic techniques are not always accurate, however, and require assistive technologies to be updated whenever the software application is updated.
A much better technique is for the software application to provide the necessary information for interoperability with assistive technology. To meet this need, platform owners have developed specialized interfaces, called accessibility APIs, which can be used to communicate accessibility information about user interfaces to assistive technologies.
In the case of static Web pages, the Document Object Model (DOM) is used to represent the structure and state of the elements in the document being rendered by a user agent. The elements of the document are organized into a hierarchy of nodes known as the DOM tree. For traditional static Web pages, assistive technologies, such as screen readers, interact with user agents using the DOM. For UI elements that are known to be interactive, such as HTML form elements and desktop applications, assistive technologies may use platform accessibility APIs.
Accessibility APIs covered by this document are:
If User Agent developers need to expose to 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.
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, expose the undefined role, states and properties via that method.
IAccessible2 and ATK use object attributes to expose semantics that are not directly supported in the APIs. Object attributes are name-value pairs that are loosely specified, and very flexible for exposing things where there is no specific interface in an accessibility API. For example, at this time, the HTML5 header
element can be exposed via an object attribute because accessibility APIs have no such role available.
For accessibility APIs that do not have "object attributes" per se, it is useful to find a similar mechanism or develop a new interface to expose name/value pairs. Under the Mac OS X Accessibility Protocol, all getters are already simply name-value pairs and it is possible to expose new semantics whenever necessary. Keep in mind, this also requires working with the assistive technology developers to gain support for the new semantics.
Notes:
Element | HTML4 | HTML5 | WAI-ARIA | MSAA + UIA Express | MSAA + IAccessible2 | UIA | ATK | AX |
---|---|---|---|---|---|---|---|---|
a (represents a hyperlink) |
Yes | Yes | link role |
Role:
ROLE_SYSTEM_LINK
States:
STATE_SYSTEM_LINKED to link and all its descendants. If link is visited then STATE_SYSTEM_TRAVERSED .
Actions: "Jump" action on link and all its descendants.
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_LINK
States:
STATE_SYSTEM_LINKED to link and all its descendants. If link is visited then STATE_SYSTEM_TRAVERSED .
Actions:
"jump" action on link and all its descendants.
Interfaces:
IAccessibleHyperlink ; IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Hyperlink
|
Role:
ATK_ROLE_LINK
States:
If link is visited then
ATK_STATE_VISITED .
Actions:
"jump" action on link and all its descendants.
Interfaces:
AtkHyperlink ; AtkText ; AtkHypertext
|
AXRole:
AXLink
AXSubrole:
(nil)
AXRoleDescription:
"link"
Actions:
AXPress
If link is visited:
AXVisited:
YES
|
a (no href attribrute) |
Yes | Yes | None |
Role:
ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_TEXT_FRAME
Interfaces:
IAccessibleHyperlink ; IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Text
|
Role:
ATK_ROLE_TEXT
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
abbr |
Yes | Yes | None |
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_TEXT
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 |
Yes | Yes | None |
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:
AXLandmarkContentInfo
AXRoleDescription:
"content information"
Note: recommend AXRoleDescription of "address" to disambiguate from "contentinfo" landmark role. Refer to WebKit bug 83989
|
area (represents a hyperlink) |
Yes | Yes | link role |
Role:
ROLE_SYSTEM_LINK
States:
STATE_SYSTEM_LINKED
Use MSAA or UIA guidance
|
States:
STATE_SYSTEM_LINKED
Actions:
jump
Interfaces:
IAccessibleHyperlink
|
Control Type:
Hyperlink
|
Actions:
jump
Interfaces:
AtkHyperlink
|
AXRole:
AXLink
AXSubrole:
(nil)
AXRoleDescription:
"link"
|
area (no href attribute) |
Yes | Yes | None |
Role:
ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_SHAPE
|
Control Type:
Text
|
Role:
ATK_ROLE_TEXT
|
Not mapped
|
article |
No | Yes | article role |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_DOCUMENT
States:
STATE_SYSTEM_READONLY
Object attributes:
xml-roles:article
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Group
|
Role:
ATK_ROLE_DOCUMENT_FRAME
Object attributes:
xml-roles:article
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
AXDocumentArticle
AXRoleDescription:
"article"
|
aside |
No | Yes | complementary role |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_NOTE
Object attributes:
xml-roles:complementary
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Group
|
Role:
ATK_ROLE_SECTION
Object attributes:
xml-roles:complementary
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
AXLandmarkComplementary
AXRoleDescription:
"complementary"
|
audio |
No | Yes | None |
Role:
ROLE_SYSTEM_GROUPING
|
Role:
ROLE_SYSTEM_GROUPING
|
Control Type:
Group
|
Role:
ATK_ROLE_PANEL
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
Note: UI controls within the audio element exposed as
AXToolbar . |
b |
Yes | Yes | None |
Doesn't have an accessible. Exposed by
UIA_FontWeightAttributeId of the TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible, exposed as
"font-weight" text attribute on the text container.
The value depends on the platform.
|
Doesn't have an accessible. Exposed by
UIA_FontWeightAttributeId of the TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible, exposed as
"font-weight" text attribute on the text container.
The value depends on the platform.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
base |
Yes | Yes | None |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
bdi |
None | ? |
Doesn't have an accessible. May affect on
"writing-mode" text attribute on its text container.
|
? |
Doesn't have an accessible. May affect on
"writing-mode" text attribute on its text container.
|
|||
bdo |
Yes | Yes | None |
Role:
ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Doesn't have an accessible.
Exposed as "writing-mode" text attribute on its text container.
|
Control Type:
Text
|
Doesn't have an accessible.
Exposed as "writing-mode" text attribute on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
blockquote |
Yes | Yes | None |
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"
|
body |
Yes | Yes | document role |
Role:
ROLE_SYSTEM_DOCUMENT
States:
STATE_SYSTEM_READONLY
Use MSAA or UIA guidance
|
Doesn't have an accessible. All DOM attributes are
proccessed as they belonged to its document accessible.
|
Control Type:
Document
|
Doesn't have an accessible. All DOM attributes are
proccessed as they belonged to its document accessible.
The document accessible has
ATK_ROLE_DOCUMENT_FRAME .
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
br |
Yes | Yes | None |
Role:
ROLE_SYSTEM_WHITESPACE
|
Role:
ROLE_SYSTEM_WHITESPACE
|
? |
Doesn't have an accesible. Exposed as '\n' character
via
AtkText interface on the text container.
|
Not mapped
|
button |
Yes | Yes | button role |
Role:
ROLE_SYSTEM_PUSHBUTTON
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_PUSHBUTTON
States:
STATE_SYSTEM_DEFAULT if the button is default
Actions: press
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Button
?? When it is in a <menu> it defines a command. Is it still a button, or is it a menuitem??
|
Role:
ATK_ROLE_PUSH_BUTTON
States:
ATK_STATE_DEFAULT if the button is default
Actions: press
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXButton
AXSubrole:
(nil)
AXRoleDescription:
"button"
|
canvas |
No | Yes | None |
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 |
Yes | Yes | None |
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 |
Yes | Yes | None |
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles are
mapped into text attributes on its text container.
|
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles are
mapped into text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
code |
Yes | Yes | None |
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles are
mapped into text attributes on its text container.
|
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles are
mapped into text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
col |
Yes | Yes | None |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
colgroup |
Yes | Yes | None |
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 |
No | Yes | menuitemcheckbox role, with the aria-checked state set to "true" if the command's Checked State facet is true, and "false" otherwise |
Role:
ROLE_SYSTEM_MENUITEM
Use UIA guidance
|
IA2_ROLE_CHECK_MENU_ITEM + object attribute checkable="true" |
Control Type:
MenuItem
Control Pattern:
Toggle
|
ATK_ROLE_CHECK_MENU_ITEM + object attribute checkable="true" |
AXRole:
AXCheckbox
AXSubrole:
(nil)
AXRoleDescription:
"check box"
|
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 |
No | Yes | menuitem role |
Role:
ROLE_SYSTEM_MENUITEM
Use UIA guidance
|
ROLE_SYSTEM_MENUITEM |
Control Type:
MenuItem
|
ATK_ROLE_MENU_ITEM |
Depends on element used to define command |
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 |
No | Yes | menuitemradio role, with the aria-checked state set to "true" if the command's Checked State facet is true, and "false" otherwise |
Role:
ROLE_SYSTEM_MENUITEM
Use UIA guidance
|
IA2_ROLE_RADIO_MENU_ITEM + object attribute checkable="true" |
Control Type:
MenuItem
Control Pattern:
Toggle
|
ATK_ROLE_RADIO_MENU_ITEM + object attribute checkable="true" |
AXRole:
AXRadioButton
AXSubrole:
(nil)
AXRoleDescription:
"radio button"
|
data |
No |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
||
datalist |
No | Yes | listbox role, with the aria-multiselectable property set to "false" |
Role:
ROLE_SYSTEM_COMBOBOX
States:
STATE_SYSTEM_HASPOPUP .
Use UIA guidance
|
Used to constuct a list of options for autocompletes
(in other words it can have no accessible itself)
Role:
ROLE_SYSTEM_LIST
|
Control Type:
ComboBox
|
Used to constuct a list of options for autocompletes
(in other words it can have no accessible itself)
Interfaces:
AtkSelection
|
AXRole:
AXComboBox
AXSubrole:
(nil)
AXRoleDescription:
"combo box"
|
dd |
Yes | Yes | None |
Role:
ROLE_SYSTEM_TEXT
|
Role:
IA2_ROLE_PARAGRAPH
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
? |
Role:
ATK_ROLE_PARAGRAPH
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
AXDefinition
AXRoleDescription:
"definition"
|
del |
Yes | Yes | None |
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles are mapped
into text attributes on its text container.
|
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles are mapped
into text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
details |
No | Yes | None ??dialog seems closer?? |
Role:
ROLE_SYSTEM_GROUPING
|
Role:
ROLE_SYSTEM_GROUPING
|
Control Type:
Group ??window??
|
Role:
ATK_ROLE_PANEL
|
? |
dfn |
Yes | Yes | None |
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles are
exposed by text attributes on its text container.
|
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles 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 |
Yes | Yes | None |
Role:
ROLE_SYSTEM_GROUPING
|
May not have an accessible if has no semantic meaning. Otherwise
Role:
IA2_ROLE_SECTION
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
? |
May not have an accessible if has no semantic meaning. Otherwise
Role:
ATK_ROLE_SECTION
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
dl |
Yes | Yes | None |
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_LIST
|
AXRole:
AXList
AXSubrole:
AXDefinitionList
AXRoleDescription:
"definition list"
|
dt |
Yes | Yes | None |
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_LISTITEM
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
AXTerm
AXRoleDescription:
"term"
|
em |
Yes | Yes | None |
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles are mapped
into text attributes on its text container
|
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles are mapped
into text attributes on its text container
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
embed |
No | Yes | None |
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 |
Yes | Yes | None |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_GROUPING
|
Control Type:
Group
|
Role:
ATK_ROLE_PANEL
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
figcaption |
No | Yes | None |
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 | Yes | None |
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
??discuss graphic/image vs. group??
|
Role:
ATK_ROLE_PANEL
Object attributes:
xml-roles:figure
Name:
related
figcaption content
|
? |
footer |
No | Yes | None |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_FOOTER
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
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
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
Otherwise:
AXRole:
AXGroup
AXSubrole:
AXLandmarkContentInfo
AXRoleDescription:
"footer"
Refer to Webkit bug 78967
|
form |
Yes | Yes | form role |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_FORM
|
Control Type:
Group
|
Role:
ATK_ROLE_FORM
|
AXRole:
AXGroup
AXSubrole:
AXLandmarkForm
AXRoleDescription:
"form"
|
h1 , h2 , h3 , h4 , h5 , h6 |
Yes | Yes | heading role, with the aria-level property set to the element's outline depth |
Role:
ROLE_SYSTEM_TEXT
??or use xml-roles??
|
Role:
IA2_ROLE_HEADING
Object attributes:
level:<heading_level>
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Text
|
Role:
ATK_ROLE_HEADING
Object attributes:
level:<heading_level>
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXHeading
AXSubrole:
(nil)
AXRoleDescription:
"heading"
Properties: Use
AXLevel to expose the heading level
|
head |
Yes | Yes | None |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
header |
No | Yes | None |
Role:
ROLE_SYSTEM_GROUPING
|
Role:
IA2_ROLE_HEADER
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 ;
|
Control Type:
Group
Properties: Do not put "header" in
LocalizedControlType string because there is a header role for table headers
|
Role:
ATK_ROLE_HEADER
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
Otherwise:
AXRole:
AXGroup
AXSubrole:
AXLandmarkBanner
AXRoleDescription:
"banner"
Refer to Webkit bug 78967
|
hr |
Yes | Yes | separator role |
Role:
ROLE_SYSTEM_SEPARATOR
|
Role:
ROLE_SYSTEM_SEPARATOR
|
Control Type:
Separator
|
Role:
ATK_ROLE_SEPARATOR
|
? |
html |
Yes | Yes | None |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
i |
Yes | Yes | None |
Doesn't have an accessible. Exposed by
UIA_IsItalicAttributeId of the TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible, exposed as
"font-style:italic" text attribute on its text container.
|
Doesn't have an accessible. Exposed by
UIA_IsItalicAttributeId of the TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible, exposed as
"font-style:italic" text attribute on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
iframe |
Yes | Yes | None |
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 |
Yes | Yes | img role |
Role:
ROLE_SYSTEM_GRAPHIC
|
Role:
ROLE_SYSTEM_GRAPHIC
Actions:
1) "jump" or "click" inherited from the container if any
2) "showlongdesc" if the image has a longdesc attribute
Interfaces:
IAccessibleImage
|
Control Type:
Image
|
Role:
ATK_ROLE_IMAGE
Actions:
1) "jump" or "click" inherited from the container if any
2) "showlongdesc" if the image has a longdesc attribute
Interfaces:
AtkImage
|
AXRole:
AXImage
AXSubrole:
(nil)
AXRoleDescription:
"image"
|
img (alt attribute is empty) |
Yes | Yes | presentation role |
Do not expose this object
|
Do not expose this object
|
Control Type:
Image
Properties:
NameProperty set to the empty string
|
Do not expose this object
|
Do not expose this object
|
input (type attribute in the Button state) |
Yes | Yes | button role |
Role:
ROLE_SYSTEM_PUSHBUTTON
|
Role:
ROLE_SYSTEM_PUSHBUTTON
Actions:
press
|
Control Type:
Button
|
Role:
ATK_ROLE_PUSH_BUTTON
Actions:
press
|
AXRole:
AXButton
AXSubrole:
(nil)
AXRoleDescription:
"button"
|
input (type attribute in the Button state and parent is a menu) |
? | ? | ? |
Role:
ROLE_SYSTEM_MENUITEM
|
Role:
ROLE_SYSTEM_MENUITEM
|
Control Type:
MenuItem
|
Role:
ATK_ROLE_MENU_ITEM
|
? |
input (type attribute in the Color state) |
No | Yes | ? |
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) |
Yes | Yes | 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 |
Role:
ROLE_SYSTEM_CHECKBUTTON
|
Role:
ROLE_SYSTEM_CHECKBUTTON
States:
IA2_STATE_CHECKABLE ; STATE_SYSTEM_CHECKED if checked; STATE_SYSTEM_MIXED if in mixed state
Actions:
"check" or "uncheck" depending on the state
|
Control Type:
CheckBox
|
Role:
ATK_ROLE_CHECK_BOX
States:
ATK_STATE_CHECKED if checked; ATK_STATE_INDETERMINATE if in mixed state
Object attributes:
checkable:true
Actions:
"check" or "uncheck" depending on the state
|
AXRole:
AXCheckBox
AXSubrole:
(nil)
AXRoleDescription:
"check box"
|
input (type attribute in the Checkbox state and parent is a menu) |
? | ? | ? |
Role:
UIA MenuItem
ROLE_SYSTEM_CHECKBUTTON
|
Role:
IA2_ROLE_CHECK_MENU_ITEM
States:
IA2_STATE_CHECKABLE ; STATE_SYSTEM_CHECKED if checked; STATE_SYSTEM_MIXED if in mixed state
|
Control Type:
MenuItem
Control Pattern:
Toggle
|
Role:
ATK_ROLE_CHECK_MENU_ITEM
States:
ATK_STATE_CHECKED if checked; ATK_STATE_INDETERMINATE if in mixed state
Object attributes:
checkable:true
|
? |
input (type attribute in the Date state) |
No | Yes | None |
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 | Yes | None |
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 Local Date and Time state) |
No | Yes | None |
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) |
No | Yes | textbox role |
Role:
UIA Edit
ROLE_SYSTEM_TEXT
|
Role:
ROLE_SYSTEM_TEXT
States:
IA2_STATE_SINGLE_LINE ; STATE_SYSTEM_READONLY if readonly, otherwise IA2_STATE_EDITABLE
Actions:
activate
Interfaces:
IAccessibleText2 ; IAccessibleEditableText
|
Control Type:
Edit
|
Role:
ATK_ROLE_ENTRY
States:
ATK_STATE_SINGLE_LINE ; ATK_STATE_EDITABLE if not readonly
Actions:
activate
Interfaces:
AtkText ; AtkEditableText
|
AXRole:
AXTextField
AXSubrole:
(nil)
AXRoleDescription:
"text field"
|
input (type attribute in the File Upload state) |
Yes | Yes | None |
Role:
ROLE_SYSTEM_PUSHBUTTON
|
Role:
IA2_ROLE_TEXT_FRAME
Children:
A button and label (implementation specific)
|
Control Type:
Button
|
Role:
ATK_ROLE_TEXT
Children:
ATK_ROLE_PUSH_BUTTON when pressed ATK_ROLE_FILE_CHOOSER dialog shown
|
AXRole:
AXButton
AXSubrole:
(nil)
AXRoleDescription:
"button"
|
input (type attribute in the Image Button state) |
Yes | Yes | button role |
Role:
ROLE_SYSTEM_PUSHBUTTON
|
Role:
ROLE_SYSTEM_PUSHBUTTON
States:
STATE_SYSTEM_DEFAULT if the button is default
Actions:
press
|
Control Type:
Button
|
Role:
ATK_ROLE_PUSH_BUTTON
States:
ATK_STATE_DEFAULT if the button is default
Actions:
press
|
AXRole:
AXButton
AXSubrole:
(nil)
AXRoleDescription:
"button"
|
input (type attribute in the Image Button state and parent is a menu ) |
? | ? | ? | ? | ? |
?? does this define a command??
|
? | ? |
input (type attribute in the Month state) |
No | Yes | None |
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) |
No | Yes | spinbutton role |
Role:
ROLE_SYSTEM_SPINBUTTON
|
Role:
ROLE_SYSTEM_SPINBUTTON or ROLE_SYSTEM_TEXT (implementation dependent)
|
Control Type:
Spinner
|
Role:
ATK_ROLE_SPIN_BUTTON or ATK_ROLE_ENTRY (implementation dependent)
|
AXRole:
AXTextField
AXSubrole:
(nil)
AXRoleDescription:
"text field"
Note: Stepper controls are assigned roles seperately from the
AXTextField in Webkit. The stepper is not currently recognized by VoiceOver. Refer to Webkit bug 79095
|
input (type attribute in the Password state) |
Yes | Yes | textbox role |
Role:
ROLE_SYSTEM_TEXT
States:
UIA Edit with STATE_SYSTEM_PROTECTED
UIA_IsPasswordPropertyId
|
Role:
ROLE_SYSTEM_TEXT
States:
STATE_SYSTEM_PROTECTED ; IA2_STATE_SINGLE_LINE ; STATE_SYSTEM_READONLY if readonly, otherwise IA2_STATE_EDITABLE
Actions:
activate
|
Control Type:
Edit
Properties:
UIA_IsPasswordPropertyId
|
Role:
ATK_ROLE_PASSWORD_TEXT
States:
ATK_STATE_SINGLE_LINE ; ATK_STATE_EDITABLE until readonly
Actions:
activate
|
AXRole:
AXTextField
AXSubrole:
AXSecureTextField
AXRoleDescription:
"secure text field"
|
input (type attribute in the Radio Button state) |
Yes | Yes | radio role, with the aria-checked state set to "true" if the element's checkedness is true, or "false" otherwise |
Role:
ROLE_SYSTEM_RADIOBUTTON
|
Role:
ROLE_SYSTEM_RADIOBUTTON
States:
IA2_STATE_CHECKABLE and STATE_SYSTEM_CHECKED if checked
Actions:
select
|
Control Type:
RadioButton
|
Role:
ATK_ROLE_RADIO_BUTTON
States:
ATK_STATE_CHECKED if checked
Object attributes:
checkable:true
Actions:
select
|
AXRole:
AXRadioButton
AXSubrole:
(nil)
AXRoleDescription:
"radio button"
|
input (type attribute in the Radio Button state and parent is a menu) |
? | ? | ? | ? | ? |
Control Type:
MenuItem
Control Pattern:
Toggle
|
? | ? |
input (type attribute in the Range state) |
No | Yes | slider role |
Role:
ROLE_SYSTEM_SLIDER
|
Role:
ROLE_SYSTEM_SLIDER
Interfaces:
IAccessibleValue
|
Control Type:
Slider
|
Role:
ATK_ROLE_SLIDER
Interfaces:
AtkValue
|
Slider:
AXRole:
AXSlider
AXSubrole:
(nil)
AXRoleDescription:
"slider"
Properties:
AXOrientation: AXHorizontalOrientation
Thumb:
AXRole:
AXValueIndicator
AXSubrole:
(nil)
AXRoleDescription:
"value indicator"
Actions:
AXIncrement ; AXDecrement
|
input (type attribute in the Reset Button state) |
Yes | Yes | button role |
Role:
ROLE_SYSTEM_PUSHBUTTON
|
Role:
ROLE_SYSTEM_PUSHBUTTON
Actions:
press
|
Control Type:
Button
|
Role:
ATK_ROLE_PUSH_BUTTON
Actions:
press
|
AXRole:
AXButton
AXSubrole:
(nil)
AXRoleDescription:
"button"
|
input (type attribute in the Search state with no suggestions source element) |
No | Yes | textbox role |
Role:
UIA Edit
ROLE_SYSTEM_TEXT
|
Role:
ROLE_SYSTEM_TEXT
Actions:
activate
Interfaces:
IAccessibleText2 ; IAccessibleEditableText
|
Control Type:
Edit
|
Role:
ATK_ROLE_ENTRY
States:
ATK_STATE_SINGLE_LINE ; ATK_STATE_EDITABLE if not readonly
Actions:
activate
Interfaces:
AtkText ; AtkEditableText
|
AXRole:
AXTextField
AXSubrole:
AXSearchField
AXRoleDescription:
"search field"
|
input (type attribute in the Submit Button state) |
Yes | Yes | button role |
Role:
ROLE_SYSTEM_PUSHBUTTON
|
Role:
ROLE_SYSTEM_PUSHBUTTON
States:
STATE_SYSTEM_DEFAULT if the button is default
Actions:
press
|
Control Type:
Button
|
Role:
ATK_ROLE_PUSH_BUTTON
States:
ATK_STATE_DEFAULT if the button is default
Actions:
press
|
AXRole:
AXButton
AXSubrole:
(nil)
AXRoleDescription:
"button"
|
input (type attribute in the Telephone state with no suggestions source element) |
No | Yes | textbox role |
Role:
UIA Edit
ROLE_SYSTEM_TEXT
|
Role:
ROLE_SYSTEM_TEXT
States:
IA2_STATE_SINGLE_LINE ; STATE_SYSTEM_READONLY if readonly, otherwise IA2_STATE_EDITABLE
Actions:
activate
Interfaces:
IAccessibleText2 ; IAccessibleEditableText
|
Control Type:
Edit
|
Role:
ATK_ROLE_ENTRY
States:
ATK_STATE_SINGLE_LINE ; ATK_STATE_EDITABLE if not readonly
Actions:
activate
Interfaces:
AtkText ; AtkEditableText
|
AXRole:
AXTextField
AXSubrole:
(nil)
AXRoleDescription:
"text field"
|
input (type attribute in the Text state with no suggestions source element) |
Yes | Yes | textbox role |
Role:
UIA Edit
ROLE_SYSTEM_TEXT
|
Role:
ROLE_SYSTEM_TEXT
States:
IA2_STATE_SINGLE_LINE ; STATE_SYSTEM_READONLY if readonly, otherwise IA2_STATE_EDITABLE
Actions:
activate
Interfaces:
IAccessibleText2 ; IAccessibleEditableText
|
Control Type:
Edit
|
Role:
ATK_ROLE_ENTRY
States:
ATK_STATE_SINGLE_LINE ; ATK_STATE_EDITABLE if not readonly
Actions:
activate
Interfaces:
AtkText ; AtkEditableText
|
AXRole:
AXTextField
AXSubrole:
(nil)
AXRoleDescription:
"text field"
|
input (type attribute in the Text, Search, Telephone, URL, or E-mail states with a suggestions source element) |
No | Yes | combobox role, with the aria-owns property set to the same value as the list attribute |
Role:
ROLE_SYSTEM_COMBOBOX
States:
STATE_SYSTEM_HASPOPUP
|
Same as ordinal elements.
States:
STATE_SYSTEM_HASPOPUP and IA2_STATE_SUPPORTS_AUTOCOMPLETION
Actions:
activate
Interfaces:
IAccessibleText2 ; IAccessibleEditableText
|
Control Type:
ComboBox
|
Same as ordinal elements.
States:
ATK_STATE_SUPPORTS_AUTOCOMPLETION
Object attributes:
haspopup:true
Actions:
activate
Interfaces:
AtkText ; AtkEditableText
|
AXRole:
AXTextField
AXSubrole:
(nil)
AXRoleDescription:
"text field"
|
input (type attribute in the Time state) |
No | Yes | None |
Role:
ROLE_SYSTEM_SPINBUTTON
|
Role:
ROLE_SYSTEM_SPINBUTTON
|
Control Type:
Spinner
|
Role:
ATK_ROLE_SPIN_BUTTON
|
AXRole:
AXTimeField
AXSubrole:
(nil)
AXRoleDescription:
"time field"
|
input (type attribute in the URL state with no suggestions source element) |
No | Yes | textbox role |
Role:
UIA Edit
ROLE_SYSTEM_TEXT
|
Role:
ROLE_SYSTEM_TEXT
States:
IA2_STATE_SINGLE_LINE ; STATE_SYSTEM_READONLY if readonly, otherwise IA2_STATE_EDITABLE
Actions:
activate
Interfaces:
IAccessibleText2 ; IAccessibleEditableText
|
Control Type:
Edit
|
Role:
ATK_ROLE_ENTRY
States:
ATK_STATE_SINGLE_LINE ; ATK_STATE_EDITABLE if not readonly
Actions:
activate
Interfaces:
AtkText ; AtkEditableText
|
AXRole:
AXTextField
AXSubrole:
(nil)
AXRoleDescription:
"text field"
|
input (type attribute in the Week state) |
No | Yes | None |
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 |
Yes | Yes | None |
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles are mapped
into text attributes on its text container.
|
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles are mapped
into text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
kbd |
Yes | Yes | None |
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Mapped into
"font-family:monospace" text attribute on its text
container.
|
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Mapped into
"font-family:monospace" text attribute on its text
container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
keygen |
No | Yes | listbox role, with the aria-multiselectable property set to "false" |
Role:
ROLE_SYSTEM_COMBOBOX
States:
STATE_SYSTEM_HASPOPUP
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_COMBOBOX
States:
STATE_SYSTEM_HASPOPUP ; STATE_SYSTEM_EXPANDED or STATE_SYSTEM_COLLAPSED depending on the state
Actions:
"open" or "close" depending on the state
|
Control Type:
ComboBox
|
Role:
ATK_ROLE_COMBO_BOX
States:
ATK_STATE_EXPANDABLE ; ATK_STATE_COLLAPSED if collapsed
Object attributes:
haspopup:true
Actions:
"open" or "close" depending on the state
|
AXRole:
AXList
AXSubrole:
(nil)
AXRoleDescription:
"list"
|
label |
Yes | Yes | None |
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 |
Yes | Yes | None |
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 ) |
Yes | Yes | listitem 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_LISTITEM
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
li (parent is a menu ) |
No | Yes | listitem role |
Role:
ROLE_SYSTEM_LISTITEM
States:
STATE_SYSTEM_READONLY
|
Role:
ROLE_SYSTEM_LISTITEM
States:
STATE_SYSTEM_READONLY
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
MenuItem
|
Role:
ATK_ROLE_LISTITEM
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
link |
Yes | Yes | None |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
main |
No | Yes | main role |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_PARAGRAPH
Object attributes:
xml-roles:main
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Group
|
Role:
ATK_ROLE_SECTION
Object attributes:
xml-roles:main
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
AXLandmarkMain
AXRoleDescription:
"main"
|
map |
Yes | Yes | None |
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_TEXT
|
Not mapped
|
mark |
No | Yes | None |
Role:
ROLE_SYSTEM_TEXT
|
Doesn't have an accessible. Styles used to highlight
the text are mapped into text attributes on the text container.
|
Control Type:
Text
|
Doesn't have an accessible. Styles used to highlight
the text are mapped into text attributes on the text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
math |
No | Yes | math role |
Role:
ROLE_SYSTEM_EQUATION
|
Role:
ROLE_SYSTEM_EQUATION
|
? |
Role:
ATK_ROLE_UNKNOWN
|
AXRole:
AXGroup
AXSubrole:
AXDocumentMath
AXRoleDescription:
"math"
|
menu (type attribute in the popup menu state) |
No | Yes | menu role |
Role:
ROLE_SYSTEM_MENUPOPUP
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_MENUPOPUP
|
Control Type:
Menu
|
Role:
ATK_ROLE_MENU
These objects should not be exposed
for a submenu if there is a parent menu item spawning the submenu
|
AXRole:
AXMenu
AXSubrole:
(nil)
AXRoleDescription:
"menu"
|
menu (type attribute in the toolbar state) |
No | Yes | toolbar role |
Role:
ROLE_SYSTEM_TOOLBAR
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_TOOLBAR
|
Control Type:
ToolBar
|
Role:
ATK_ROLE_TOOL_BAR
|
AXRole:
AXMenu
AXSubrole:
(nil)
AXRoleDescription:
"menu"
|
menuitem (type attribute in the Checkbox state) |
No | Yes | menuitemcheckbox role, with the aria-checked state set to "true" if the checked attribute is present, and "false" otherwise |
Role:
ROLE_SYSTEM_MENUITEM
Use UIA guidance
|
Role:
IA2_ROLE_CHECK_MENU_ITEM
States:
IA2_STATE_CHECKABLE ; STATE_SYSTEM_CHECKED if checked;
|
Control Type:
MenuItem
Control Pattern:
Toggle
|
Role:
ATK_ROLE_CHECK_MENU_ITEM
States:
ATK_STATE_CHECKED if checked
Object attributes:
checkable:true
|
AXRole:
AXCheckbox
AXSubrole:
(nil)
AXRoleDescription:
"check box"
|
menuitem (type attribute in the Command state) |
No | Yes | menuitem role |
Role:
ROLE_SYSTEM_MENUITEM
Use UIA guidance
|
Role:
ROLE_SYSTEM_MENUITEM
|
Control Type:
MenuItem
|
Role:
ATK_ROLE_MENU_ITEM
|
AXRole:
AXMenuItem
AXSubrole:
(nil)
AXRoleDescription:
"menu item"
|
menuitem (type attribute in the Radio state) |
No | Yes | menuitemradio role, with the aria-checked state set to "true" if the checked attribute is present, and "false" otherwise |
Role:
ROLE_SYSTEM_MENUITEM
Use UIA guidance
|
Role:
IA2_ROLE_RADIO_MENU_ITEM
States:
IA2_STATE_CHECKABLE ; STATE_SYSTEM_CHECKED if checked;
|
Control Type:
MenuItem
Control Pattern:
Toggle
|
Role:
ATK_ROLE_RADIO_MENU_ITEM
States:
ATK_STATE_CHECKED if checked
Object attributes:
checkable:true
|
AXRole:
AXRadioButton
AXSubrole:
(nil)
AXRoleDescription:
"radio button"
|
meta |
Yes | Yes | None |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
meter |
No | Yes | None |
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:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
nav |
No | Yes | navigation role |
Role:
ROLE_SYSTEM_GROUPING
|
Role:
IA2_ROLE_SECTION
Object attributes:
xml-roles:navigation
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type: ??Text
|
Role:
ATK_ROLE_PANEL
Object attributes:
xml-roles:navigation
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
AXLandmarkNavigation
AXRoleDescription:
"navigation"
|
noscript |
Yes | Yes | None |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
object |
Yes | Yes | no role | ?? would pane or window work?? depends on format of data file. examples include document, client, graphic and unknown (tested using object test suite). 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 |
Yes | Yes | list 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_LIST
|
AXRole:
AXList
AXSubrole:
AXContentList
AXRoleDescription:
"list"
|
optgroup |
Yes | Yes | group role |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_GROUPING
|
Control Type:
Group
|
Role:
ATK_ROLE_PANEL
|
AXRole:
AXMenuItem
AXSubrole:
(nil)
AXRoleDescription:
"menu item"
|
option (in a list of options or represents a suggestion in a datalist ) |
No | Yes | option role, with the aria-selected state set to "true" if the element's selectedness is true, or "false" otherwise. |
Role:
ROLE_SYSTEM_LISTITEM
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_LISTITEM
States:
STATE_SYSTEM_FOCUSABLE ; STATE_SYSTEM_FOCUSED if selected and the user focus is at the list
Actions:
select
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
ListItem
Control Pattern:
SelectionItem (required for ListItem control type)
|
Role:
ATK_ROLE_LIST_ITEM
States:
ATK_STATE_FOCUSABLE ; ATK_STATE_FOCUSED if selected and the user focus is at the list
Actions:
select
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXMenuItem
AXSubrole:
(nil)
AXRoleDescription:
"menu item"
|
output |
No | Yes | status role |
Role:
ROLE_SYSTEM_STATUSBAR
??text read-only seems closer. this is a label that is calculated??
Use UIA guidance
|
Role:
IA2_ROLE_SECTION
Object attributes:
live:polite
Relations:
IA2_RELATION_CONTROLLED_BY with an element pointed by
for attribute.
Paired element exposes IA2_RELATION_CONTROLLER_FOR relation.
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text
Properties:
When the
output element has a for attribute
pointing to a valid IDREF, the referenced element has a UIA_LabeledByPropertyId
pointing to the UIA element for the output element.
|
Role:
ATK_ROLE_SECTION
Object attributes:
live:polite
Relations:
ATK_RELATION_CONTROLLED_BY with an element pointed by for attribute.
Paired element exposes ATK_RELATION_CONTROLLER_FOR relation.
Interfaces:
Text; Hypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
p |
Yes | Yes | None |
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 |
Yes | Yes | None |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
pre |
Yes | Yes | None |
Role:
ROLE_SYSTEM_TEXT ??group?
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_PARAGRAPH
Used styles are mapped into text attributes on the accessible
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text ??Group??
|
Role:
ATK_ROLE_PARAGRAPH
Used styles are mapped into text attributes on the accessible
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
progress |
No | Yes | 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 |
Role:
ROLE_SYSTEM_PROGRESSBAR
States:
STATE_SYSTEM_READONLY
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_PROGRESSBAR
States:
STATE_SYSTEM_MIXED if the progress is indeterminate
Interfaces:
IAccessibleValue
|
Control Type:
ProgressBar
|
Role:
ATK_ROLE_PROGRESS_BAR
States:
ATK_STATE_INDETERMINATE if the progress is indeterminate
Interfaces:
AtkValue
|
AXRole:
AXProgressIndicator
AXSubrole:
(nil)
AXRoleDescription:
"progress indicator"
Properties: Use
AXValue to expose current value.
|
q |
Yes | Yes | None |
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_TEXT
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
rp |
No | Yes | None |
Role:
ROLE_SYSTEM_TEXT ??group??
Use MSAA or UIA guidance
|
Doesn't have an accessible. No child elements are
exposed if
ruby is supported by the browser.
|
Control Type:
Text ??Group??
|
Doesn't have an accessible. No child elements are
exposed if
ruby is supported by the browser.
|
? |
rt |
No | Yes | None |
Role:
ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Doesn't have an accessible.
|
Control Type:
Text
|
Doesn't have an accessible.
|
? |
ruby |
No | Yes | None |
Role:
ROLE_SYSTEM_TEXT ??group??
Use MSAA or UIA guidance
|
Role:
IA2_ROLE_TEXT_FRAME
|
Control Type:
Text ??Group??
|
Role:
ATK_ROLE_TEXT
|
? |
s |
? | Yes | None |
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible, exposed as
"text-line-through-style:solid" text attribute on the text container.
|
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible, exposed as
"text-line-through-style:solid" text attribute on the text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
samp |
Yes | Yes | None |
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Styles are mapped into
text attributes on its text container.
|
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Styles are mapped into
text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
script |
Yes | Yes | None |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
section |
No | Yes | region role |
Role:
ROLE_SYSTEM_GROUPING
|
Role:
IA2_ROLE_SECTION
Object attributes:
xml-roles:region
Interfaces:
IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Text ??Group??
|
Role:
ATK_ROLE_SECTION
Object attributes:
xml-roles:region
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
AXDocumentRegion
AXRoleDescription:
"region"
|
select
(with a multiple attribute or
size attribute having value greater than 1 )
|
Yes | Yes | listbox role |
Role:
ROLE_SYSTEM_LIST
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_LIST
|
Control Type:
List
Control Pattern:
ISelectionProvider::CanSelectMultiple set to true
|
Role:
ATK_ROLE_LIST
Interfaces:
AtkSelection
|
AXRole:
AXList
AXSubrole:
(nil)
AXRoleDescription:
"list"
|
select
(with NO multiple attribute
and NO size attribute having value greater than 1 )
|
Yes | Yes | combobox role |
Role:
ROLE_SYSTEM_COMBOBOX
States:
STATE_SYSTEM_HASPOPUP
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_COMBOBOX
States:
STATE_SYSTEM_FOCUSABLE ; STATE_SYSTEM_HASPOPUP
Actions:
"open" or "close" depending on the state
Children:
intermediate
ROLE_SYSTEM_LIST containing all options
|
Control Type:
ComboBox
|
Role:
ATK_ROLE_COMBO_BOX
States:
ATK_STATE_FOCUSABLE ; ATK_STATE_EXPANDABLE and ATK_STATE_COLLAPSED if collapsed
Object attributes:
haspopup:true
Actions:
"open" or "close" depending on the state
Children:
intermediate
ATK_ROLE_SYSTEM_LIST containing all options
|
AXRole:
AXPopUpButton
AXSubrole:
(nil)
AXRoleDescription:
"pop up button"
|
small |
Yes | Yes | None |
Doesn't have an accessible. Exposed by
UIA_FontSizeAttributeId of the TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Exposed as "font-size"
text attribute on the text container.
|
Doesn't have an accessible. Exposed by
UIA_FontSizeAttributeId of the TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Exposed as "font-size"
text attribute on the text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
source |
No | Yes | None |
Do not expose this object
|
Not mapped
|
Do not expose this object
|
Not mapped
|
Do not expose this object
|
span |
Yes | Yes | None |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Not mapped
|
Control Type:
Group
|
Not mapped
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
strong |
Yes | Yes | None |
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles are mapped
into text attributes on its text container.
|
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Used styles are mapped
into text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
style |
Yes | Yes | None |
Do not expose this object
|
Not mapped
|
Do not expose this object
|
Not mapped
|
Do not expose this object
|
sub |
Yes | Yes | None |
Doesn't have an accessible. Exposed by
UIA_IsSubscriptAttributeId of the TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Exposed as "text-position:sub"
text attribute on its text container.
|
Doesn't have an accessible. Exposed by
UIA_IsSubscriptAttributeId of the TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Exposed as "text-position:sub"
text attribute on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
summary |
No | Yes | None |
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 |
Yes | Yes | None |
Doesn't have an accessible. Exposed by
UIA_IsSuperscriptAttributeId of the TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Exposed as "text-position:super"
text attribute on its text container.
|
Doesn't have an accessible. Exposed by
UIA_IsSuperscriptAttributeId of the TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible. Exposed as "text-position:super"
text attribute on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
svg |
No | Yes | None |
Role:
ROLE_SYSTEM_GRAPHIC
|
Role:
ROLE_SYSTEM_GRAPHIC
|
Control Type:
Image
|
Role:
ATK_ROLE_IMAGE
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
table |
Yes | Yes | None |
Role:
ROLE_SYSTEM_TABLE
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_TABLE
Interface:
IAccessibleTable2
|
Control Type:
DataGrid
Control Pattern:
Table
|
Role:
ATK_ROLE_TABLE
Interface:
AtkTable
|
AXRole:
AXTable
AXSubrole:
(nil)
AXRoleDescription:
"table"
|
tbody |
Yes | Yes | None |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Doesn't have an accessible
|
Control Type:
Group
|
Doesn't have an accessible
|
Not mapped
|
td |
Yes | Yes | None |
Role:
ROLE_SYSTEM_CELL
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_CELL
Interfaces:
IAccessibleTableCell ; IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
DataItem
|
Role:
ATK_ROLE_TABLE_CELL
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXCell
AXSubrole:
(nil)
AXRoleDescription:
"cell"
|
template |
No | Yes | ? | ? |
Not mapped
|
? |
Not mapped
|
? |
textarea |
Yes | Yes | textbox role, with the aria-multiline property set to "true" |
Role:
ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_TEXT
States:
IA2_STATE_MULTI_LINE ; STATE_SYSTEM_READONLY if readonly, otherwise IA2_STATE_EDITABLE
Actions:
activate
Interfaces:
IAccessibleText2 ; IAccessibleEditableText
|
Control Type:
Text ??Edit??
|
Role:
ATK_ROLE_ENTRY
States:
ATK_STATE_MULTI_LINE ; ATK_STATE_EDITABLE if not readonly
Actions:
activate
Interfaces:
AtkText ; AtkEditableText
|
AXRole:
AXTextArea
AXSubrole:
(nil)
AXRoleDescription:
"text entry area"
|
tfoot |
Yes | Yes | None |
Role:
ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Doesn't have an accessible
|
Control Type:
Group
|
Doesn't have an accessible
|
Not mapped
|
th (is neither a column header nor a row header) |
Yes | Yes | None |
Role:
ROLE_SYSTEM_CELL
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_CELL
Interfaces:
IAccessibleTableCell ; IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
DataItem
|
Role:
ATK_ROLE_TABLE_CELL
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXCell
AXSubrole:
(nil)
AXRoleDescription:
"cell"
|
th (is a column header) |
Yes | Yes | None |
Role:
ROLE_SYSTEM_COLUMNHEADER
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_COLUMNHEADER
Interfaces:
IAccessibleTableCell ; IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Header
Properties:
UIA_OrientationPropertyId set to OrientationType_Vertical
??seems like it should be HeaderItem. ARIA UAIG has DataItem??
|
Role:
ATK_ROLE_COLUMN_HEADER
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXCell
AXSubrole:
(nil)
AXRoleDescription:
"cell"
Properties: Parent table implements
AXColumnHeaderUIElements as a list of pointers to the column header cells, and AXHeader property as a pointer to the row or group containing the column header cells.
|
th (is a row header) |
Yes | Yes | None |
Role:
ROLE_SYSTEM_ROWHEADER
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_ROWHEADER
Interfaces:
IAccessibleTableCell ; IAccessibleText2 ; IAccessibleHypertext2
|
Control Type:
Header
Properties:
UIA_OrientationPropertyId set to OrientationType_Horizontal
??seems like it should be HeaderItem. ARIA UAIG has DataItem??
|
Role:
ATK_ROLE_ROW_HEADER
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXCell
AXSubrole:
(nil)
AXRoleDescription:
"cell"
Properties: Parent table implements
AXRowHeaderUIElements property as a list of pointers to the row header cells.
|
thead |
Yes | Yes | None |
Role:
ROLE_SYSTEM_GROUPING
|
Doesn't have an accessible
|
Control Type:
Header
|
Doesn't have an accessible
|
Not mapped
|
time |
No | Yes | None |
Role:
ROLE_SYSTEM_TEXT
|
Not mapped
|
? |
Not mapped
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
title |
Yes | Yes | None |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
tr |
Yes | Yes | None |
Role:
ROLE_SYSTEM_ROW
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_ROW
|
Control Type:
DataItem
Control Pattern: SelectionItem |
Role:
ATK_ROLE_LIST_ITEM
|
AXRole:
AXRow
AXSubrole:
AXTableRow
AXRoleDescription:
"row"
|
track |
No | Yes | ? | ? |
Not mapped
|
? |
Not mapped
|
? |
u |
? | ? | ? |
Doesn't have an accessible. Exposed by
UIA_UnderlineStyleAttributeId of the TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible, mapped as "text-underline-style:solid" text attribute on its text container.
|
Doesn't have an accessible. Exposed by
UIA_UnderlineStyleAttributeId of the TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible, mapped as
"text-underline-style:solid" text attribute on its text container.
|
? |
ul |
Yes | Yes | list 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_LIST
|
AXRole:
AXList
AXSubrole:
AXContentList
AXRoleDescription:
"list"
|
var |
Yes | Yes | None |
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible, used styles are mapped
to text attributes on its text container.
|
Doesn't have an accessible. Styles used are exposed by UIA text attribute identifiers of the
TextRange control pattern implemented on a parent accessible.
|
Doesn't have an accessible, used styles are mapped
to text attributes on its text container.
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
video |
No | Yes | None | ? |
Role:
ROLE_SYSTEM_GROUPING
|
? |
Role:
ATK_ROLE_PANEL
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
Note: UI controls within the video element exposed as
AXToolbar . |
wbr |
No | Yes | None |
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"
|
Attribute | Element(s) | HTML4 | HTML5 | WAI-ARIA | MSAA + UIA Express | MSAA + IAccessible2 | UIA | ATK | AX | Comments |
---|---|---|---|---|---|---|---|---|---|---|
abbr |
th |
Yes | Yes | Not mapped |
Object attributes:
"abbr" until child
abbr element is provided
|
Object attributes:
"abbr" until child
abbr element is provided
|
||||
accept |
input |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
accept-charset |
form |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
accesskey |
HTML elements |
Yes | Yes | Not mapped | accKeyboardShortcut |
a key binding accessible by
accKeyboardShortcut
and IAccessibleAction::keyBinding
|
Properties:
AcceleratorKey
|
atk_action_get_keybinding
|
AXAccessKey: <value> |
|
action |
form |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
allowfullscreen |
iframe |
No | Yes |
Not mapped
|
Not mapped
|
|||||
alt |
area ; img ; input |
Yes | Yes | 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 |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
autocomplete "on|off" |
form |
No | Yes |
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 | |
autocomplete |
input ; select ; textarea |
No | Yes |
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 | |
autofocus |
button ; input ; keygen ; select ; textarea |
No | Yes | Not mapped - aria-flowto ? |
N/A |
Not mapped
|
N/A |
Not mapped
|
N/A | |
autoplay |
audio ; video |
No | Yes | Not mapped | N/A |
Not mapped
|
N/A |
Not mapped
|
N/A | |
border |
table |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
challenge |
keygen |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
charset |
meta |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
charset |
script |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
checked (if present) |
menuitem ; input |
Yes | Yes | 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 |
Yes | Yes | 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 |
Yes | Yes |
Not mapped
|
Not mapped
|
AXURL: <value> |
||||
class |
HTML elements | Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
cols |
textarea |
Yes | Yes |
Not mapped
|
Not mapped
|
AXRangeForLine: <value> |
||||
colspan |
td ; th |
Yes | Yes |
exposed via
IAccessibleTableCell::columnExtent
|
exposed via
atk_table_get_column_extent_at
|
AXColumnIndexRange: |
||||
command |
menuitem |
No | Yes | Not mapped |
Not mapped
|
Not mapped
| ||||
content |
meta |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
contenteditable |
HTML elements | No | Yes |
States:
IA2_STATE_EDITABLE on this and every nested text accessible
Interfaces:
IAccessibleEditableText on this and every nested text accessible
|
States:
ATK_STATE_EDITABLE on this and every nested text accessible
Interfaces:
AtkEditableText on this and every nested text accessible
|
? | ||||
contextmenu |
HTML elements | No | Yes | 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 |
No | Yes |
Not mapped
|
Not mapped
|
Controls exposed as AXToolbar |
||||
coords |
area |
Yes | Yes | Not mapped |
Defines an accessible's dimensions (
IAccessible::accLocation )
|
Defines an accessible's dimensions, exposed via
atk_component_get_position and atk_component_get_size
|
||||
crossorigin |
audio ; img ; link ; script ; video |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
data |
object |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
datetime |
del ; ins |
No | Yes |
Not mapped
|
Not mapped
|
? | ||||
datetime |
time |
No | Yes |
Not mapped
|
Not mapped
|
? | ||||
default |
track |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
defer |
script |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
dir |
HTML elements | ? | Yes |
Exposed as "writing-mode" text attribute on the text container.
|
Exposed as "writing-mode" text attribute on the text container.
|
? | ||||
dirname |
input ; textarea |
? | Yes |
Not mapped
|
Not mapped
|
? | ||||
disabled |
button ; menuitem ; fieldset ; input ; keygen ; optgroup ; option ; select ; textarea |
Yes | Yes |
States:
STATE_SYSTEM_UNAVAILABLE
|
States:
No interactive states like
ATK_STATE_FOCUSABLE
|
AXEnabled: NO |
||||
download |
a ; area |
No | Yes |
Not mapped
|
Not mapped
|
? | ||||
draggable |
HTML elements | No | Yes |
Object attributes:
draggable:true
|
Object attributes:
draggable:true
|
? | ||||
dropzone |
HTML elements | No | Yes |
Not mapped
|
Not mapped
|
? | ||||
enctype |
form |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
for |
label |
Yes | Yes | 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 |
No | Yes | 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 |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
formaction |
button ; input |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
formenctype |
button ; input |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
formmethod |
button ; input |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
formnovalidate |
button ; input |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
formtarget |
button ; input |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
headers |
td ; th |
Yes | Yes |
Links the cell to its header cells. Exposed via
IAccessibleTableCell::rowHeaderCells and 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 |
Yes | Yes | Not mapped |
Defines an accessible's height (IAccessible::accLocation)
|
Defines an accessible's height (
atk_component_get_size )
|
||||
high |
meter |
No | Yes |
Not mapped
|
Not mapped
|
? | ||||
href |
a ; area |
Yes | Yes | AXURL: <value> |
||||||
href |
link |
Yes | Yes |
Not mapped
|
Not mapped
|
|||||
hreflang |
a ; area ; link |
Yes | Yes |
Not mapped
|
Not mapped
|
|||||
http-equiv |
meta |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
icon |
menuitem |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
id |
HTML elements | Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
ismap |
img |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
keytype |
keygen |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
kind |
track |
No | Yes |
Not mapped
|
Not mapped
|
|||||
label |
menuitem ; menu ; optgroup ; option ; track |
? | Yes |
Associates the accessible name
|
Associates the accessible name
|
|||||
lang |
HTML elements | Yes | Yes |
Exposed as "language" text attribute on the text container
|
Exposed as "language" text attribute on the text container
|
|||||
list |
input |
No | Yes | 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 |
Yes | No | 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 |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
low |
meter |
No | Yes |
Not mapped
|
Not mapped
|
|||||
manifest |
html |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
max |
input |
No | Yes |
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 |
No | Yes |
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 |
Yes | Yes |
Not mapped
|
Not mapped
|
|||||
media |
link ; source ; style |
? | Yes |
Not mapped
|
Not mapped
|
|||||
mediagroup |
audio ; video
|
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
method |
form |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
min |
input |
Yes |
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 |
No | Yes |
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 |
Yes | Yes | the aria-multiselectable property set to "true" |
Not mapped
|
Not mapped
|
||||
multiple |
select |
Yes | Yes |
States:
STATE_SYSTEM_MULTISELECTABLE
A multi selectable listbox accessible, refer to
select element
|
States:
ATK_STATE_SYSTEM_MULTISELECTABLE
A multi selectable listbox accessible, refer to
select element
|
|||||
muted |
audio ; video |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
name |
button ; fieldset ; input ; keygen ; output ; select ; textarea |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
name |
form |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
name |
iframe ; object |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
name |
map |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
name |
meta |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
name |
param |
Yes | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
novalidate |
form |
No | Yes | Not mapped |
Not mapped
|
Not mapped
|
||||
open |
details |
No | Yes | 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 |
No | Yes | 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 |
No | Yes |
Not mapped
|
Not mapped
|
|||||
pattern |
input |
No | Yes |
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 |
No | Yes |
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
|
AXPlaceholderValue: <value> |
||||
poster |
video |
No | Yes |
Not mapped
|
Not mapped
|
|||||
preload |
audio ; video |
No | Yes |
Not mapped
|
Not mapped
|
|||||
radiogroup |
menuitem |
No | Yes |
Not mapped
|
Not mapped
|
|||||
readonly |
input ; textarea |
Yes | Yes | STATE_SYSTEM_READONLY |
AXEnabled: NO |
|||||
rel |
a ; area ; link |
Yes |
Not mapped
|
Not mapped
|
||||||
required |
input ; select ; textarea |
No | Yes | aria-required |
Not mapped * * Exposed as |
States:
IA2_STATE_REQUIRED
|
Expose as IsrequiredForForm property. |
States:
ATK_STATE_REQUIRED
|
AXRequired: YES |
? |
reversed |
ol |
? | Yes |
Changes the numbering of underlying list item accessibles
|
Changes the numbering of underlying list item accessibles
|
|||||
rows |
textarea |
Yes | Yes |
Not mapped
|
Not mapped
|
|||||
rowspan |
td ; th |
Yes | Yes |
exposed via
IAccessibleTableCell::rowExtent
|
Exposed via
atk_table_get_row_extent_at
|
AXRowIndexRange: |
||||
sandbox |
iframe |
No | Yes |
Not mapped
|
Not mapped
|
|||||
spellcheck |
HTML elements | No | Yes |
Mapped to "invalid" text attribute on the text container
|
Mapped to "invalid" text attribute on the text container
|
|||||
scope |
th |
Yes | Yes |
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 |
No | Yes |
Not mapped
|
Not mapped
|
|||||
seamless |
iframe |
No | Yes |
Not mapped
|
Not mapped
|
|||||
selected |
option |
Yes | Yes |
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 |
Yes | Yes |
Not mapped
|
Not mapped
|
|||||
size |
input ; select |
Yes | Yes |
If greater than 1 then creates a listbox accessible,
refer to
select element for details
|
If greater than 1 then creates a listbox accessible,
refer to
select element for details
|
|||||
sizes |
link |
No | Yes |
Not mapped
|
Not mapped
|
|||||
span |
col ; colgroup |
Yes | Yes |
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 |
Yes | Yes |
Object attributes:
src on
img only
|
Object attributes:
src on
img only
|
|||||
srcdoc |
iframe |
No | Yes |
Not mapped
|
Not mapped
|
|||||
srclang |
track |
No | Yes |
Not mapped
|
Not mapped
|
|||||
start |
ol |
Yes |
Changes the numbering of underlying list item accessibles
|
Changes the numbering of underlying list item accessibles
|
||||||
step |
input |
No | Yes |
Not mapped
|
Exposed as
atk_value_get_minimum_increment if the element
implements the AtkValue interface
|
|||||
style |
HTML elements | Yes | Yes | Not mapped |
Refer to CSS accessibility mapping
|
Refer to CSS accessibility mapping
| ||||
tabindex |
HTML elements | Yes | Yes | 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 |
Yes | Yes |
Not mapped
|
Not mapped
|
|||||
target |
base |
Yes | Yes |
Not mapped
|
Not mapped
|
|||||
target |
form |
Yes | Yes |
Not mapped
|
Not mapped
|
|||||
title |
HTML elements | Yes | Yes |
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 |
Yes | Yes |
Associates the accessible name
|
Associates the accessible name
|
AXHelp: <value> |
||||
title |
menuitem |
No | Yes |
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 |
Yes | Yes |
Not mapped
|
Not mapped
|
Not mapped
|
||||
title |
link ; style |
Yes | Yes |
Not mapped
|
Not mapped
|
Not mapped
|
||||
translate |
HTML elements | No | Yes |
Not mapped
|
Not mapped
|
|||||
type |
a ; area ; link |
Yes |
Not mapped
|
Not mapped
|
||||||
type |
button |
Yes | Yes |
submit type may be a default button in the form
|
submit type may be a default button in the form
|
|||||
type |
button ; input |
Yes | Yes | |||||||
type |
menuitem |
No | Yes |
Defines the accessible role and states, refer to
type="
command "
|
Defines the accessible role and states:
type="
command "
|
|||||
type |
embed ; object ; script ; source ; style |
Yes | Yes |
Not mapped
|
Not mapped
|
|||||
type |
menu |
No | Yes |
Not mapped
|
Not mapped
|
|||||
typemustmatch |
object |
No | Yes |
Not mapped
|
Not mapped
|
|||||
usemap |
img ; object |
Yes | Yes |
Responsible for image map creation, refer to
img element
|
Responsible for image map creation, refer to
img element
|
|||||
value |
button ; option |
Yes | Yes |
Not mapped
|
Not mapped
|
|||||
value |
input |
Yes | Yes |
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 |
Yes |
Exposed as a text of first child of the list item accessible
|
Exposed as a text of first child of the list item accessible
|
||||||
value |
meter ; progress |
No | Yes |
Exposed as
IAccessibleValue::currentValue
|
Exposed as
atk_value_get_current_value
|
AXValue: <value> |
||||
value |
param |
Yes | Yes |
Not mapped
|
Not mapped
|
|||||
width |
canvas ; embed ; iframe ; img ; input ; object ; video |
Yes | Yes |
Defines an accessible's width (
IAccessible::accLocation )
|
Defines an accessible's width (
atk_component_get_size )
|
AXSize: w=n |
||||
wrap |
textarea |
No | Yes |
Not mapped
|
Not mapped
|
The following mappings for obsolete HTML elements are provided for user agent support of legacy markup.
Notes:
Element | HTML4 | HTML5 | WAI-ARIA | MSAA + UIA Express | MSAA + IAccessible2 | UIA | ATK | AX |
---|---|---|---|---|---|---|---|---|
applet |
Yes | No | ? | ? | ? | ? | ? | ? |
acronym |
Yes | No | ? | ? | ? | ? | ? | ? |
basefont |
Yes | No | ? | Not mapped |
Not mapped |
Not mapped |
Not mapped |
Not mapped |
big |
Yes | No | ? | ? | ? | ? | ? | ? |
center |
No | No | ? | ? | Role:
IA2_ROLE_PARAGRAPH Interfaces: IAccessibleText2 ; IAccessibleHypertext2 |
? | ? | ? |
dir |
Yes | No | ? | ? | ? | ? | ? | ? |
font |
Yes | No | ? | ? | ? | ? | ? | ? |
frame |
Yes | No | ? |
Role:
ROLE_SYSTEM_DOCUMENT
States:
STATE_SYSTEM_READONLY
??currently mapped as pane not document. the document inside is mapped as document??
|
Role:
IA2_ROLE_INTERNAL_FRAME
Child:
ROLE_SYSTEM_DOCUMENT having STATE_SYSTEM_READONLY
|
Control Type:
Document
|
Role:
ATK_ROLE_INTERNAL_FRAME
Child:
ATK_ROLE_DOCUMENT_FRAME
|
AXRole:
AXWebArea
AXSubrole:
(nil)
AXRoleDescription:
"HTML content"
|
frameset |
Yes | No | ? | ? |
Doesn't have an accessible. All DOM attributes are
proccessed as they belonged to its document accessible.
Similar to body element.
|
? |
Doesn't have an accessible. All DOM attributes are
proccessed as they belonged to its document accessible.
Similar to body element.
|
Not mapped
|
noframes |
Yes | No | ? | ? | ? | ? | ? | ? |
hgroup |
No | No | None |
Role:
ROLE_SYSTEM_GROUPING
|
Role:
IA2_ROLE_PARAGRAPH Interfaces:
IAccessibleText2 ; IAccessibleHypertext2 |
? |
Role:
ATK_ROLE_PARAGRAPH
Interfaces:
AtkText ; AtkHypertext
|
AXRole:
AXGroup
AXSubrole:
(nil)
AXRoleDescription:
"group"
|
isindex |
Yes | No | ? | ? | ? | ? | ? | ? |
listing |
No | No | ? | ? | ? | ? | ? | ? |
plaintext |
No | No | ? | ? | ? | ? | ? | ? |
rb |
No | No | ? | ? | ? | ? | ? | ? |
strike |
Yes | No | ? | ? | ? | ? | ? | ? |
tt |
Yes | No | ? | ? | ? | ? | ? | ? |
xmp |
No | No | ? | ? | ? | ? | ? | ? |
The following mappings for obsolete HTML attributes are provided for user agent support of legacy markup.
Attribute | Element(s) | HTML4 | HTML5 | WAI-ARIA | MSAA + UIA Express | MSAA + IAccessible2 | UIA | ATK | AX | Comments |
---|---|---|---|---|---|---|---|---|---|---|
accept |
form |
|||||||||
align |
caption |
|||||||||
align |
col |
|||||||||
align |
div |
|||||||||
align |
embed |
|||||||||
align |
h1 -h6 |
|||||||||
align |
hr |
|||||||||
align |
iframe |
|||||||||
align |
img |
|||||||||
align |
input |
|||||||||
align |
legend |
|||||||||
align |
object |
|||||||||
align |
p |
|||||||||
align |
table |
|||||||||
align |
tbody ; thead ; tfoot |
|||||||||
align |
td ; th |
|||||||||
align |
tr |
|||||||||
alink |
body |
|||||||||
allowtransparency |
iframe |
|||||||||
archive |
object |
|||||||||
axis |
td ; th |
|||||||||
background |
body ; table ; thead ; tbody ; tfoot ; tr ; td ; th |
|||||||||
bgcolor |
body |
|||||||||
bgcolor |
table |
|||||||||
bgcolor |
td ; th |
|||||||||
bgcolor |
tr |
|||||||||
border |
img |
|||||||||
border |
object |
|||||||||
cellpadding |
table |
|||||||||
cellspacing |
table |
|||||||||
char |
col |
|||||||||
char |
tbody ; thead ; tfoot |
|||||||||
char |
td ; th |
|||||||||
char |
tr |
|||||||||
charoff |
col |
|||||||||
charoff |
tbody ; thead ; tfoot |
|||||||||
charoff |
td ; th |
|||||||||
charoff |
tr |
|||||||||
charset |
a |
|||||||||
charset |
link |
|||||||||
classid |
object |
|||||||||
clear |
br |
|||||||||
code |
object |
|||||||||
codebase |
object |
|||||||||
codetype |
object |
|||||||||
color |
hr |
|||||||||
compact |
dl |
|||||||||
compact |
menu |
|||||||||
compact |
ol |
|||||||||
compact |
ul |
|||||||||
coords |
a |
|||||||||
datafld |
a ; applet ; button ; div ; fieldset ; frame ; iframe ; img ; input ; label ; legend ; object ; param ; select ; span ; textarea |
|||||||||
dataformatas |
button ; div ; input ; label ; legend ; object ; option ; select ; span ; table |
|||||||||
datapagesize |
table |
|||||||||
datasrc |
a ; applet ; button ; div ; frame ; iframe ; img ; input ; label ; legend ; object ; option ; select ; span ; table ; textarea |
|||||||||
declare |
object |
|||||||||
event |
script |
|||||||||
for |
script |
|||||||||
frame |
table |
|||||||||
frameborder |
iframe |
|||||||||
height |
td ; th |
|||||||||
hspace |
embed |
|||||||||
hspace |
iframe |
|||||||||
hspace |
img |
|||||||||
hspace |
input |
|||||||||
hspace |
object |
|||||||||
ismap |
input |
|||||||||
language |
script |
|||||||||
link |
body |
|||||||||
lowsrc |
img |
|||||||||
marginbottom |
body |
|||||||||
marginheight |
body |
|||||||||
marginheight |
iframe |
|||||||||
marginleft |
body |
|||||||||
marginright |
body |
|||||||||
margintop |
body |
|||||||||
marginwidth |
body |
|||||||||
marginwidth |
iframe |
|||||||||
methods |
a |
|||||||||
methods |
link |
|||||||||
name |
a |
|||||||||
name |
embed |
|||||||||
name |
img |
|||||||||
name |
option |
|||||||||
nohref |
area |
|||||||||
noshade |
hr |
|||||||||
nowrap |
td ; th |
|||||||||
profile |
head |
|||||||||
rev |
a |
|||||||||
rev |
link |
|||||||||
rules |
table |
|||||||||
scheme |
meta |
|||||||||
scope |
td |
|||||||||
scrolling |
iframe |
|||||||||
shape |
a |
|||||||||
size |
hr |
|||||||||
standby |
object |
|||||||||
summary |
table |
|||||||||
target |
link |
|||||||||
text |
body |
|||||||||
type |
li |
|||||||||
type |
param |
|||||||||
type |
ul |
|||||||||
urn |
a |
|||||||||
urn |
link |
|||||||||
usemap |
input |
|||||||||
valign |
col |
|||||||||
valign |
tbody ; thead ; tfoot |
|||||||||
valign |
td ; th |
|||||||||
valign |
tr |
|||||||||
valuetype |
param |
|||||||||
version |
html |
|||||||||
vlink |
body |
|||||||||
vspace |
embed |
|||||||||
vspace |
iframe |
|||||||||
vspace |
img |
|||||||||
vspace |
input |
|||||||||
vspace |
object |
|||||||||
width |
col |
|||||||||
width |
hr |
|||||||||
width |
pre |
|||||||||
width |
table |
|||||||||
width |
td ; th |
In MSAA, the VARIANT returned by the IAccessible::get_accRole method is limited to a finite number of integer role constants insufficient for describing 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 new 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: a
(no href), abbr
, address
, area
(no href), aside
, blockquote
, canvas
, caption
, dd
, div
, embed
, figcaption
, footer
, form
, h1
–h6
, header
, iframe
, input type="file"
, main
, map
, nav
, object
, output
, p
, pre
, q
, ruby
, section
.
to do
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 If the control has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in section 5.2.7. Accessible Name Calculation of the WAI-ARIA 1.0 specification.
The accessible description is derived from the following sources: aria-describedby
or a non-empty placeholder
attribute or a non-empty title
attribute.
input type="text"
, input type="password"
, input type="search"
, input type="tel"
, input type="email"
, input type="url"
and textarea
element accessible name calculationaria-labelledby
aria-label
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
placeholder
attribute if it wasn't used as the accessible nametitle
attribute if it wasn't used as the accessible name.input type="button"
, input type="submit"
and input type="reset"
If the control has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in section 5.2.7. Accessible Name Calculation of the WAI-ARIA 1.0 specification.
Otherwise the accessible name is derived from the following sources; a non-empty value
attribute, or a non-empty title
attribute.
input type="button"
, input type="submit"
and input type="reset"
accessible name calculationaria-labelledby
aria-label
value
attributeinput type=submit
: If steps 1 to 3 do not yield a usable text string, the accessible name is a localized string of the word "submit"input type=reset
: If steps 1 to 3 do not yield a usable text string, the accessible name is a localized string of the word "reset"title
attributeinput type="button"
, input type="submit"
and input type="reset"
accessible description calculationaria-describedby
value
attribute if it wasn't used as the accessible nametitle
attribute if it wasn't used as the accessible nameinput type="image"
If the control has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in section 5.2.7. Accessible Name Calculation of the WAI-ARIA 1.0 specification.
Otherwise the accessible name is derived from the following sources; a non-empty alt
attribute, or a non-empty title
attribute.
input type="image"
accessible name calculationaria-labelledby
aria-label
alt
attributevalue
attribute title
attributeinput type="image"
accessible description calculation aria-describedby
title
attribute if it wasn't used as the accessible name.button
elementIf the button
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in section 5.2.7. Accessible Name Calculation of the WAI-ARIA 1.0 specification.
Otherwise the accessible name is derived from the following sources; non-empty button
element subtree or a non-empty title
attribute.
button
element accessible name calculationaria-labelledby
aria-label
button
element subtreetitle
attributebutton
element accessible description calculation aria-describedby
title
attribute if it wasn't used as the accessible name.If the control has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in section 5.2.7. Accessible Name Calculation of the WAI-ARIA 1.0 specification.
Otherwise the accessible name is derived from the following sources; a non-empty associated label
element or a non-empty title
attribute.
aria-labelledby
aria-label
label
elementtitle
attributearia-describedby
title
attribute if it wasn't used as the accessible name.summary
element If the summary
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in section 5.2.7. Accessible Name Calculation of the WAI-ARIA 1.0 specification.
Otherwise the accessible name is derived from the following sources; non-empty summary
element subtree or a non-empty title
attribute or the default text string inserted by the browser
summary
element accessible name calculationaria-labelledby
aria-label
summary
element subtreetitle
attributesummary
element accessible description calculation aria-describedby
summary
element subtree if not used as the accessible nametitle
attribute if it wasn't used as the accessible namefigure
and figcaption
elements 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 section 5.2.7. Accessible Name Calculation of the WAI-ARIA 1.0 specification.
figure
element accessible name calculationaria-labelledby
aria-label
figcaption
subtreetitle
attributefigure
element accessible description calculation aria-describedby
title
attribute if it wasn't used as the accessible nameimg
elementIf the img
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in section 5.2.7. Accessible Name Calculation of the WAI-ARIA 1.0 specification.
img
element accessible name calculationaria-labelledby
aria-label
alt
attributetitle
attributeimg
element accessible description calculation aria-describedby
title
attribute if it wasn't used as the accessible nametable
elementIf the table element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in section 5.2.7. Accessible Name Calculation of the WAI-ARIA 1.0 specification.
table
element accessible name calculation aria-labelledby
aria-label
caption
elementtitle
attributesummary
attributetable
element accessible description calculation aria-describedby
caption
element if it wasn't used as the accessible namesummary
attribute if it wasn't used as the accessible nametitle
attribute if it wasn't used as the accessible namea
elementIf the a
element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in section 5.2.7. Accessible Name Calculation of the WAI-ARIA 1.0 specification.
a
element accessible name calculation aria-labelledby
aria-label
a
element subtreetitle
attributea
element accessible description calculation aria-describedby
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
If the element has an aria-label
or an aria-labelledby
attribute the accessible name is to be calculated using the algorithm defined in section 5.2.7. Accessible Name Calculation of the WAI-ARIA 1.0 specification.
aria-labelledby
aria-label
title
attributearia-describedby
title
attribute if it wasn't used as the accessible namesummary
and details
elementsThe summary
element should be focusable by default.
The details
element should not focusable by default.
Pressing the spacebar or enter key when the summary
element has focus will show the details
element content if the content is hidden. If the details
element content is showing and the summary
element has focus, pressing the spacebar or enter key will hide the details element content.
The summary
element should be mapped to a disclosure triangle role in accessibility APIs that have such a role. For example the Mac accessibility API includes the AXDisclosureTriangle
role. In accessibility APIs that do not have such a fine grained role, the summary
element should be mapped to a button
role. The role mapping table contains recommended mappings for the summary element.
The default accessible name for the summary
element is the text content of the summary
element.
When the details
element content is hidden, the state of the content should be reflected by an accessible state or property.
Example 1: In the Mac accessibility API on the summary
element (AXDisclosureTriangle
), set AXExpanded
property to NO
. When the details
element content is shown, on the summary
element (AXDisclosureTriangle
), set theAXExpanded
property to YES
. The hidden and shown states of the details
element content is reflected by the absence or presence of the open
attribute.
Example 2: In the IA2 accessibility API on the summary
element (ROLE_SYSTEM_PUSHBUTTON
), set STATE_SYSTEM_COLLAPSED
. When the details
element content is shown, on the summary
element (ROLE_SYSTEM_PUSHBUTTON
), set STATE_SYSTEM_EXPANDED
. The hidden and shown states of the details
element content is reflected by the absence or presence of the open
attribute.
figure
and figcaption
elementsto do
The algorithm is a heuristic to determine if table is most likely used for layout, it is currently implemented in Firefox only.
to do
The development of this publication is being funded in part by Adobe Systems. The content of this publication does not necessarily reflect the views or policies of Adobe, nor does mention of trade names, commercial products, or organizations imply endorsement by Adobe.
The development of this publication is being funded in part by The Paciello Group. The content of this publication does not necessarily reflect the views or policies of The Paciello Group, nor does mention of trade names, commercial products, or organizations imply endorsement by The Paciello Group.