Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark and document use rules apply.
This is draft documentation mapping HTML elements and attributes to accessibility API Roles, States and Properties on a variety of platforms. It provides recommendations on deriving the accessible names and descriptions for HTML elements. It also provides accessible feature implementation examples.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
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 was published by the HTML Working Group as a Working Group Note. If you wish to make comments regarding this document, please send them to public-html-comments@w3.org (subscribe, archives). All comments are welcome.
Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
This document is governed by the 1 September 2015 W3C Process Document.
input type="text"
, input type="password"
, input type="search"
, input type="tel"
, input type="url"
and textarea
elementinput type="button"
, input type="submit"
and input type="reset"
input type="image"
button
elementsummary
element figure
and figcaption
elements img
elementtable
elementa
elementThis section is non-normative.
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.
This section is non-normative.
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:
HTML element | HTML4 | HTML5 | WAI-ARIA | MSAA + UIA Express | MSAA + IAccessible2 | UIA Control Type and Other Features | AT-SPI | 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: ROLE_LINK
States:
If link is visited then STATE_VISITED.
Actions:
"jump" action on link and all its descendants.
Interfaces:
Hyperlink; Text; Hypertext
|
AXRole: AXLink
AXSubrole: (nil)
AXRoleDescription: link
|
a (no href attribrute) |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
tag name BSTR (MSAA) and IA2_ROLE_TEXT_FRAME
Interfaces:
IAccessibleHyperlink; IAccessibleText2; IAccessibleHypertext2;
|
Control Type: Text
|
Role:
ROLE_TEXT
Interfaces:
Text; Hypertext
|
AXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: group
|
abbr |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
tag name BSTR (MSAA) and 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:
ROLE_TEXT
Object attributes:
"abbr" attribute on the containing td if a single child,
text content used as a value
Interfaces:
Text; Hypertext
|
AXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: group
|
address |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
tag name BSTR (MSAA) and IA2_ROLE_PARAGRAPH
Interfaces:
IAccessibleText2; IAccessibleHypertext2;
|
Control Type: Text
|
Role:
ROLE_PARAGRAPH
Interfaces:
Text; Hypertext
|
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
|
Role:
ROLE_SYSTEM_LINK exposed as a child of connected img element
States:
STATE_LINKED
Actions:
jump
Interfaces:
IAccessibleHyperlink
|
Control Type: Hyperlink
|
Role: ROLE_LINK
exposed as a child of connected img element
Actions:
jump
Interfaces:
Hyperlink
|
AXRole: AXLink
AXSubrole: (nil)
AXRoleDescription: link
|
area (no href attribute) |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
tag name BSTR (MSAA) and IA2_ROLE_SHAPE
|
Control Type: Text
|
Role:
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:
ROLE_DOCUMENT_FRAME
Object attributes:
xml-roles:article
Interfaces:
Text; Hypertext
|
AXRole: AXGroup
AXSubrole: AXDocumentArticle
AXRoleDescription: article
|
aside |
No | Yes | complementary role |
Role: ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
tag name BSTR (MSAA) and IA2_ROLE_NOTE
Object attributes:
xml-roles:complementary
Interfaces:
IAccessibleText2; IAccessibleHypertext2;
|
Control Type: Group
|
Role:
ROLE_SECTION
Object attributes:
xml-roles:complementary
Interfaces:
Text; Hypertext
|
AXRole: AXGroup
AXSubrole: AXLandmarkComplementary
AXRoleDescription: complementary
|
audio |
No | Yes | none |
Role: ROLE_SYSTEM_GROUPING
|
Role:
ROLE_SYSTEM_GROUPING
|
Control Type: Group
|
Role:
ROLE_PANEL
|
AXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: group
Note: UI controls within the audio element exposed as AXToolbar.
|
b |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Doesn't have an accessible, exposed as
"font-weight" text attribute on the text container.
The value depends on the platform.
|
Control Type: Text
|
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:
tag name BSTR (MSAA) and IA2_ROLE_SECTION
Interfaces:
IAccessibleText2; IAccessibleHypertext2;
|
Control Type: Group
|
Role:
ROLE_SECTION
Interfaces:
Text; Hypertext
|
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 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 Text 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:
ROLE_PUSH_BUTTON
States:
STATE_DEFAULT if the button is default
Actions: press
Interfaces:
Text; Hypertext
|
AXRole: AXButton
AXSubrole: (nil)
AXRoleDescription: button
|
canvas |
No | Yes | none |
Role: SYSTEM_ROLE_GRAPHIC
Use MSAA or UIA guidance
|
Role:
tag name BSTR (MSAA) and IA2_ROLE_CANVAS
|
Control Type: Image
NOTE: subdom elements will be mapped separately.
|
Role:
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:
tag name BSTR (MSAA) and IA2_ROLE_CAPTION
Relations:
IA2_RELATION_LABEL_FOR with containing table accessible
Interfaces:
IAccessibleText2; IAccessibleHypertext2;
|
Control Type: Text
Properties: UIA_LabeledByPropertyId on the parent table pointing to the UIA element for the caption element.
|
Role:
ROLE_CAPTION
Relations:
RELATION_LABEL_FOR with containing table accessible
Interfaces:
Text; Hypertext
|
AXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: group
|
cite |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT ??GROUP??
|
Doesn't have an accessible. Used styles are
mapped into text attributes on its text container.
|
Control Type: ??Text or Group??
|
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 |
Role: ROLE_SYSTEM_TEXT
|
Doesn't have an accessible. Used styles are
mapped into text attributes on its text container.
|
Control Type: Text
|
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
|
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
|
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
|
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: Combo Box
|
Used to constuct a list of options for autocompletes
(in other words it can have no accessible itself)
Interfaces:
Selection
|
AXRole: AXComboBox
AXSubrole: (nil)
AXRoleDescription: combo box
|
dd |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
|
Role:
tag name BSTR (MSAA) and IA2_ROLE_PARAGRAPH
Interfaces:
IAccessibleText2; IAccessibleHypertext2;
|
? |
Role:
ROLE_PARAGRAPH
Interfaces:
Text; Hypertext
|
AXRole: AXGroup
AXSubrole: AXDefinition
AXRoleDescription: definition
|
del |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
|
Doesn't have an accessible. Used styles are mapped
into text attributes on its text container.
|
Control Type: Text
|
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:
ROLE_PANEL
|
? |
dfn |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
|
Doesn't have an accessible. Used styles are
exposed by text attributes on its text container.
|
? |
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:
ROLE_DIALOG
|
|||||
div |
Yes | Yes | none |
Role: ROLE_SYSTEM_GROUPING
|
May not have an accessible if has no semantic meaning. Otherwise
Role:
tag name BSTR (MSAA) and IA2_ROLE_SECTION
Interfaces:
IAccessibleText2; IAccessibleHypertext2;
|
? |
May not have an accessible if has no semantic meaning. Otherwise
Role:
ROLE_SECTION
Interfaces:
Text; Hypertext
|
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:
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: List Item
|
Role:
ROLE_LISTITEM
Interfaces:
Text; Hypertext
|
AXRole: AXGroup
AXSubrole: AXTerm
AXRoleDescription: term
|
em |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
|
Doesn't have an accessible. Used styles are mapped
into text attributes on its text container
|
? |
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:
tag name BSTR (MSAA) and IA2_ROLE_EMBEDDED_OBJECT
States:
STATE_SYSTEM_UNAVAILABLE for windowless plugin
|
Control Type: ?Pane? Window?
|
Role:
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
Relations:
IA2_RELATION_LABELLED_BY with child legend element
|
Control Type: Group
|
Role:
ROLE_PANEL
Relations:
RELATION_LABELLED_BY with child legend element
|
AXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: group
|
figcaption |
No | Yes | none |
Role: ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Role:
tag name BSTR (MSAA) and IA2_ROLE_CAPTION
Relations:
IA2_RELATION_LABEL_FOR with parent figure element
Interfaces:
IAccessibleText2; IAccessibleHypertext2;
|
Control Type: Text
|
Role:
ROLE_CAPTION
Relations:
RELATION_LABEL_FOR with parent figure element
Interfaces:
Text; Hypertext
|
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
Relations:
IA2_RELATION_LABELLED_BY with child figcaption element
|
Control Type: Group
??discuss graphic/image vs. group??
|
Role: ROLE_PANEL
Object attributes:
xml-roles:figure
Name:
related figcaption content
Relations:
RELATION_LABELLED_BY with child figcaption element
|
? |
footer |
No | Yes | none |
Role: ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
tag name BSTR (MSAA) and 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:
ROLE_FOOTER
Interfaces:
Text; Hypertext
|
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:
tag name BSTR (MSAA) and IA2_ROLE_FORM
|
Control Type: Group
|
Role:
ROLE_FORM
|
AXRole: AXGroup
AXSubrole: AXLandmarkForm
AXRoleDescription: form
|
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:
tag name BSTR (MSAA) and IA2_ROLE_INTERNAL_FRAME
Child:
ROLE_SYSTEM_DOCUMENT having STATE_SYSTEM_READONLY
|
Control Type: Document
|
Role:
ROLE_INTERNAL_FRAME
Child:
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
|
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:
tag name BSTR (MSAA) and IA2_ROLE_HEADING
Object attributes:
level:<heading_level>
Interfaces:
IAccessibleText2; IAccessibleHypertext2;
|
Control Type: Text
|
Role:
ROLE_HEADING
Object attributes:
level:<heading_level>
Interfaces:
Text; Hypertext
|
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:
tag name BSTR (MSAA) and 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:
ROLE_HEADER
Interfaces:
Text; Hypertext
|
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:
ROLE_SEPARATOR
|
? |
html |
Yes | Yes | none |
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
Not mapped
|
i |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
|
Doesn't have an accessible, exposed as
"font-style:italic" text attribute on its text container.
|
Control Type: Text
|
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:
tag name BSTR (MSAA) and IA2_ROLE_INTERNAL_FRAME
Child:
ROLE_SYSTEM_DOCUMENT having STATE_SYSTEM_READONLY
|
Control Type: Document ??Pane??
|
Role:
ROLE_INTERNAL_FRAME
Child:
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
Children:
ROLE_SYSTEM_LINK generated from area
elements in case of image map
|
Control Type: Image
|
Role:
ROLE_IMAGE
Actions:
1) "jump" or "click" inherited from the container if any
2) "showlongdesc" if the image has a longdesc attribute
Interfaces:
Image
Children:
ROLE_LINK generated from area
elements in case of image map
|
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:
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: Menu Item
|
Role:
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:
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: Check Box
|
Role:
ROLE_CHECK_BOX
States:
STATE_CHECKED if checked; 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: ROLE_SYSTEM_CHECKBUTTON
UIA MenuItem
|
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:
ROLE_CHECK_MENU_ITEM
States:
STATE_CHECKED if checked; STATE_INDETERMINATE if in mixed state
Object attributes:
checkable:true
|
? |
input (type attribute in the Date state) |
No | Yes | none |
Role: ROLE_SYSTEM_DROPLIST
UIA Calendar
|
Role:
IA2_ROLE_DATE_EDITOR
|
Control Type: Calendar
|
Role:
ROLE_CALENDAR
|
AXRole: AXDateField
AXSubrole: (nil)
AXRoleDescription: date field
|
input (type attribute in the Date and Time state) |
No | Yes | none |
Role: ROLE_SYSTEM_DROPLIST
UIA Calendar
|
Role:
IA2_ROLE_DATE_EDITOR
|
Control Type: Calendar
|
Role:
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: ROLE_SYSTEM_TEXT
UIA Edit
|
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:
ROLE_ENTRY
States:
STATE_SINGLE_LINE; STATE_EDITABLE if not readonly
Actions:
activate
Interfaces:
Text; EditableText
|
AXRole: AXTextField
AXSubrole: (nil)
AXRoleDescription: text field
|
input (type attribute in the File Upload state) |
Yes | Yes | none |
Role: ROLE_SYSTEM_PUSHBUTTON
|
Role:
tag name BSTR (MSAA) and IA2_ROLE_TEXT_FRAME
Children:
A button and label (implementation specific)
|
Control Type: Button
|
Role:
ROLE_TEXT
Children:
ROLE_PUSH_BUTTON when pressed 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:
ROLE_PUSH_BUTTON
States:
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: ROLE_SYSTEM_DROPLIST
UIA Calendar
|
Role:
IA2_ROLE_DATE_EDITOR
|
Control Type: Calendar
|
Role:
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:
ROLE_SPIN_BUTTON or 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: STATE_SYSTEM_PROTECTED
UIA Edit with 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:
ROLE_PASSWORD_TEXT
States:
STATE_SINGLE_LINE; 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: Radio Button
|
Role:
ROLE_RADIO_BUTTON
States:
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:
ROLE_SLIDER
Interfaces:
Value
|
Slider:
AXRole: AXSlider
AXSubrole: (nil)
AXRoleDescription: slider
Properties: AXOrientation: AXHorizontalOrientation
Thumb:
AXRole: AXValueIndicator
AXSubrole: (nil)
AXRoleDescription: value indicator
Actions: AXIncrement - increment; AXDecrement - decrement
|
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:
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: ROLE_SYSTEM_TEXT
UIA Edit
|
Role:
ROLE_SYSTEM_TEXT
Actions:
activate
Interfaces:
IAccessibleText2; IAccessibleEditableText
|
Control Type: Edit
|
Role:
ROLE_ENTRY
States:
STATE_SINGLE_LINE; STATE_EDITABLE if not readonly
Actions:
activate
Interfaces:
Text; EditableText
|
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:
ROLE_PUSH_BUTTON
States:
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: ROLE_SYSTEM_TEXT
UIA Edit
|
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:
ROLE_ENTRY
States:
STATE_SINGLE_LINE; STATE_EDITABLE if not readonly
Actions:
activate
Interfaces:
Text; EditableText
|
AXRole: AXTextField
AXSubrole: (nil)
AXRoleDescription: text field
|
input (type attribute in the Text state with no suggestions source element) |
Yes | Yes | textbox role |
Role: ROLE_SYSTEM_TEXT
UIA Edit
|
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:
ROLE_ENTRY
States:
STATE_SINGLE_LINE; STATE_EDITABLE if not readonly
Actions:
activate
Interfaces:
Text; EditableText
|
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: Combo Box
|
Same as ordinal elements.
States:
STATE_SUPPORTS_AUTOCOMPLETION
Object attributes:
haspopup:true
Actions:
activate
Interfaces:
Text; EditableText
|
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:
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: ROLE_SYSTEM_TEXT
UIA Edit
|
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:
ROLE_ENTRY
States:
STATE_SINGLE_LINE; STATE_EDITABLE if not readonly
Actions:
activate
Interfaces:
Text; EditableText
|
AXRole: AXTextField
AXSubrole: (nil)
AXRoleDescription: text field
|
input (type attribute in the Week state) |
No | Yes | none |
Role: ROLE_SYSTEM_DROPLIST
UIA Calendar
|
Role:
IA2_ROLE_DATE_EDITOR
|
Control Type: Calendar
|
Role:
ROLE_CALENDAR
|
AXRole: AXTextField
AXSubrole: (nil)
AXRoleDescription: text field
|
ins |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
|
Doesn't have an accessible. Used styles are mapped
into text attributes on its text container.
|
? |
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 |
Role: ROLE_SYSTEM_TEXT
|
Doesn't have an accessible. Mapped into
"font-family:monospace" text attribute on its text
container.
|
? |
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: Combo Box
|
Role:
ROLE_COMBO_BOX
States:
STATE_EXPANDABLE; 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:
ROLE_LABEL
Relations:
RELATION_LABEL_FOR for a child form element or form element
referred by for attribute. Note,
related form element provides RELATION_LABELLED_BY pointing to the label.
Interfaces:
Text; Hypertext
|
AXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: group
|
legend |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
SHOULD use UIA_LabeledByPropertyId (see UIA column)
|
Role :
ROLE_SYSTEM_STATICTEXT and IA2_ROLE_LABEL
Relations:
IA2_RELATION_LABEL_FOR with parent fieldset element
Interfaces:
IAccessibleText2; IAccessibleHypertext2
|
Control Type: Text
Properties:
The parent fieldset has a UIA_LabeledByPropertyId
pointing to the UIA element for the
legend element.
|
Role :
ROLE_LABEL
Relations:
RELATION_LABEL_FOR with parent fieldset element
Interfaces:
Text; Hypertext
|
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: List Item
|
Role:
ROLE_LISTITEM
Interfaces:
Text; Hypertext
|
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: Menu Item
|
Role:
ROLE_LISTITEM
Interfaces:
Text; Hypertext
|
AXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: group
|
link |
Yes | Yes | link role |
??ROLE_SYSTEM_LINK Also, apply special rule to expose STATE_LINKED to link and all its descendants. Use either MSAA or UIA guidance?? |
Not mapped
|
Control Type: Hyperlink
|
Not mapped
|
Not mapped
|
main |
No | Yes | main role |
Role: ROLE_SYSTEM_GROUPING
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_GROUPING
Object attributes:
xml-roles:main
Interfaces:
IAccessibleText2; IAccessibleHypertext2
|
Control Type: Group
|
Role:
ROLE_SECTION
Object attributes:
xml-roles:main
Interfaces:
Text; Hypertext
|
AXRole: AXGroup
AXSubrole: AXLandmarkMain
AXRoleDescription: main
|
map |
Yes | Yes | none |
Not mapped
|
Not mapped if used as an image map, otherwise:
Role:
tag name BSTR (MSAA) and IA2_ROLE_TEXT_FRAME
|
Not mapped
|
Not mapped if used as an image map, otherwise:
Role:
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:
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:
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:
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:
ROLE_CHECK_MENU_ITEM
States:
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:
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:
ROLE_RADIO_MENU_ITEM
States:
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: ROLE_SYSTEM_TEXT
?? not sure this is right. maybe a number or value or something?
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:
ROLE_PROGRESS_BAR
Interfaces:
Value
|
AXRole: AXGroup
AXSubrole: (nil)
AXRoleDescription: group
|
nav |
No | Yes | navigation role |
Role: ROLE_SYSTEM_GROUPING
|
Role:
tag name BSTR and IA2_ROLE_SECTION
Object attributes:
xml-roles:navigation
Interfaces:
IAccessibleText2; IAccessibleHypertext2
|
Control Type: ??Text
|
Role:
ROLE_PANEL
Object attributes:
xml-roles:navigation
Interfaces:
Text; Hypertext
|
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. Use MSAA or UIA guidance
|
Depends on format of data file. If contains a plugin then
Role:
tag name BSTR (MSAA) and 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:
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:
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:
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: List Item
Control Pattern: SelectionItem (required for List Item control type)
|
Role:
ROLE_LIST_ITEM
States:
STATE_FOCUSABLE; STATE_FOCUSED if selected and the user focus is at the list
Actions:
select
Interfaces:
Text; Hypertext
|
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:
tag name BSTR and 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:
ROLE_SECTION
Object attributes:
live:polite
Relations:
RELATION_CONTROLLED_BY with an element pointed by for attribute.
Paired element exposes 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:
tag name BSTR and IA2_ROLE_PARAGRAPH
Interfaces:
IAccessibleText2; IAccessibleHypertext2
|
Control Type: Text
|
Role:
ROLE_PARAGRAPH
Interfaces:
Text; Hypertext
|
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:
tag name BSTR and IA2_ROLE_PARAGRAPH
Used styles are mapped into text attributes on the accessible
Interfaces:
IAccessibleText2; IAccessibleHypertext2
|
Control Type: Text ??Group??
|
Role:
ROLE_PARAGRAPH
Used styles are mapped into text attributes on the accessible
Interfaces:
Text; Hypertext
|
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: Progress Bar
|
Role:
ROLE_PROGRESS_BAR
States:
STATE_INDETERMINATE if the progress is indeterminate
Interfaces:
Value
|
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:
tag name BSTR and 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:
ROLE_TEXT
Interfaces:
Text; Hypertext
|
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:
tag name BSTR and IA2_ROLE_TEXT_FRAME
|
Control Type: Text ??Group??
|
Role:
ROLE_TEXT
|
? |
s |
? | Yes | none |
Role: ROLE_SYSTEM_TEXT ??group??
Use MSAA or UIA guidance
|
Doesn't have an accessible, exposed as
"text-line-through-style:solid" text attribute on the text container.
|
Control Type: Text ??Group??
|
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 |
Role: ROLE_SYSTEM_TEXT ??group?
Use MSAA or UIA guidance
|
Doesn't have an accessible. Styles are mapped into
text attributes on its text container.
|
Control Type: Text ??Group??
|
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:
tag name BSTR and IA2_ROLE_SECTION
Object attributes:
xml-roles:region
Interfaces:
IAccessibleText2; IAccessibleHypertext2
|
Control Type: Text ??Group??
|
Role:
ROLE_SECTION
Object attributes:
xml-roles:region
Interfaces:
Text; Hypertext
|
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
States:
STATE_SYSTEM_READONLY; STATE_SYSTEM_MULTISELECTABLE if multiple presented
Use MSAA or UIA guidance
|
Role:
ROLE_SYSTEM_LIST
States:
STATE_SYSTEM_FOCUSABLE; STATE_SYSTEM_MULTISELECTABLE if multiple presented
|
Control Type: List
Control Pattern: ISelectionProvider::CanSelectMultiple set to true
|
Role:
ROLE_LIST
States:
STATE_FOCUSABLE; STATE_MULTISELECTABLE if multiple presented
Interfaces:
Selection
|
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: Combo Box
|
Role:
ROLE_COMBO_BOX
States:
STATE_FOCUSABLE; STATE_EXPANDABLE and STATE_COLLAPSED if collapsed
Object attributes:
haspopup:true
Actions:
"open" or "close" depending on the state
Children:
intermediate ROLE_SYSTEM_LIST containing all options
|
AXRole: AXPopUpButton
AXSubrole: (nil)
AXRoleDescription: pop up button
|
small |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT ??group??
Use MSAA or UIA guidance
|
Doesn't have an accessible. Exposed as "font-size"
text attribute on the text container.
|
Control Type: Text ??Group??
|
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 |
Role: ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Doesn't have an accessible. Used styles are mapped
into text attributes on its text container.
|
Control Type: Text ??Group??
|
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 |
Role: ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Doesn't have an accessible. Exposed as "text-position:sub"
text attribute on its text container.
|
Control Type: Text ??Group??
|
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: ROLE_PUSHBUTTON
|
AXRole: AXDisclosureTriangle
AXSubrole: (nil)
AXRoleDescription: disclosure triangle
|
sup |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Doesn't have an accessible. Exposed as "text-position:super"
text attribute on its text container.
|
Control Type: Text ??Group??
|
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: 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
Relations:
IA2_RELATION_LABELLED_BY by child caption if any
Interface: IAccessibleTable2
|
Control Type: Data Grid
Control Pattern: Table
|
Role: ROLE_TABLE
Relations:
RELATION_LABELLED_BY by child caption if any
Interface: Table
|
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: Data Item
|
Role: ROLE_TABLE_CELL
Interfaces:
Text; Hypertext
|
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:
ROLE_ENTRY
States:
STATE_MULTI_LINE; STATE_EDITABLE if not readonly
Actions:
activate
Interfaces:
Text; EditableText
|
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: Data Item
|
Role:
ROLE_TABLE_CELL
Interfaces:
Text; Hypertext
|
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:
ROLE_COLUMN_HEADER
Interfaces:
Text; Hypertext
|
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:
ROLE_ROW_HEADER
Interfaces:
Text; Hypertext
|
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: Data Item
Control Pattern: SelectionItem |
Role: ROLE_LIST_ITEM
|
AXRole: AXRow
AXSubrole: AXTableRow
AXRoleDescription: row
|
track |
No | Yes | ? | ? |
Not mapped
|
? |
Not mapped
|
? |
u |
? | ? | ? | ? |
Doesn't have an accessible, mapped as "text-underline-style:solid" text attribute on its text container.
|
? |
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:
ROLE_LIST
|
AXRole: AXList
AXSubrole: AXContentList
AXRoleDescription: list
|
var |
Yes | Yes | none |
Role: ROLE_SYSTEM_TEXT
Use MSAA or UIA guidance
|
Doesn't have an accessible, used styles are mapped
to text attributes on its text container.
|
Control Type: Text (Note: not Group, because it would usually only contain a word.)
|
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:
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 | AT-SPI | 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
|
AcceleratorKey | AXAccessKey | ||
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 | Name | Used for accessible name, exposed via Accessible::name | AXDescription | |
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:
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:
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: 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 | ||||
class |
HTML elements | Yes | Yes | not mapped |
Not mapped
|
Not mapped
|
||||
cols |
textarea |
Yes | Yes |
Not mapped
|
Not mapped
|
AXRangeForLine | ||||
colspan |
td ; th |
Yes | Yes |
exposed via IAccessibleTableCell::columnExtent
|
exposed via Table::getColumnExtentAt
|
AXColumnIndexRange pos=column index; len=colspan value |
||||
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:
STATE_EDITABLE on this and every nested text accessible
Interfaces:
EditableText 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
|
Expose AXShowMenu and AXPress actions | |
controls |
audio ; video |
No | Yes |
Not mapped.
|
Controls exposed as AXToolbar | |||||
coords |
area |
Yes | Yes | not mapped |
Defines an accessible's dimensions (IAccessible::accLocation)
|
Defines an accessible's dimensions (Component::getPosition and Component::getSize)
|
||||
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 STATE_FOCUSABLE
|
AXEnabled="false" | ||||
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:
RELATION_LABEL_FOR and 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:
RELATION_CONTROLLED_BY with an element pointed by the attribute. Paired element exposes 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 Table::getRowHeader and getColumnHeader.
|
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 (Component::getSize)
|
||||
high |
meter |
No | Yes |
Not mapped
|
Not mapped
|
? | ||||
href |
a ; area |
Yes | Yes | AXURL | ||||||
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 Value::maximumValue if the element
implements the interface
|
AXMaxValue | ||||
max |
meter ; progress |
No | Yes |
Exposed as IAccessibleValue::maximumValue if the element
implements the interface
|
Exposed as Value::maximumValue if the element
implements the interface
|
AXMaxValue | ||||
maxlength |
input ; textarea |
Yes | Yes |
Not mapped
|
Not mapped
|
|||||
media |
link ; 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 Value::minimumValue if the element
implements the interface
|
AXMinValue | |||||
min |
meter |
No | Yes |
Exposed as IAccessibleValue::minimumValue if the element
implements the interface
|
Exposed as Value::minimumValue if the element
implements the interface
|
AXMinValue | ||||
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:
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 | STATE_COLLAPSED STATE_EXPANDED |
boolean AXExpanded | 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 | STATE_COLLAPSED STATE_EXPANDED |
boolean AXExpanded | |
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:
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 | ||||
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="false" | |||||
rel |
a ; area ; link |
Yes |
Not mapped
|
Not mapped
|
||||||
required |
input ; select ; textarea |
No | Yes | aria-required |
Not mapped * * Exposed as STATE_SYSTEM_ALERT_LOW, STATE_SYSTEM_ALERT_HIGH in Firefox. |
Exposes STATE_REQUIRED
|
Expose as IsrequiredForForm property. |
Exposes STATE_REQUIRED
|
AXRequired="true" | ? |
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 Table::getRowExtentAt
|
AXRowIndexRange pos=row index; len=rowspan value |
||||
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 |
Exposed as STATE_SYSTEM_SELECTED and if the container widget has DOM focus then
STATE_SYSTEM_FOCUSED (refer to option element)
|
Exposed as STATE_SELECTED and if the container widget has DOM focus then
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 Table::getColumnExtentAt
|
|||||
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 Value::minimumIncrement if the element
implements the 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:
STATE_FOCUSABLE; when the element has DOM focus then 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 | ||||
title |
abbr ; dfn |
Yes | Yes |
Associates the accessible name
|
Associates the accessible name
|
AXHelp | ||||
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 | ||||
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 |
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 Value::currentValue
|
AXValue | ||||
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 (Component::getSize)
|
AXSize w=n |
||||
wrap |
textarea |
No | Yes |
Not mapped
|
Not mapped
|
This section is non-normative.
This section is non-normative.
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 in that VARIANT in a way that is not described by the MSAA specification.
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="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.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 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 description.table
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 descriptionsummary
attribute if it wasn't used as the accessible descriptiontitle
attribute if it wasn't used as the accessible descriptiona
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
attributesummary
attributea
element accessible description calculation aria-describedby
title
attribute if it wasn't used as the accessible descriptionem
, 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 false
. When the details
element content is shown, on the summary
element (AXDisclosureTriangle
), set theAXExpanded
property to true
. 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.
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.