From 08c8c99a65bd763a2b88725406639efb40dd35fd Mon Sep 17 00:00:00 2001 From: Valerie Young Date: Mon, 21 Aug 2023 18:35:19 +0000 Subject: [PATCH] Editorial: Replace mapping table and summary/details with unique headings (#180) SHA: 356b21f41b500b72f27a26ba29057436452fe107 Reason: push, by spectranaut Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- index.html | 15131 +++++++++++++++++++++++++++++---------------------- 1 file changed, 8605 insertions(+), 6526 deletions(-) diff --git a/index.html b/index.html index 8a0901f..902fa23 100644 --- a/index.html +++ b/index.html @@ -110,8 +110,6 @@ - - @@ -121,28 +119,6 @@ - - -

Core Accessibility API Mappings 1.2

-

W3C Candidate Recommendation Draft

+

W3C Candidate Recommendation Draft

More details about this document
This version:
- https://www.w3.org/TR/2023/CRD-core-aam-1.2-20230817/ + https://www.w3.org/TR/2023/CRD-core-aam-1.2-20230821/
Latest published version:
https://www.w3.org/TR/core-aam-1.2/ @@ -823,7 +798,7 @@

Core Accessibility API Mappings 1.2

This document is governed by the 12 June 2023 W3C Process Document. -

+

1. Introduction

This section is non-normative.

The Core Accessibility API Mappings specifies how WAI-ARIA roles, states, and properties are expected to be exposed by user agents via platform accessibility APIs. It is part of a set of resources that define and support the WAI-ARIA specification which includes the following documents:

@@ -1010,3483 +985,4276 @@

Core Accessibility API Mappings 1.2

-

4.4.3 Role Mapping Table

+

4.4.3 Role Mapping Tables

-
Note

Translators: For label text associated with the following table and its toggle buttons, see the mappingTableLabels object in the <head> section of this document.

-
alert
alert
Computed Role -

alert

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_ALERT
- Event: The user agent SHOULD fire EVENT_SYSTEM_ALERT. [Note 2] -
UIA - Control Type: Group
- Localized Control Type: alert
- LiveSetting: Assertive (2)
- Event: The user agent SHOULD fire a system alert event. [Note 2] -
ATK/AT-SPI - Role: ROLE_NOTIFICATION
- Event: The user agent SHOULD fire a system alert event. [Note 2] -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXApplicationAlert
- Event: The user agent SHOULD fire a system alert event. [Note 2] -
alertdialog
alertdialog
Computed Role -

alertdialog

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_DIALOG
- Event: The user agent SHOULD fire EVENT_SYSTEM_ALERT. [Note 2] -
UIA - Control Type: Pane
- Event: The user agent SHOULD fire a system alert event. [Note 2] -
ATK/AT-SPI - Role: ROLE_ALERT
- Interface: Window
- Event: The user agent SHOULD fire a system alert event. [Note 2] -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXApplicationAlertDialog
- Event: The user agent SHOULD fire a system alert event. [Note 2] -
application
application
Computed Role -

application

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_APPLICATION -
UIA - Control Type: Pane
- Localized Control Type: application -
ATK/AT-SPI - Role: ROLE_EMBEDDED -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXWebApplication
-
article
article
Computed Role -

article

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_DOCUMENT
- State: STATE_SYSTEM_READONLY
- Object Attribute: xml-roles:article -
UIA - Control Type: Group
- Localized Control Type: article -
ATK/AT-SPI - Role: ROLE_ARTICLE
- Object Attribute: xml-roles:article -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXDocumentArticle
-
banner
banner
Computed Role -

banner

-
MSAA + IAccessible2 - Role: IA2_ROLE_LANDMARK
- Object Attribute: xml-roles:banner -
UIA - Control Type: Group
- Localized Control Type: banner
- Landmark Type: Custom
- Localized Landmark Type: banner -
ATK/AT-SPI - Role: ROLE_LANDMARK
- Object Attribute: xml-roles:banner -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXLandmarkBanner
-
blockquote
blockquote
Computed Role -

blockquote

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GROUPING
- Role: IA2_ROLE_BLOCK_QUOTE -
UIA - Control Type: Group
- Localized Control Type: blockquote -
ATK/AT-SPI - Role: ROLE_BLOCK_QUOTE
-
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: <nil>
-
button with default values for aria-pressed and aria-haspopup
button with default values for aria-pressed and aria-haspopup
Computed Role -

button

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_PUSHBUTTON -
UIA - Control Type: Button -
ATK/AT-SPI - Role: ROLE_PUSH_BUTTON -
AX API[Note 1] - AXRole: AXButton
- AXSubrole: <nil>
-
button with non-false value for aria-haspopup
button with non-false value for aria-haspopup
Computed Role -

button

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_BUTTONMENU -
UIA - Control Type: Button -
ATK/AT-SPI - Role: ROLE_PUSH_BUTTON -
AX API[Note 1] - AXRole: AXPopUpButton
- AXSubrole: <nil>
-
button with defined value for aria-pressed
button with defined value for aria-pressed
Computed Role -

button

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_PUSHBUTTON
- Role: IA2_ROLE_TOGGLE_BUTTON -
UIA - Control Type: Button -
ATK/AT-SPI - Role: ROLE_TOGGLE_BUTTON -
AX API[Note 1] - AXRole: AXCheckBox
- AXSubrole: AXToggle
-
caption
caption
Computed Role -

caption

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GROUPING
- Role: IA2_ROLE_CAPTION -
UIA - Control Type: Text -
ATK/AT-SPI - Role: ROLE_CAPTION -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: <nil>
-
cell
cell
Computed Role -

cell

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_CELL
- Interface: IAccessibleTableCell -
UIA - Control Type: DataItem
- Localized Control Type: item
- Control Pattern: GridItem
- Control Pattern: TableItem -
ATK/AT-SPI - Role: ROLE_TABLE_CELL
- Interface: TableCell -
AX API[Note 1] - AXRole: AXCell
- AXSubrole: <nil>
-
checkbox
checkbox
Computed Role -

checkbox

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_CHECKBUTTON
- See also: aria-checked in the State and Property Mapping Table -
UIA - Control Type: Checkbox
- See also: aria-checked in the State and Property Mapping Table -
ATK/AT-SPI - Role: ROLE_CHECK_BOX
- See also: aria-checked in the State and Property Mapping Table -
AX API[Note 1] - AXRole: AXCheckBox
- AXSubrole: <nil>
- See also: aria-checked in the State and Property Mapping Table -
code
code
Computed Role -

code

-
MSAA + IAccessible2 - Role: IA2_ROLE_TEXT_FRAME
- Object Attribute: xml-roles:code -
UIA - Control Type: Text
- Localized Control Type: code -
ATK/AT-SPI - Role: ROLE_STATIC
- Object Attribute: xml-roles:code -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXCodeStyleGroup
-
columnheader
columnheader
Computed Role -

columnheader

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_COLUMNHEADER
- Interface: IAccessibleTableCell -
UIA - Control Type: DataItem
- Localized Control Type: column header
- Control Pattern: GridItem
- Control Pattern: TableItem -
ATK/AT-SPI - Role: ROLE_COLUMN_HEADER
- Interface: TableCell -
AX API[Note 1] - AXRole: AXCell
- AXSubrole: <nil>
-
combobox
combobox
Computed Role -

combobox

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_COMBOBOX
- State: STATE_SYSTEM_HASPOPUP
- State: STATE_SYSTEM_COLLAPSED if aria-expanded is not "true" -
UIA - Control Type: Combobox -
ATK/AT-SPI - Role: ROLE_COMBO_BOX
- State: STATE_EXPANDABLE
- State: STATE_HAS_POPUP -
AX API[Note 1] - AXRole: AXComboBox
- AXSubrole: <nil>
-
comment
comment
Computed Role -

comment

-
MSAA + IAccessible2 - Role: IA2_ROLE_COMMENT
- Object Attribute: xml-roles:comment -
UIA - Control Type: Group
- Localized Control Type: comment
-
ATK/AT-SPI - Role: ROLE_COMMENT
- Object Attribute: xml-roles:comment -
AX API[Note 1] - AXRole: AXGroup
-
complementary
complementary
Computed Role -

complementary

-
MSAA + IAccessible2 - Role: IA2_ROLE_LANDMARK
- Object Attribute: xml-roles:complementary -
UIA - Control Type: Group
- Localized Control Type: complementary
- Landmark Type: Custom
- Localized Landmark Type: complementary -
ATK/AT-SPI - Role: ROLE_LANDMARK
- Object Attribute: xml-roles:complementary -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXLandmarkComplementary
-
contentinfo
contentinfo
Computed Role -

contentinfo

-
MSAA + IAccessible2 - Role: IA2_ROLE_LANDMARK
- Object Attribute: xml-roles:contentinfo -
UIA - Control Type: Group
- Localized Control Type: content information
- Landmark Type: Custom
- Localized Landmark Type: content information -
ATK/AT-SPI - Role: ROLE_LANDMARK
- Object Attribute: xml-roles:contentinfo -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXLandmarkContentInfo
-
definition
definition
Computed Role -

definition

-
MSAA + IAccessible2 - Object Attribute: xml-roles:definition -
UIA - Control Type: Group
- Localized Control Type: definition -
ATK/AT-SPI - Role: ROLE_DESCRIPTION_VALUE
- Object Attribute: xml-roles:definition -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXDefinition
-
deletion
deletion
Computed Role -

deletion

-
MSAA + IAccessible2 - Role: IA2_ROLE_CONTENT_DELETION -
UIA - Control Type: Text
- Localized Control Type: deletion -
ATK/AT-SPI - Role: ROLE_CONTENT_DELETION
- Object Attribute: xml-roles:deletion -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXDeleteStyleGroup
- AXAttributedStringForTextMarkerRange: contains AXIsSuggestedDeletion = 1; for all text contained in a deletion -
dialog
dialog
Computed Role -

dialog

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_DIALOG -
UIA - Control Type: Pane -
ATK/AT-SPI - Role: ROLE_DIALOG
- Interface: Window -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXApplicationDialog
-
directory
directory
Computed Role -

list

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_LIST -
UIA - Control Type: List -
ATK/AT-SPI - Role: ROLE_LIST -
AX API[Note 1] - AXRole: AXList
- AXSubrole: AXContentList
-
document
document
Computed Role -

document

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_DOCUMENT
- State: STATE_SYSTEM_READONLY -
UIA - Control Type: Document -
ATK/AT-SPI - Role: ROLE_DOCUMENT_FRAME -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXDocument
-
emphasis
emphasis
Computed Role -

emphasis

-
MSAA + IAccessible2 - Role: IA2_ROLE_TEXT_FRAME
- Object Attribute: xml-roles:emphasis -
UIA - Control Type: Text
- Localized Control Type: emphasis -
ATK/AT-SPI - Role: ROLE_STATIC
- Object Attribute: xml-roles:emphasis -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXEmphasisStyleGroup
-
feed
feed
Computed Role -

feed

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GROUPING
- Object Attribute: xml-roles:feed -
UIA - Control Type: Group
- Localized Control Type: feed -
ATK/AT-SPI - Role: ROLE_PANEL
- Object Attribute: xml-roles:feed -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXApplicationGroup
-
figure
figure
Computed Role -

figure

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GROUPING
- Object Attribute: xml-roles:figure -
UIA - Control Type: Group
- Localized Control Type: figure -
ATK/AT-SPI - Role: ROLE_PANEL
- Object Attribute: xml-roles:figure -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: <nil>
-
form with an accessible name
form with an accessible name
Computed Role -

form

-
MSAA + IAccessible2 - Role: IA2_ROLE_FORM
- Object Attribute: xml-roles:form -
UIA - Control Type: Group
- Localized Control Type: form
- Landmark Type: Form -
ATK/AT-SPI - Role: ROLE_LANDMARK
- Object Attribute: xml-roles:form -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXLandmarkForm
-
form without an accessible name
form without an accessible name
Computed Role -

form

-
MSAA + IAccessible2 - Do not expose the element as a landmark. Use the native host language role of the element instead. -
UIA - Do not expose the element as a landmark. Use the native host language role of the element instead. -
ATK/AT-SPI - Do not expose the element as a landmark. Use the native host language role of the element instead. -
AX API[Note 1] - Do not expose the element as a landmark. Use the native host language role of the element instead. -
generic
generic
Computed Role -

generic

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GROUPING
- Role: IA2_ROLE_SECTION -
UIA - Control Type: Group -
ATK/AT-SPI - Role: ROLE_SECTION
-
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: <nil>
-
grid
grid
Computed Role -

grid

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_TABLE
- Object Attribute: xml-roles:grid
- Interface: IAccessibleTable2
- Method: IAccessible::accSelect()
- Method: IAccessible::get_accSelection() -
UIA - Control Type: DataGrid
- Control Pattern: Grid
- Control Pattern: Table
- Control Pattern: Selection -
ATK/AT-SPI - Role: ROLE_TABLE
- Object Attribute: xml-roles:grid
- Interface: Table
- Interface: Selection -

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

-
AX API[Note 1] - AXRole: AXTable
- AXSubrole: <nil>
- AXColumnHeaderUIElements: a list of pointers to the columnheader elements
- AXHeader: a pointer to the row or group containing those columnheader elements
- AXRowHeaderUIElements: a list of pointers to the rowheader elements -
gridcell
gridcell
Computed Role -

gridcell

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_CELL
- Interface: IAccessibleTableCell -
UIA - Control Type: DataItem
- Localized Control Type: item
- Control Pattern: SelectionItem
- Control Pattern: GridItem
- Control Pattern: TableItem
- SelectionItem.SelectionContainer: the containing grid -
ATK/AT-SPI - Role: ROLE_TABLE_CELL
- Interface: TableCell -
AX API[Note 1] - AXRole: AXCell
- AXSubrole: <nil>
-
group
group
Computed Role -

group

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GROUPING -
UIA - Control Type: Group -
ATK/AT-SPI - Role: ROLE_PANEL -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXApplicationGroup
-
heading
heading
Computed Role -

heading

-
MSAA + IAccessible2 - Role: IA2_ROLE_HEADING
- Object Attribute: xml-roles:heading -
UIA - Control Type: Text
- Localized Control Type: heading -
ATK/AT-SPI - Role: ROLE_HEADING -
AX API[Note 1] - AXRole: AXHeading
- AXSubrole: <nil>
-
img
img
Computed Role -

image

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GRAPHIC
- Interface: IAccessibleImage -
UIA - Control Type: Image -
ATK/AT-SPI - Role: ROLE_IMAGE
- Interface: Image -
AX API[Note 1] - AXRole: AXImage
- AXSubrole: <nil>
-
insertion
insertion
Computed Role -

insertion

-
MSAA + IAccessible2 - Role: IA2_ROLE_CONTENT_INSERTION -
UIA - Control Type: Text
- Localized Control Type: insertion -
ATK/AT-SPI - Role: ROLE_CONTENT_INSERTION
- Object Attribute: xml-roles:insertion -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXInsertStyleGroup
- AXAttributedStringForTextMarkerRange: contains AXIsSuggestedInsertion = 1; for all text contained in a insertion -
link
link
Computed Role -

link

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_LINK
- State: STATE_SYSTEM_LINKED
- State: STATE_SYSTEM_LINKED on its descendants
- Interface: IAccessibleHypertext -
UIA - Control Type: HyperLink
- Control Pattern: Value -
ATK/AT-SPI - Role: ROLE_LINK
- Interface: HyperlinkImpl -
AX API[Note 1] - AXRole: AXLink
- AXSubrole: <nil>
-
list
list
Computed Role -

list

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_LIST
- State: STATE_SYSTEM_READONLY -
UIA - Control Type: List -
ATK/AT-SPI - Role: ROLE_LIST -
AX API[Note 1] - AXRole: AXList
- AXSubrole: AXContentList
-
listbox not owned by or child of combobox
listbox not owned by or child of combobox
Computed Role -

listbox

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_LIST
- Method: IAccessible::accSelect()
- Method: IAccessible::get_accSelection() -
UIA - Control Type: List
- Control Pattern: Selection -
ATK/AT-SPI - Role: ROLE_LIST_BOX
- Interface: Selection -

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

-
AX API[Note 1] - AXRole: AXList
- AXSubrole: <nil>
-
listbox owned by or child of combobox
listbox owned by or child of combobox
Computed Role -

listbox

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_LIST
- Method: IAccessible::accSelect()
- Method: IAccessible::get_accSelection() -
UIA - Control Type: List
- Control Pattern: Selection -
ATK/AT-SPI - Role: ROLE_MENU
- Interface: Selection -

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

-
AX API[Note 1] - AXRole: AXList
- AXSubrole: <nil>
-
listitem
listitem
Computed Role -

listitem

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_LISTITEM
- State: STATE_SYSTEM_READONLY -
UIA - Control Type: ListItem
- Control Pattern: SelectionItem
- SelectionItem.SelectionContainer: the containing list -
ATK/AT-SPI - Role: ROLE_LIST_ITEM -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: <nil>
-
log
log
Computed Role -

log

-
MSAA + IAccessible2 - Object Attribute: xml-roles:log
- Object Attribute: container-live:polite
- Object Attribute: live:polite
- Object Attribute: container-live-role:log -
UIA - Control Type: Group
- Localized Control Type: log
- LiveSetting: Polite (1) -
ATK/AT-SPI - Role: ROLE_LOG
- Object Attribute: xml-roles:log
- Object Attribute: container-live:polite
- Object Attribute: live:polite
- Object Attribute: container-live-role:log -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXApplicationLog
-
main
main
Computed Role -

main

-
MSAA + IAccessible2 - Role: IA2_ROLE_LANDMARK
- Object Attribute: xml-roles:main -
UIA - Control Type: Group
- Localized Control Type: main
- Landmark Type: Main -
ATK/AT-SPI - Role: ROLE_LANDMARK
- Object Attribute: xml-roles:main -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXLandmarkMain
-
mark
mark
Computed Role -

mark

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GROUPING
- Role: IA2_ROLE_MARK
- Object Attribute: xml-roles:mark -
UIA - Control Type: Group -
ATK/AT-SPI - Role: ROLE_MARK
- Object Attribute: xml-roles:mark -
AX API[Note 1] - AXRole: AXGroup
- AXRoleDescription: highlight
- AXAttributedStringForTextMarkerRange: contains AXHighlight = 1; for all text contained in a mark -
marquee
marquee
Computed Role -

marquee

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_ANIMATION
- Object Attribute: xml-roles:marquee
- Object Attribute: container-live:off
- Object Attribute: live:off -
UIA - Control Type: Group
- Localized Control Type: marquee
- LiveSetting: Off (0) -
ATK/AT-SPI - Role: ROLE_MARQUEE
- Object Attribute: container-live:off
- Object Attribute: live:off -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXApplicationMarquee
-
math
math
Computed Role -

math

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_EQUATION -
UIA - Control Type: Group
- Localized Control Type: math -
ATK/AT-SPI - Role: ROLE_MATH -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXDocumentMath
-
menu
menu
Computed Role -

menu

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_MENUPOPUP
- Method: IAccessible::accSelect()
- Method: IAccessible::get_accSelection() -
UIA - Control Type: Menu -
ATK/AT-SPI - Role: ROLE_MENU
- Interface: Selection -

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

-
AX API[Note 1] - AXRole: AXMenu
- AXSubrole: <nil>
-
menubar
menubar
Computed Role -

menubar

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_MENUBAR
- Method: IAccessible::accSelect()
- Method: IAccessible::get_accSelection() -
UIA - Control Type: MenuBar -
ATK/AT-SPI - Role: ROLE_MENU_BAR
- Interface: Selection -

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

-
AX API[Note 1] - AXRole: AXMenuBar
- AXSubrole: <nil>
-
menuitem
menuitem
Computed Role -

menuitem

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_MENUITEM -
UIA - Control Type: MenuItem -
ATK/AT-SPI - Role: ROLE_MENU_ITEM -
AX API[Note 1] - AXRole: AXMenuItem
- AXSubrole: <nil>
-
menuitemcheckbox
menuitemcheckbox
Computed Role -

menuitemcheckbox

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_CHECKBUTTON or ROLE_SYSTEM_MENUITEM
- Role: IA2_ROLE_CHECK_MENU_ITEM
- See also: aria-checked in the State and Property Mapping Table -
UIA - Control Type: MenuItem
- Control Pattern: Toggle
- See also: aria-checked in the State and Property Mapping Table -
ATK/AT-SPI - Role: ROLE_CHECK_MENU_ITEM
- See also: aria-checked in the State and Property Mapping Table -
AX API[Note 1] - AXRole: AXMenuItem
- AXSubrole: <nil>
- See also: aria-checked in the State and Property Mapping Table -
menuitemradio
menuitemradio
Computed Role -

menuitemradio

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_RADIOBUTTON or ROLE_SYSTEM_MENUITEM
- Role: IA2_ROLE_RADIO_MENU_ITEM
- See also: aria-checked in the State and Property Mapping Table -
UIA - Control Type: MenuItem
- Control Pattern: Toggle
- Control Pattern: SelectionItem
- See also: aria-checked in the State and Property Mapping Table -
ATK/AT-SPI - Role: ROLE_RADIO_MENU_ITEM
- See also: aria-checked in the State and Property Mapping Table -
AX API[Note 1] - AXRole: AXMenuItem
- AXSubrole: <nil>
- See also: aria-checked in the State and Property Mapping Table -
meter
meter
Computed Role -

meter

-
MSAA + IAccessible2 - Role: IA2_ROLE_LEVEL_BAR
- Interface: IAcesssibleValue -
UIA - Control Type: ProgressBar
- Localized Control Type: meter
- Control Pattern: RangeValue -
ATK/AT-SPI - Role: ROLE_LEVEL_BAR
- Interface: Value -
AX API[Note 1] - AXRole: AXLevelIndicator
- AXSubrole: AXMeter
-
navigation
navigation
Computed Role -

navigation

-
MSAA + IAccessible2 - Role: IA2_ROLE_LANDMARK
- Object Attribute: xml-roles:navigation -
UIA - Control Type: Group
- Localized Control Type: navigation
- Landmark Type: Navigation -
ATK/AT-SPI - Role: ROLE_LANDMARK
- Object Attribute: xml-roles:navigation -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXLandmarkNavigation
-
none
none
Computed Role -

none

-
MSAA + IAccessible2 -

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it as IA2_ROLE_TEXT_FRAME. user agents SHOULD prune empty descendants from the accessibility tree.

-
UIA -

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it using the text pattern. user agents SHOULD prune empty descendants from the accessibility tree.

-
ATK/AT-SPI -

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it as ROLE_SECTION. user agents SHOULD prune empty descendants from the accessibility tree.

-
AX API[Note 1] -

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it as AXGroup. user agents SHOULD prune empty descendants from the accessibility tree.

-
note
note
Computed Role -

note

-
MSAA + IAccessible2 - Role: IA2_ROLE_NOTE -
UIA - Control Type: Group
- Localized Control Type: note -
ATK/AT-SPI - Role: ROLE_COMMENT -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXDocumentNote
-
option not inside combobox
option not inside combobox
Computed Role -

option

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_LISTITEM
- See also: aria-checked in the State and Property Mapping Table -
UIA - Control Type: ListItem
- Control Pattern: Invoke
- See also: aria-checked in the State and Property Mapping Table -
ATK/AT-SPI - Role: ROLE_LIST_ITEM
- See also: aria-checked in the State and Property Mapping Table
-
AX API[Note 1] - AXRole: AXStaticText
- AXSubrole: <nil>
- See also: aria-checked in the State and Property Mapping Table -
option inside combobox
option inside combobox
Computed Role -

option

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_LISTITEM
- See also: aria-checked in the State and Property Mapping Table -
UIA - Control Type: ListItem
- Control Pattern: Invoke
- See also: aria-checked in the State and Property Mapping Table -
ATK/AT-SPI - Role: ROLE_MENU_ITEM
- See also: aria-checked in the State and Property Mapping Table
-
AX API[Note 1] - AXRole: AXStaticText
- AXSubrole: <nil>
- See also: aria-checked in the State and Property Mapping Table -
paragraph
paragraph
Computed Role -

paragraph

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GROUPING
- Role: IA2_ROLE_PARAGRAPH -
UIA - Control Type: Text -
ATK/AT-SPI - Role: ROLE_PARAGRAPH -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: <nil>
-
presentation
presentation
Computed Role -

none

-
MSAA + IAccessible2 -

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it as IA2_ROLE_TEXT_FRAME. user agents SHOULD prune empty descendants from the accessibility tree.

-
UIA -

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it using the text pattern. user agents SHOULD prune empty descendants from the accessibility tree.

-
ATK/AT-SPI -

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it as ROLE_SECTION. user agents SHOULD prune empty descendants from the accessibility tree.

-
AX API[Note 1] -

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it as AXGroup. user agents SHOULD prune empty descendants from the accessibility tree.

-
progressbar
progressbar
Computed Role -

progressbar

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_PROGRESSBAR
- State: STATE_SYSTEM_READONLY
- Interface: IAcesssibleValue -
UIA - Control Type: ProgressBar
- Control Pattern: RangeValue if aria-valuenow, aria-valuemax, or aria-valuemin is present -
ATK/AT-SPI - Role: ROLE_PROGRESS_BAR
- Interface: Value -

Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return false for all Value methods that provide a means to modify the value.

-
AX API[Note 1] - AXRole: AXProgressIndicator
- AXSubrole: <nil>
-
radio
radio
Computed Role -

radio

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_RADIOBUTTON
- See also: aria-checked in the State and Property Mapping Table -
UIA - Control Type: RadioButton
- Control Pattern: Toggle
- Control Pattern: SelectionItem
- See also: aria-checked in the State and Property Mapping Table -
ATK/AT-SPI - Role: ROLE_RADIO_BUTTON
- See also: aria-checked in the State and Property Mapping Table -
AX API[Note 1] - AXRole: AXRadioButton
- AXSubrole: <nil>
- See also: aria-checked in the State and Property Mapping Table -
radiogroup
radiogroup
Computed Role -

ragiogroup

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GROUPING -
UIA - Control Type: List -
ATK/AT-SPI - Role: ROLE_PANEL -
AX API[Note 1] - AXRole: AXRadioGroup
- AXSubrole: <nil>
-
region with an accessible name
region with an accessible name
Computed Role -

region

-
MSAA + IAccessible2 - Role: IA2_ROLE_LANDMARK
- Object Attribute: xml-roles:region -
UIA - Control Type: Group
- Localized Control Type: region
- Landmark Type: Custom
- Localized Landmark Type: region -
ATK/AT-SPI - Role: ROLE_LANDMARK
- Object Attribute: xml-roles:region -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXLandmarkRegion
-
region without an accessible name
region without an accessible name
Computed Role -

Use native host language role.

-
MSAA + IAccessible2 - Do not expose the element as a landmark. Use the native host language role of the element instead. -
UIA - Do not expose the element as a landmark. Use the native host language role of the element instead. -
ATK/AT-SPI - Do not expose the element as a landmark. Use the native host language role of the element instead. -
AX API[Note 1] - Do not expose the element as a landmark. Use the native host language role of the element instead. -
row not inside treegrid
row not inside treegrid
Computed Role -

row

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_ROW -
UIA - Control Type: DataItem
- Localized Control Type: row
- Control Pattern: SelectionItem -
ATK/AT-SPI - Role: ROLE_TABLE_ROW -
AX API[Note 1] - AXRole: AXRow
- AXSubrole: <nil>
-
row inside treegrid
row inside treegrid
Computed Role -

treegrid

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_OUTLINEITEM -
UIA - Control Type: DataItem
- Localized Control Type: row
- Control Pattern: SelectionItem -
ATK/AT-SPI - Role: ROLE_TABLE_ROW -
AX API[Note 1] - AXRole: AXRow
- AXSubrole: <nil>
-
rowgroup
rowgroup
Computed Role -

rowgroup

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GROUPING -
UIA - Control Type: Group -
ATK/AT-SPI - Role: ROLE_PANEL -
AX API[Note 1] - Not mapped -
rowheader
rowheader
Computed Role -

rowheader

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_ROWHEADER
- Interface: IAccessibleTableCell -
UIA - Control Type: HeaderItem -
ATK/AT-SPI - Role: ROLE_ROW_HEADER
- Interface: TableCell -
AX API[Note 1] - AXRole: AXCell
- AXSubrole: <nil>
-
scrollbar
scrollbar
Computed Role -

scrollbar

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_SCROLLBAR
- Interface: IAcesssibleValue -
UIA - Control Type: ScrollBar
- Control Pattern: RangeValue -
ATK/AT-SPI - Role: ROLE_SCROLL_BAR
- Interface: Value -

Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return false for all Value methods that provide a means to modify the value.

-
AX API[Note 1] - AXRole: AXScrollBar
- AXSubrole: <nil>
-
search
search
Computed Role -

search

-
MSAA + IAccessible2 - Role: IA2_ROLE_LANDMARK
- Object Attribute: xml-roles:search -
UIA - Control Type: Group
- Localized Control Type: search
- Landmark Type: Search -
ATK/AT-SPI - Role: ROLE_LANDMARK
- Object Attribute: xml-roles:search -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXLandmarkSearch
-
searchbox
searchbox
Computed Role -

searchbox

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_TEXT
- Object Attribute: text-input-type:search -
UIA - Control Type: Edit
- Localized Control Type: search box -
ATK/AT-SPI - Role: ROLE_ENTRY
- Object Attribute: xml-roles:searchbox
- Interface: EditableText if aria-readonly is not "true" -
AX API[Note 1] - AXRole: AXTextField
- AXSubrole: AXSearchField
-
separator (non-focusable)
separator (non-focusable)
Computed Role -

seperator

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_SEPARATOR -
UIA - Control Type: Separator -
ATK/AT-SPI - Role: ROLE_SEPARATOR -
AX API[Note 1] - AXRole: AXSplitter
- AXSubrole: <nil>
-
separator (focusable)
separator (focusable)
Computed Role -

seperator

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_SEPARATOR
- Interface: IAccessibleValue -
UIA - Control Type: Thumb
- Control Pattern: RangeValue -
ATK/AT-SPI - Role: ROLE_SEPARATOR
- Interface: Value -

Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return false for all Value methods that provide a means to modify the value.

-
AX API[Note 1] - AXRole: AXSplitter
- AXSubrole: <nil>
-
slider
slider
Computed Role -

slider

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_SLIDER
- Interface: IAcesssibleValue -
UIA - Control Type: Slider
- Control Pattern: RangeValue -
ATK/AT-SPI - Role: ROLE_SLIDER
- Interface: Value -

Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return false for all Value methods that provide a means to modify the value.

-
AX API[Note 1] - AXRole: AXSlider
- AXSubrole: <nil>
-
spinbutton
spinbutton
Computed Role -

spinbutton

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_SPINBUTTON
- Interface: IAcesssibleValue -
UIA - Control Type: Spinner
- Control Pattern: RangeValue -
ATK/AT-SPI - Role: ROLE_SPIN_BUTTON
- Interface: Value -

Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return false for all Value methods that provide a means to modify the value.

-
AX API[Note 1] - AXRole: AXIncrementor
- AXSubrole: <nil>
-
status
status
Computed Role -

status

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_STATUSBAR
- Object Attribute: container-live:polite
- Object Attribute: live:polite
- Object Attribute: container-live-role:status -
UIA - Control Type: Group
- Localized Control Type: status
- LiveSetting: Polite (1) -
ATK/AT-SPI - Role: ROLE_STATUSBAR
- Object Attribute: container-live:polite
- Object Attribute: live:polite
- Object Attribute: container-live-role:status -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXApplicationStatus
-
strong
strong
Computed Role -

strong

-
MSAA + IAccessible2 - Role: IA2_ROLE_TEXT_FRAME
- Object Attribute: xml-roles:strong -
UIA - Control Type: Text
- Localized Control Type: strong -
ATK/AT-SPI - Role: ROLE_STATIC
- Object Attribute: xml-roles:strong -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXStrongStyleGroup
-
subscript
subscript
Computed Role -

subscript

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GROUPING
- Role: IA2_ROLE_TEXT_FRAME
- Text Attribute: text-position:sub -
UIA - Control Type: Text
- Styles used are exposed by IsSubscript attribute of the TextRange Control Pattern implemented on the accessible object. -
ATK/AT-SPI - Role: ROLE_SUBSCRIPT -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXSubscriptStyleGroup
-
suggestion
suggestion
Computed Role -

suggestion

-
MSAA + IAccessible2 - Role: IA2_ROLE_SUGGESTION
- Object Attribute: xml-roles:suggestion -
UIA - Control Type: Group
- Localized Control Type: suggestion
-
ATK/AT-SPI - Role: ROLE_SUGGESTION
- Object Attribute: xml-roles:suggestion -
AX API[Note 1] - AXRole: AXGroup
- AXAttributedStringForTextMarkerRange: contains AXIsSuggestion = 1; for all text contained in a suggestion -
superscript
superscript
Computed Role -

superscript

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GROUPING
- Role: IA2_ROLE_TEXT_FRAME
- Text Attribute: text-position:super -
UIA - Control Type: Text
- Styles used are exposed by IsSuperscript attribute of the TextRange Control Pattern implemented on the accessible object. -
ATK/AT-SPI - Role: ROLE_SUPERSCRIPT -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXSuperscriptStyleGroup
-
switch
switch
Computed Role -

switch

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_CHECKBUTTON
- Role: IA2_ROLE_TOGGLE_BUTTON
- Object Attribute: xml-roles:switch
- See also: aria-checked in the State and Property Mapping Table -
UIA - Control Type: Button
- Localized Control Type: toggleswitch
- Control Pattern: Toggle
- See also: aria-checked in the State and Property Mapping Table -
ATK/AT-SPI - Role: ROLE_TOGGLE_BUTTON
- Object Attribute: xml-roles:switch
- See also: aria-checked in the State and Property Mapping Table -
AX API[Note 1] - AXRole: AXCheckBox
- AXSubrole: AXSwitch
- See also: aria-checked in the State and Property Mapping Table -
tab
tab
Computed Role -

tab

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_PAGETAB
- State: STATE_SYSTEM_SELECTED if focus is inside tabpanel associated with aria-labelledby -
UIA - Control Type: TabItem -
ATK/AT-SPI - Role: ROLE_PAGE_TAB
- State: STATE_SELECTED if focus is inside tabpanel associated with aria-labelledby -
AX API[Note 1] - AXRole: AXRadioButton
- AXSubrole: AXTabButton
-
table
table
Computed Role -

table

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_TABLE
- Object Attribute: xml-roles:table
- Interface: IAccessibleTable2 -
UIA - Control Type: Table
- Control Pattern: Grid
- Control Pattern: Table -
ATK/AT-SPI - Role: ROLE_TABLE
- Object Attribute: xml-roles:table
- Interface: Table -
AX API[Note 1] - AXRole: AXTable
- AXSubrole: <nil>
- AXColumnHeaderUIElements: a list of pointers to the columnheader elements
- AXHeader: a pointer to the row or group containing those columnheader elements
- AXRowHeaderUIElements: a list of pointers to the rowheader elements -
tablist
tablist
Computed Role -

tablist

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_PAGETABLIST
- Method: IAccessible::accSelect()
- Method: IAccessible::get_accSelection() -
UIA - Control Type: Tab
- Control Pattern: Selection -
ATK/AT-SPI - Role: ROLE_PAGE_TAB_LIST
- Interface: Selection -

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

-
AX API[Note 1] - AXRole: AXTabGroup
- AXSubrole: <nil>
-
tabpanel
tabpanel
Computed Role -

tabpanel

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_PANE or ROLE_SYSTEM_PROPERTYPAGE -
UIA - Control Type: Pane -
ATK/AT-SPI - Role: ROLE_SCROLL_PANE -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXTabPanel
-
term
term
Computed Role -

term

-
MSAA + IAccessible2 - Role: IA2_ROLE_TEXT_FRAME
- Object Attribute: xml-roles:term -
UIA - Control Type: Text
- Localized Control Type: term -
ATK/AT-SPI - Role: ROLE_DESCRIPTION_TERM -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXTerm
-
textbox when aria-multiline is false
textbox when aria-multiline is false
Computed Role -

textbox

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_TEXT
- State: IA2_STATE_SINGLE_LINE -
UIA - Control Type: Edit -
ATK/AT-SPI - Role: ROLE_ENTRY
- State: STATE_SINGLE_LINE
- Interface: EditableText if aria-readonly is not "true" -
AX API[Note 1] - AXRole: AXTextField
- AXSubrole: <nil>
-
textbox when aria-multiline is true
textbox when aria-multiline is true
Computed Role -

textbox

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_TEXT
- State: IA2_STATE_MULTI_LINE -
UIA - Control Type: Edit -
ATK/AT-SPI - Role: ROLE_ENTRY
- State: STATE_MULTI_LINE
- Interface: EditableText if aria-readonly is not "true" -
AX API[Note 1] - AXRole: AXTextArea
- AXSubrole: <nil>
-
time
time
Computed Role -

time

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_GROUPING
- Object Attribute: xml-roles:time -
UIA - Control Type: Text
- Localized Control Type: time
- Note: create a separate UIA Control of type Text. This is different from most UIA text mappings, which only create ranges in the page text pattern. -
ATK/AT-SPI - Role: ROLE_STATIC
- Object Attribute: xml-roles:time -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXTimeGroup
-
timer
timer
Computed Role -

timer

-
MSAA + IAccessible2 - Object Attribute: xml-roles:timer
- Object Attribute: container-live:off
- Object Attribute: live:off
- Object Attribute: container-live-role:timer -
UIA - Control Type: Group
- Localized Control Type: timer
- LiveSetting: Off (0) -
ATK/AT-SPI - Role: ROLE_TIMER
- Object Attribute: container-live:off
- Object Attribute: live:off
- Object Attribute: container-live-role:timer -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXApplicationTimer
-
toolbar
toolbar
Computed Role -

toolbar

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_TOOLBAR -
UIA - Control Type: ToolBar -
ATK/AT-SPI - Role: ROLE_TOOL_BAR -
AX API[Note 1] - AXRole: AXToolbar
- AXSubrole: <nil>
-
tooltip
tooltip
Computed Role -

tooltip

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_TOOLTIP -
UIA - Control Type: ToolTip -
ATK/AT-SPI - Role: ROLE_TOOL_TIP -
AX API[Note 1] - AXRole: AXGroup
- AXSubrole: AXUserInterfaceTooltip
-
tree
tree
Computed Role -

tree

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_OUTLINE
- Method: IAccessible::accSelect()
- Method: IAccessible::get_accSelection() -
UIA - Control Type: Tree -
ATK/AT-SPI - Role: ROLE_TREE
- Interface: Selection -

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

-
AX API[Note 1] - AXRole: AXOutline
- AXSubrole: <nil>
-
treegrid
treegrid
Computed Role -

treegrid

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_OUTLINE
- Interface: IAccessibleTable2
- Method: IAccessible::accSelect()
- Method: IAccessible::get_accSelection() -
UIA - Control Type: DataGrid -
ATK/AT-SPI - Role: ROLE_TREE_TABLE
- Interface: Table
- Interface: Selection -

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

-
AX API[Note 1] - AXRole: AXTable
- AXSubrole: <nil>
-
treeitem
treeitem
Computed Role -

treeitem

-
MSAA + IAccessible2 - Role: ROLE_SYSTEM_OUTLINEITEM
- See also: aria-checked in the State and Property Mapping Table -
UIA - Control Type: TreeItem
- See also: aria-checked in the State and Property Mapping Table -
ATK/AT-SPI - Role: ROLE_TREE_ITEM
- See also: aria-checked in the State and Property Mapping Table -
AX API[Note 1] - AXRole: AXRow
- AXSubrole: AXOutlineRow
- See also: aria-checked in the State and Property Mapping Table -
-
Note

+

4.4.3.1 alert
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + alert +
Computed Role +

alert

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_ALERT
+ Event: The user agent SHOULD fire EVENT_SYSTEM_ALERT. [Note 2] +
UIA + Control Type: Group
+ Localized Control Type: alert
+ LiveSetting: Assertive (2)
+ Event: The user agent SHOULD fire a system alert event. [Note 2] +
ATK/AT-SPI + Role: ROLE_NOTIFICATION
+ Event: The user agent SHOULD fire a system alert event. [Note 2] +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXApplicationAlert
+ Event: The user agent SHOULD fire a system alert event. [Note 2] +
+
4.4.3.2 alertdialog
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + alertdialog +
Computed Role +

alertdialog

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_DIALOG
+ Event: The user agent SHOULD fire EVENT_SYSTEM_ALERT. [Note 2] +
UIA + Control Type: Pane
+ Event: The user agent SHOULD fire a system alert event. [Note 2] +
ATK/AT-SPI + Role: ROLE_ALERT
+ Interface: Window
+ Event: The user agent SHOULD fire a system alert event. [Note 2] +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXApplicationAlertDialog
+ Event: The user agent SHOULD fire a system alert event. [Note 2] +
+
4.4.3.3 application
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + application +
Computed Role +

application

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_APPLICATION +
UIA + Control Type: Pane
+ Localized Control Type: application +
ATK/AT-SPI + Role: ROLE_EMBEDDED +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXWebApplication
+
+
4.4.3.4 article
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + article +
Computed Role +

article

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_DOCUMENT
+ State: STATE_SYSTEM_READONLY
+ Object Attribute: xml-roles:article +
UIA + Control Type: Group
+ Localized Control Type: article +
ATK/AT-SPI + Role: ROLE_ARTICLE
+ Object Attribute: xml-roles:article +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXDocumentArticle
+
+
4.4.3.6 blockquote
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + blockquote +
Computed Role +

blockquote

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GROUPING
+ Role: IA2_ROLE_BLOCK_QUOTE +
UIA + Control Type: Group
+ Localized Control Type: blockquote +
ATK/AT-SPI + Role: ROLE_BLOCK_QUOTE
+
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: <nil>
+
+
4.4.3.7 button with default values for aria-pressed and aria-haspopup
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + button with default values for aria-pressed and aria-haspopup +
Computed Role +

button

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_PUSHBUTTON +
UIA + Control Type: Button +
ATK/AT-SPI + Role: ROLE_PUSH_BUTTON +
AX API[Note 1] + AXRole: AXButton
+ AXSubrole: <nil>
+
+
4.4.3.8 button with non-false value for aria-haspopup
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + button with non-false value for aria-haspopup +
Computed Role +

button

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_BUTTONMENU +
UIA + Control Type: Button +
ATK/AT-SPI + Role: ROLE_PUSH_BUTTON +
AX API[Note 1] + AXRole: AXPopUpButton
+ AXSubrole: <nil>
+
+
4.4.3.9 button with defined value for aria-pressed
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + button with defined value for aria-pressed +
Computed Role +

button

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_PUSHBUTTON
+ Role: IA2_ROLE_TOGGLE_BUTTON +
UIA + Control Type: Button +
ATK/AT-SPI + Role: ROLE_TOGGLE_BUTTON +
AX API[Note 1] + AXRole: AXCheckBox
+ AXSubrole: AXToggle
+
+
4.4.3.10 caption
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + caption +
Computed Role +

caption

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GROUPING
+ Role: IA2_ROLE_CAPTION +
UIA + Control Type: Text +
ATK/AT-SPI + Role: ROLE_CAPTION +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: <nil>
+
+
4.4.3.11 cell
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + cell +
Computed Role +

cell

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_CELL
+ Interface: IAccessibleTableCell +
UIA + Control Type: DataItem
+ Localized Control Type: item
+ Control Pattern: GridItem
+ Control Pattern: TableItem +
ATK/AT-SPI + Role: ROLE_TABLE_CELL
+ Interface: TableCell +
AX API[Note 1] + AXRole: AXCell
+ AXSubrole: <nil>
+
+
4.4.3.12 checkbox
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + checkbox +
Computed Role +

checkbox

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_CHECKBUTTON
+ See also: aria-checked in the State and Property Mapping Tables +
UIA + Control Type: Checkbox
+ See also: aria-checked in the State and Property Mapping Tables +
ATK/AT-SPI + Role: ROLE_CHECK_BOX
+ See also: aria-checked in the State and Property Mapping Tables +
AX API[Note 1] + AXRole: AXCheckBox
+ AXSubrole: <nil>
+ See also: aria-checked in the State and Property Mapping Tables +
+
4.4.3.13 code
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + code +
Computed Role +

code

+
MSAA + IAccessible2 + Role: IA2_ROLE_TEXT_FRAME
+ Object Attribute: xml-roles:code +
UIA + Control Type: Text
+ Localized Control Type: code +
ATK/AT-SPI + Role: ROLE_STATIC
+ Object Attribute: xml-roles:code +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXCodeStyleGroup
+
+
4.4.3.14 columnheader
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + columnheader +
Computed Role +

columnheader

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_COLUMNHEADER
+ Interface: IAccessibleTableCell +
UIA + Control Type: DataItem
+ Localized Control Type: column header
+ Control Pattern: GridItem
+ Control Pattern: TableItem +
ATK/AT-SPI + Role: ROLE_COLUMN_HEADER
+ Interface: TableCell +
AX API[Note 1] + AXRole: AXCell
+ AXSubrole: <nil>
+
+
4.4.3.15 combobox
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + combobox +
Computed Role +

combobox

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_COMBOBOX
+ State: STATE_SYSTEM_HASPOPUP
+ State: STATE_SYSTEM_COLLAPSED if aria-expanded is not "true" +
UIA + Control Type: Combobox +
ATK/AT-SPI + Role: ROLE_COMBO_BOX
+ State: STATE_EXPANDABLE
+ State: STATE_HAS_POPUP +
AX API[Note 1] + AXRole: AXComboBox
+ AXSubrole: <nil>
+
+
4.4.3.16 comment
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + comment +
Computed Role +

comment

+
MSAA + IAccessible2 + Role: IA2_ROLE_COMMENT
+ Object Attribute: xml-roles:comment +
UIA + Control Type: Group
+ Localized Control Type: comment
+
ATK/AT-SPI + Role: ROLE_COMMENT
+ Object Attribute: xml-roles:comment +
AX API[Note 1] + AXRole: AXGroup
+
+
4.4.3.17 complementary
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + complementary +
Computed Role +

complementary

+
MSAA + IAccessible2 + Role: IA2_ROLE_LANDMARK
+ Object Attribute: xml-roles:complementary +
UIA + Control Type: Group
+ Localized Control Type: complementary
+ Landmark Type: Custom
+ Localized Landmark Type: complementary +
ATK/AT-SPI + Role: ROLE_LANDMARK
+ Object Attribute: xml-roles:complementary +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXLandmarkComplementary
+
+
4.4.3.18 contentinfo
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + contentinfo +
Computed Role +

contentinfo

+
MSAA + IAccessible2 + Role: IA2_ROLE_LANDMARK
+ Object Attribute: xml-roles:contentinfo +
UIA + Control Type: Group
+ Localized Control Type: content information
+ Landmark Type: Custom
+ Localized Landmark Type: content information +
ATK/AT-SPI + Role: ROLE_LANDMARK
+ Object Attribute: xml-roles:contentinfo +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXLandmarkContentInfo
+
+
4.4.3.19 definition
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + definition +
Computed Role +

definition

+
MSAA + IAccessible2 + Object Attribute: xml-roles:definition +
UIA + Control Type: Group
+ Localized Control Type: definition +
ATK/AT-SPI + Role: ROLE_DESCRIPTION_VALUE
+ Object Attribute: xml-roles:definition +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXDefinition
+
+
4.4.3.20 deletion
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + deletion +
Computed Role +

deletion

+
MSAA + IAccessible2 + Role: IA2_ROLE_CONTENT_DELETION +
UIA + Control Type: Text
+ Localized Control Type: deletion +
ATK/AT-SPI + Role: ROLE_CONTENT_DELETION
+ Object Attribute: xml-roles:deletion +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXDeleteStyleGroup
+ AXAttributedStringForTextMarkerRange: contains AXIsSuggestedDeletion = 1; for all text contained in a deletion +
+
4.4.3.21 dialog
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + dialog +
Computed Role +

dialog

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_DIALOG +
UIA + Control Type: Pane +
ATK/AT-SPI + Role: ROLE_DIALOG
+ Interface: Window +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXApplicationDialog
+
+
4.4.3.22 directory
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + directory +
Computed Role +

list

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_LIST +
UIA + Control Type: List +
ATK/AT-SPI + Role: ROLE_LIST +
AX API[Note 1] + AXRole: AXList
+ AXSubrole: AXContentList
+
+
4.4.3.23 document
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + document +
Computed Role +

document

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_DOCUMENT
+ State: STATE_SYSTEM_READONLY +
UIA + Control Type: Document +
ATK/AT-SPI + Role: ROLE_DOCUMENT_FRAME +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXDocument
+
+
4.4.3.24 emphasis
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + emphasis +
Computed Role +

emphasis

+
MSAA + IAccessible2 + Role: IA2_ROLE_TEXT_FRAME
+ Object Attribute: xml-roles:emphasis +
UIA + Control Type: Text
+ Localized Control Type: emphasis +
ATK/AT-SPI + Role: ROLE_STATIC
+ Object Attribute: xml-roles:emphasis +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXEmphasisStyleGroup
+
+
4.4.3.25 feed
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + feed +
Computed Role +

feed

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GROUPING
+ Object Attribute: xml-roles:feed +
UIA + Control Type: Group
+ Localized Control Type: feed +
ATK/AT-SPI + Role: ROLE_PANEL
+ Object Attribute: xml-roles:feed +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXApplicationGroup
+
+
4.4.3.26 figure
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + figure +
Computed Role +

figure

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GROUPING
+ Object Attribute: xml-roles:figure +
UIA + Control Type: Group
+ Localized Control Type: figure +
ATK/AT-SPI + Role: ROLE_PANEL
+ Object Attribute: xml-roles:figure +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: <nil>
+
+
4.4.3.27 form with an accessible name
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + form with an accessible name +
Computed Role +

form

+
MSAA + IAccessible2 + Role: IA2_ROLE_FORM
+ Object Attribute: xml-roles:form +
UIA + Control Type: Group
+ Localized Control Type: form
+ Landmark Type: Form +
ATK/AT-SPI + Role: ROLE_LANDMARK
+ Object Attribute: xml-roles:form +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXLandmarkForm
+
+
4.4.3.28 form without an accessible name
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + form without an accessible name +
Computed Role +

form

+
MSAA + IAccessible2 + Do not expose the element as a landmark. Use the native host language role of the element instead. +
UIA + Do not expose the element as a landmark. Use the native host language role of the element instead. +
ATK/AT-SPI + Do not expose the element as a landmark. Use the native host language role of the element instead. +
AX API[Note 1] + Do not expose the element as a landmark. Use the native host language role of the element instead. +
+
4.4.3.29 generic
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + generic +
Computed Role +

generic

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GROUPING
+ Role: IA2_ROLE_SECTION +
UIA + Control Type: Group +
ATK/AT-SPI + Role: ROLE_SECTION
+
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: <nil>
+
+
4.4.3.30 grid
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + grid +
Computed Role +

grid

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_TABLE
+ Object Attribute: xml-roles:grid
+ Interface: IAccessibleTable2
+ Method: IAccessible::accSelect()
+ Method: IAccessible::get_accSelection() +
UIA + Control Type: DataGrid
+ Control Pattern: Grid
+ Control Pattern: Table
+ Control Pattern: Selection +
ATK/AT-SPI + Role: ROLE_TABLE
+ Object Attribute: xml-roles:grid
+ Interface: Table
+ Interface: Selection +

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

+
AX API[Note 1] + AXRole: AXTable
+ AXSubrole: <nil>
+ AXColumnHeaderUIElements: a list of pointers to the columnheader elements
+ AXHeader: a pointer to the row or group containing those columnheader elements
+ AXRowHeaderUIElements: a list of pointers to the rowheader elements +
+
4.4.3.31 gridcell
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + gridcell +
Computed Role +

gridcell

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_CELL
+ Interface: IAccessibleTableCell +
UIA + Control Type: DataItem
+ Localized Control Type: item
+ Control Pattern: SelectionItem
+ Control Pattern: GridItem
+ Control Pattern: TableItem
+ SelectionItem.SelectionContainer: the containing grid +
ATK/AT-SPI + Role: ROLE_TABLE_CELL
+ Interface: TableCell +
AX API[Note 1] + AXRole: AXCell
+ AXSubrole: <nil>
+
+
4.4.3.32 group
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + group +
Computed Role +

group

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GROUPING +
UIA + Control Type: Group +
ATK/AT-SPI + Role: ROLE_PANEL +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXApplicationGroup
+
+
4.4.3.33 heading
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + heading +
Computed Role +

heading

+
MSAA + IAccessible2 + Role: IA2_ROLE_HEADING
+ Object Attribute: xml-roles:heading +
UIA + Control Type: Text
+ Localized Control Type: heading +
ATK/AT-SPI + Role: ROLE_HEADING +
AX API[Note 1] + AXRole: AXHeading
+ AXSubrole: <nil>
+
+
4.4.3.34 img
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + img +
Computed Role +

image

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GRAPHIC
+ Interface: IAccessibleImage +
UIA + Control Type: Image +
ATK/AT-SPI + Role: ROLE_IMAGE
+ Interface: Image +
AX API[Note 1] + AXRole: AXImage
+ AXSubrole: <nil>
+
+
4.4.3.35 insertion
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + insertion +
Computed Role +

insertion

+
MSAA + IAccessible2 + Role: IA2_ROLE_CONTENT_INSERTION +
UIA + Control Type: Text
+ Localized Control Type: insertion +
ATK/AT-SPI + Role: ROLE_CONTENT_INSERTION
+ Object Attribute: xml-roles:insertion +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXInsertStyleGroup
+ AXAttributedStringForTextMarkerRange: contains AXIsSuggestedInsertion = 1; for all text contained in a insertion +
+
4.4.3.37 list
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + list +
Computed Role +

list

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_LIST
+ State: STATE_SYSTEM_READONLY +
UIA + Control Type: List +
ATK/AT-SPI + Role: ROLE_LIST +
AX API[Note 1] + AXRole: AXList
+ AXSubrole: AXContentList
+
+
4.4.3.38 listbox not owned by or child of combobox
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + listbox not owned by or child of combobox +
Computed Role +

listbox

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_LIST
+ Method: IAccessible::accSelect()
+ Method: IAccessible::get_accSelection() +
UIA + Control Type: List
+ Control Pattern: Selection +
ATK/AT-SPI + Role: ROLE_LIST_BOX
+ Interface: Selection +

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

+
AX API[Note 1] + AXRole: AXList
+ AXSubrole: <nil>
+
+
4.4.3.39 listbox owned by or child of combobox
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + listbox owned by or child of combobox +
Computed Role +

listbox

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_LIST
+ Method: IAccessible::accSelect()
+ Method: IAccessible::get_accSelection() +
UIA + Control Type: List
+ Control Pattern: Selection +
ATK/AT-SPI + Role: ROLE_MENU
+ Interface: Selection +

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

+
AX API[Note 1] + AXRole: AXList
+ AXSubrole: <nil>
+
+
4.4.3.40 listitem
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + listitem +
Computed Role +

listitem

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_LISTITEM
+ State: STATE_SYSTEM_READONLY +
UIA + Control Type: ListItem
+ Control Pattern: SelectionItem
+ SelectionItem.SelectionContainer: the containing list +
ATK/AT-SPI + Role: ROLE_LIST_ITEM +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: <nil>
+
+
4.4.3.41 log
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + log +
Computed Role +

log

+
MSAA + IAccessible2 + Object Attribute: xml-roles:log
+ Object Attribute: container-live:polite
+ Object Attribute: live:polite
+ Object Attribute: container-live-role:log +
UIA + Control Type: Group
+ Localized Control Type: log
+ LiveSetting: Polite (1) +
ATK/AT-SPI + Role: ROLE_LOG
+ Object Attribute: xml-roles:log
+ Object Attribute: container-live:polite
+ Object Attribute: live:polite
+ Object Attribute: container-live-role:log +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXApplicationLog
+
+
4.4.3.42 main
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + main +
Computed Role +

main

+
MSAA + IAccessible2 + Role: IA2_ROLE_LANDMARK
+ Object Attribute: xml-roles:main +
UIA + Control Type: Group
+ Localized Control Type: main
+ Landmark Type: Main +
ATK/AT-SPI + Role: ROLE_LANDMARK
+ Object Attribute: xml-roles:main +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXLandmarkMain
+
+
4.4.3.43 mark
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + mark +
Computed Role +

mark

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GROUPING
+ Role: IA2_ROLE_MARK
+ Object Attribute: xml-roles:mark +
UIA + Control Type: Group +
ATK/AT-SPI + Role: ROLE_MARK
+ Object Attribute: xml-roles:mark +
AX API[Note 1] + AXRole: AXGroup
+ AXRoleDescription: highlight
+ AXAttributedStringForTextMarkerRange: contains AXHighlight = 1; for all text contained in a mark +
+
4.4.3.44 marquee
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + marquee +
Computed Role +

marquee

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_ANIMATION
+ Object Attribute: xml-roles:marquee
+ Object Attribute: container-live:off
+ Object Attribute: live:off +
UIA + Control Type: Group
+ Localized Control Type: marquee
+ LiveSetting: Off (0) +
ATK/AT-SPI + Role: ROLE_MARQUEE
+ Object Attribute: container-live:off
+ Object Attribute: live:off +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXApplicationMarquee
+
+
4.4.3.45 math
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + math +
Computed Role +

math

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_EQUATION +
UIA + Control Type: Group
+ Localized Control Type: math +
ATK/AT-SPI + Role: ROLE_MATH +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXDocumentMath
+
+
4.4.3.51 meter
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + meter +
Computed Role +

meter

+
MSAA + IAccessible2 + Role: IA2_ROLE_LEVEL_BAR
+ Interface: IAcesssibleValue +
UIA + Control Type: ProgressBar
+ Localized Control Type: meter
+ Control Pattern: RangeValue +
ATK/AT-SPI + Role: ROLE_LEVEL_BAR
+ Interface: Value +
AX API[Note 1] + AXRole: AXLevelIndicator
+ AXSubrole: AXMeter
+
+
4.4.3.53 none
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + none +
Computed Role +

none

+
MSAA + IAccessible2 +

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it as IA2_ROLE_TEXT_FRAME. user agents SHOULD prune empty descendants from the accessibility tree.

+
UIA +

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it using the text pattern. user agents SHOULD prune empty descendants from the accessibility tree.

+
ATK/AT-SPI +

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it as ROLE_SECTION. user agents SHOULD prune empty descendants from the accessibility tree.

+
AX API[Note 1] +

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it as AXGroup. user agents SHOULD prune empty descendants from the accessibility tree.

+
+
4.4.3.54 note
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + note +
Computed Role +

note

+
MSAA + IAccessible2 + Role: IA2_ROLE_NOTE +
UIA + Control Type: Group
+ Localized Control Type: note +
ATK/AT-SPI + Role: ROLE_COMMENT +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXDocumentNote
+
+
4.4.3.55 option not inside combobox
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + option not inside combobox +
Computed Role +

option

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_LISTITEM
+ See also: aria-checked in the State and Property Mapping Tables +
UIA + Control Type: ListItem
+ Control Pattern: Invoke
+ See also: aria-checked in the State and Property Mapping Tables +
ATK/AT-SPI + Role: ROLE_LIST_ITEM
+ See also: aria-checked in the State and Property Mapping Tables
+
AX API[Note 1] + AXRole: AXStaticText
+ AXSubrole: <nil>
+ See also: aria-checked in the State and Property Mapping Tables +
+
4.4.3.56 option inside combobox
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + option inside combobox +
Computed Role +

option

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_LISTITEM
+ See also: aria-checked in the State and Property Mapping Tables +
UIA + Control Type: ListItem
+ Control Pattern: Invoke
+ See also: aria-checked in the State and Property Mapping Tables +
ATK/AT-SPI + Role: ROLE_MENU_ITEM
+ See also: aria-checked in the State and Property Mapping Tables
+
AX API[Note 1] + AXRole: AXStaticText
+ AXSubrole: <nil>
+ See also: aria-checked in the State and Property Mapping Tables +
+
4.4.3.57 paragraph
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + paragraph +
Computed Role +

paragraph

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GROUPING
+ Role: IA2_ROLE_PARAGRAPH +
UIA + Control Type: Text +
ATK/AT-SPI + Role: ROLE_PARAGRAPH +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: <nil>
+
+
4.4.3.58 presentation
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + presentation +
Computed Role +

none

+
MSAA + IAccessible2 +

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it as IA2_ROLE_TEXT_FRAME. user agents SHOULD prune empty descendants from the accessibility tree.

+
UIA +

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it using the text pattern. user agents SHOULD prune empty descendants from the accessibility tree.

+
ATK/AT-SPI +

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it as ROLE_SECTION. user agents SHOULD prune empty descendants from the accessibility tree.

+
AX API[Note 1] +

For objects that have required owned descendants (e.g., a grid owns gridcells, a list owns listitems), and the descendant is in the accessibility tree, expose it as AXGroup. user agents SHOULD prune empty descendants from the accessibility tree.

+
+
4.4.3.59 progressbar
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + progressbar +
Computed Role +

progressbar

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_PROGRESSBAR
+ State: STATE_SYSTEM_READONLY
+ Interface: IAcesssibleValue +
UIA + Control Type: ProgressBar
+ Control Pattern: RangeValue if aria-valuenow, aria-valuemax, or aria-valuemin is present +
ATK/AT-SPI + Role: ROLE_PROGRESS_BAR
+ Interface: Value +

Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return false for all Value methods that provide a means to modify the value.

+
AX API[Note 1] + AXRole: AXProgressIndicator
+ AXSubrole: <nil>
+
+
4.4.3.60 radio
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + radio +
Computed Role +

radio

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_RADIOBUTTON
+ See also: aria-checked in the State and Property Mapping Tables +
UIA + Control Type: RadioButton
+ Control Pattern: Toggle
+ Control Pattern: SelectionItem
+ See also: aria-checked in the State and Property Mapping Tables +
ATK/AT-SPI + Role: ROLE_RADIO_BUTTON
+ See also: aria-checked in the State and Property Mapping Tables +
AX API[Note 1] + AXRole: AXRadioButton
+ AXSubrole: <nil>
+ See also: aria-checked in the State and Property Mapping Tables +
+
4.4.3.61 radiogroup
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + radiogroup +
Computed Role +

ragiogroup

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GROUPING +
UIA + Control Type: List +
ATK/AT-SPI + Role: ROLE_PANEL +
AX API[Note 1] + AXRole: AXRadioGroup
+ AXSubrole: <nil>
+
+
4.4.3.62 region with an accessible name
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + region with an accessible name +
Computed Role +

region

+
MSAA + IAccessible2 + Role: IA2_ROLE_LANDMARK
+ Object Attribute: xml-roles:region +
UIA + Control Type: Group
+ Localized Control Type: region
+ Landmark Type: Custom
+ Localized Landmark Type: region +
ATK/AT-SPI + Role: ROLE_LANDMARK
+ Object Attribute: xml-roles:region +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXLandmarkRegion
+
+
4.4.3.63 region without an accessible name
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + region without an accessible name +
Computed Role +

Use native host language role.

+
MSAA + IAccessible2 + Do not expose the element as a landmark. Use the native host language role of the element instead. +
UIA + Do not expose the element as a landmark. Use the native host language role of the element instead. +
ATK/AT-SPI + Do not expose the element as a landmark. Use the native host language role of the element instead. +
AX API[Note 1] + Do not expose the element as a landmark. Use the native host language role of the element instead. +
+
4.4.3.64 row not inside treegrid
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + row not inside treegrid +
Computed Role +

row

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_ROW +
UIA + Control Type: DataItem
+ Localized Control Type: row
+ Control Pattern: SelectionItem +
ATK/AT-SPI + Role: ROLE_TABLE_ROW +
AX API[Note 1] + AXRole: AXRow
+ AXSubrole: <nil>
+
+
4.4.3.65 row inside treegrid
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + row inside treegrid +
Computed Role +

treegrid

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_OUTLINEITEM +
UIA + Control Type: DataItem
+ Localized Control Type: row
+ Control Pattern: SelectionItem +
ATK/AT-SPI + Role: ROLE_TABLE_ROW +
AX API[Note 1] + AXRole: AXRow
+ AXSubrole: <nil>
+
+
4.4.3.66 rowgroup
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + rowgroup +
Computed Role +

rowgroup

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GROUPING +
UIA + Control Type: Group +
ATK/AT-SPI + Role: ROLE_PANEL +
AX API[Note 1] + Not mapped +
+
4.4.3.67 rowheader
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + rowheader +
Computed Role +

rowheader

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_ROWHEADER
+ Interface: IAccessibleTableCell +
UIA + Control Type: HeaderItem +
ATK/AT-SPI + Role: ROLE_ROW_HEADER
+ Interface: TableCell +
AX API[Note 1] + AXRole: AXCell
+ AXSubrole: <nil>
+
+
4.4.3.68 scrollbar
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + scrollbar +
Computed Role +

scrollbar

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_SCROLLBAR
+ Interface: IAcesssibleValue +
UIA + Control Type: ScrollBar
+ Control Pattern: RangeValue +
ATK/AT-SPI + Role: ROLE_SCROLL_BAR
+ Interface: Value +

Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return false for all Value methods that provide a means to modify the value.

+
AX API[Note 1] + AXRole: AXScrollBar
+ AXSubrole: <nil>
+
+
4.4.3.71 separator (non-focusable)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + separator (non-focusable) +
Computed Role +

seperator

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_SEPARATOR +
UIA + Control Type: Separator +
ATK/AT-SPI + Role: ROLE_SEPARATOR +
AX API[Note 1] + AXRole: AXSplitter
+ AXSubrole: <nil>
+
+
4.4.3.72 separator (focusable)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + separator (focusable) +
Computed Role +

seperator

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_SEPARATOR
+ Interface: IAccessibleValue +
UIA + Control Type: Thumb
+ Control Pattern: RangeValue +
ATK/AT-SPI + Role: ROLE_SEPARATOR
+ Interface: Value +

Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return false for all Value methods that provide a means to modify the value.

+
AX API[Note 1] + AXRole: AXSplitter
+ AXSubrole: <nil>
+
+
4.4.3.73 slider
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + slider +
Computed Role +

slider

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_SLIDER
+ Interface: IAcesssibleValue +
UIA + Control Type: Slider
+ Control Pattern: RangeValue +
ATK/AT-SPI + Role: ROLE_SLIDER
+ Interface: Value +

Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return false for all Value methods that provide a means to modify the value.

+
AX API[Note 1] + AXRole: AXSlider
+ AXSubrole: <nil>
+
+
4.4.3.74 spinbutton
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + spinbutton +
Computed Role +

spinbutton

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_SPINBUTTON
+ Interface: IAcesssibleValue +
UIA + Control Type: Spinner
+ Control Pattern: RangeValue +
ATK/AT-SPI + Role: ROLE_SPIN_BUTTON
+ Interface: Value +

Because WAI-ARIA does not support modifying the value via the accessibility API, user agents MUST return false for all Value methods that provide a means to modify the value.

+
AX API[Note 1] + AXRole: AXIncrementor
+ AXSubrole: <nil>
+
+
4.4.3.75 status
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + status +
Computed Role +

status

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_STATUSBAR
+ Object Attribute: container-live:polite
+ Object Attribute: live:polite
+ Object Attribute: container-live-role:status +
UIA + Control Type: Group
+ Localized Control Type: status
+ LiveSetting: Polite (1) +
ATK/AT-SPI + Role: ROLE_STATUSBAR
+ Object Attribute: container-live:polite
+ Object Attribute: live:polite
+ Object Attribute: container-live-role:status +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXApplicationStatus
+
+
4.4.3.76 strong
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + strong +
Computed Role +

strong

+
MSAA + IAccessible2 + Role: IA2_ROLE_TEXT_FRAME
+ Object Attribute: xml-roles:strong +
UIA + Control Type: Text
+ Localized Control Type: strong +
ATK/AT-SPI + Role: ROLE_STATIC
+ Object Attribute: xml-roles:strong +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXStrongStyleGroup
+
+
4.4.3.77 subscript
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + subscript +
Computed Role +

subscript

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GROUPING
+ Role: IA2_ROLE_TEXT_FRAME
+ Text Attribute: text-position:sub +
UIA + Control Type: Text
+ Styles used are exposed by IsSubscript attribute of the TextRange Control Pattern implemented on the accessible object. +
ATK/AT-SPI + Role: ROLE_SUBSCRIPT +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXSubscriptStyleGroup
+
+
4.4.3.78 suggestion
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + suggestion +
Computed Role +

suggestion

+
MSAA + IAccessible2 + Role: IA2_ROLE_SUGGESTION
+ Object Attribute: xml-roles:suggestion +
UIA + Control Type: Group
+ Localized Control Type: suggestion
+
ATK/AT-SPI + Role: ROLE_SUGGESTION
+ Object Attribute: xml-roles:suggestion +
AX API[Note 1] + AXRole: AXGroup
+ AXAttributedStringForTextMarkerRange: contains AXIsSuggestion = 1; for all text contained in a suggestion +
+
4.4.3.79 superscript
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + superscript +
Computed Role +

superscript

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GROUPING
+ Role: IA2_ROLE_TEXT_FRAME
+ Text Attribute: text-position:super +
UIA + Control Type: Text
+ Styles used are exposed by IsSuperscript attribute of the TextRange Control Pattern implemented on the accessible object. +
ATK/AT-SPI + Role: ROLE_SUPERSCRIPT +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXSuperscriptStyleGroup
+
+
4.4.3.80 switch
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + switch +
Computed Role +

switch

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_CHECKBUTTON
+ Role: IA2_ROLE_TOGGLE_BUTTON
+ Object Attribute: xml-roles:switch
+ See also: aria-checked in the State and Property Mapping Tables +
UIA + Control Type: Button
+ Localized Control Type: toggleswitch
+ Control Pattern: Toggle
+ See also: aria-checked in the State and Property Mapping Tables +
ATK/AT-SPI + Role: ROLE_TOGGLE_BUTTON
+ Object Attribute: xml-roles:switch
+ See also: aria-checked in the State and Property Mapping Tables +
AX API[Note 1] + AXRole: AXCheckBox
+ AXSubrole: AXSwitch
+ See also: aria-checked in the State and Property Mapping Tables +
+
4.4.3.81 tab
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + tab +
Computed Role +

tab

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_PAGETAB
+ State: STATE_SYSTEM_SELECTED if focus is inside tabpanel associated with aria-labelledby +
UIA + Control Type: TabItem +
ATK/AT-SPI + Role: ROLE_PAGE_TAB
+ State: STATE_SELECTED if focus is inside tabpanel associated with aria-labelledby +
AX API[Note 1] + AXRole: AXRadioButton
+ AXSubrole: AXTabButton
+
+
4.4.3.82 table
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + table +
Computed Role +

table

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_TABLE
+ Object Attribute: xml-roles:table
+ Interface: IAccessibleTable2 +
UIA + Control Type: Table
+ Control Pattern: Grid
+ Control Pattern: Table +
ATK/AT-SPI + Role: ROLE_TABLE
+ Object Attribute: xml-roles:table
+ Interface: Table +
AX API[Note 1] + AXRole: AXTable
+ AXSubrole: <nil>
+ AXColumnHeaderUIElements: a list of pointers to the columnheader elements
+ AXHeader: a pointer to the row or group containing those columnheader elements
+ AXRowHeaderUIElements: a list of pointers to the rowheader elements +
+
4.4.3.83 tablist
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + tablist +
Computed Role +

tablist

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_PAGETABLIST
+ Method: IAccessible::accSelect()
+ Method: IAccessible::get_accSelection() +
UIA + Control Type: Tab
+ Control Pattern: Selection +
ATK/AT-SPI + Role: ROLE_PAGE_TAB_LIST
+ Interface: Selection +

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

+
AX API[Note 1] + AXRole: AXTabGroup
+ AXSubrole: <nil>
+
+
4.4.3.84 tabpanel
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + tabpanel +
Computed Role +

tabpanel

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_PANE or ROLE_SYSTEM_PROPERTYPAGE +
UIA + Control Type: Pane +
ATK/AT-SPI + Role: ROLE_SCROLL_PANE +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXTabPanel
+
+
4.4.3.85 term
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + term +
Computed Role +

term

+
MSAA + IAccessible2 + Role: IA2_ROLE_TEXT_FRAME
+ Object Attribute: xml-roles:term +
UIA + Control Type: Text
+ Localized Control Type: term +
ATK/AT-SPI + Role: ROLE_DESCRIPTION_TERM +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXTerm
+
+
4.4.3.86 textbox when aria-multiline is false
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + textbox when aria-multiline is false +
Computed Role +

textbox

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_TEXT
+ State: IA2_STATE_SINGLE_LINE +
UIA + Control Type: Edit +
ATK/AT-SPI + Role: ROLE_ENTRY
+ State: STATE_SINGLE_LINE
+ Interface: EditableText if aria-readonly is not "true" +
AX API[Note 1] + AXRole: AXTextField
+ AXSubrole: <nil>
+
+
4.4.3.87 textbox when aria-multiline is true
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + textbox when aria-multiline is true +
Computed Role +

textbox

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_TEXT
+ State: IA2_STATE_MULTI_LINE +
UIA + Control Type: Edit +
ATK/AT-SPI + Role: ROLE_ENTRY
+ State: STATE_MULTI_LINE
+ Interface: EditableText if aria-readonly is not "true" +
AX API[Note 1] + AXRole: AXTextArea
+ AXSubrole: <nil>
+
+
4.4.3.88 time
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + time +
Computed Role +

time

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_GROUPING
+ Object Attribute: xml-roles:time +
UIA + Control Type: Text
+ Localized Control Type: time
+ Note: create a separate UIA Control of type Text. This is different from most UIA text mappings, which only create ranges in the page text pattern. +
ATK/AT-SPI + Role: ROLE_STATIC
+ Object Attribute: xml-roles:time +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXTimeGroup
+
+
4.4.3.89 timer
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + timer +
Computed Role +

timer

+
MSAA + IAccessible2 + Object Attribute: xml-roles:timer
+ Object Attribute: container-live:off
+ Object Attribute: live:off
+ Object Attribute: container-live-role:timer +
UIA + Control Type: Group
+ Localized Control Type: timer
+ LiveSetting: Off (0) +
ATK/AT-SPI + Role: ROLE_TIMER
+ Object Attribute: container-live:off
+ Object Attribute: live:off
+ Object Attribute: container-live-role:timer +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXApplicationTimer
+
+
4.4.3.90 toolbar
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + toolbar +
Computed Role +

toolbar

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_TOOLBAR +
UIA + Control Type: ToolBar +
ATK/AT-SPI + Role: ROLE_TOOL_BAR +
AX API[Note 1] + AXRole: AXToolbar
+ AXSubrole: <nil>
+
+
4.4.3.91 tooltip
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + tooltip +
Computed Role +

tooltip

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_TOOLTIP +
UIA + Control Type: ToolTip +
ATK/AT-SPI + Role: ROLE_TOOL_TIP +
AX API[Note 1] + AXRole: AXGroup
+ AXSubrole: AXUserInterfaceTooltip
+
+
4.4.3.92 tree
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + tree +
Computed Role +

tree

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_OUTLINE
+ Method: IAccessible::accSelect()
+ Method: IAccessible::get_accSelection() +
UIA + Control Type: Tree +
ATK/AT-SPI + Role: ROLE_TREE
+ Interface: Selection +

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

+
AX API[Note 1] + AXRole: AXOutline
+ AXSubrole: <nil>
+
+
4.4.3.93 treegrid
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + treegrid +
Computed Role +

treegrid

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_OUTLINE
+ Interface: IAccessibleTable2
+ Method: IAccessible::accSelect()
+ Method: IAccessible::get_accSelection() +
UIA + Control Type: DataGrid +
ATK/AT-SPI + Role: ROLE_TREE_TABLE
+ Interface: Table
+ Interface: Selection +

Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

+
AX API[Note 1] + AXRole: AXTable
+ AXSubrole: <nil>
+
+
4.4.3.94 treeitem
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + treeitem +
Computed Role +

treeitem

+
MSAA + IAccessible2 + Role: ROLE_SYSTEM_OUTLINEITEM
+ See also: aria-checked in the State and Property Mapping Tables +
UIA + Control Type: TreeItem
+ See also: aria-checked in the State and Property Mapping Tables +
ATK/AT-SPI + Role: ROLE_TREE_ITEM
+ See also: aria-checked in the State and Property Mapping Tables +
AX API[Note 1] + AXRole: AXRow
+ AXSubrole: AXOutlineRow
+ See also: aria-checked in the State and Property Mapping Tables +
+
Note

[Note 1] User agent should return a user-presentable, localized string value for the AXRoleDescription.

-
Note
+
Note

[Note 2] This specification does not currently contain guidance for when user agents should fire system alert events. Some guidance may be added to the specification at a later date but it will be a recommendation (SHOULD), not a requirement (MUST).

-
+

4.5 State and Property Mapping

@@ -4497,2770 +5265,3687 @@

Core Accessibility API Mappings 1.2

  1. User agents MUST compute managed states VISIBLE/INVISIBLE, SHOWING/OFFSCREEN, etc. This typically is done in the same way as for ordinary elements that do not have WAI-ARIA attributes present. The FOCUSABLE/FOCUSED states may be affected by aria-activedescendant.
  2. User agents MUST continue to expose native semantics in addition to WAI-ARIA state and property semantics except where an explicit WAI-ARIA override is allowed by the host language. For example, an HTML checkbox may have an aria-labelledby attribute but the native HTML semantics must still be exposed.
  3. -
  4. User agents MUST expose additional states for certain roles as defined in the Role Mapping Table.
  5. -
  6. User agents MUST compute states for the relevant WAI-ARIA attributes and map to the accessibility API as specified in the State and Property Mapping Table. To determine the relevant WAI-ARIA attributes, refer to the Definition of Roles [WAI-ARIA-1.2]]. Where the author has not provided values for required attributes, user agents SHOULD process as if the default value was provided.
  7. +
  8. User agents MUST expose additional states for certain roles as defined in the Role Mapping Tables.
  9. +
  10. User agents MUST compute states for the relevant WAI-ARIA attributes and map to the accessibility API as specified in the State and Property Mapping Tables. To determine the relevant WAI-ARIA attributes, refer to the Definition of Roles [WAI-ARIA-1.2]]. Where the author has not provided values for required attributes, user agents SHOULD process as if the default value was provided.
  11. Some WAI-ARIA properties are not global, and are only supported on certain roles. If a non-global WAI-ARIA state or property is used where it is not supported, user agents SHOULD NOT map the given WAI-ARIA property to the platform accessibility API. For example, if aria-checked="true" is specified on <div role="grid">, it should not be exposed in MSAA implementations as STATE_SYSTEM_CHECKED.
  12. When an explicit or inherited role of none or presentation is applied to an element, the user agent MUST implement the rules for the none or the presentation role defined in Accessible Rich Internet Applications (WAI-ARIA) 1.2 [WAI-ARIA-1.2]].
-

4.5.2 State and Property Mapping Table

+

4.5.2 State and Property Mapping Tables

4.5.2.1 Not Mapped

There are a number of occurrences in the table where a given state or property is declared "Not mapped". In some cases, this occurs for the default value of the state/property, and is equivalent to its absence. User agents might find it quicker to map the value than check to see if it is the default. For computational efficiency, user agents MAY expose the state or property value if doing so is equivalent to not mapping it. These cases are marked with an asterisk.

In other cases, it is mandatory that the state/property not be mapped, since exposing it implies a related affordance. An example is aria-grabbed. Its absence not only indicates that the accessible object is not grabbed, but further defines it as not grab-able. These cases are marked as "Not mapped" without an asterisk.

-
Note

Translators: For label text associated with the following table and its toggle buttons, see the mappingTableLabels object in the <head> section of this document.

-
aria-activedescendant
aria-activedescendant
MSAA + IAccessible2 - See Focus Changes. -
UIA - See Focus Changes. -
ATK/AT-SPI - See Focus Changes. -
AX API - See Focus Changes.
- Property: AXSelectedRows: pointer to active descendant node -
aria-atomic=true
aria-atomic=true
MSAA + IAccessible2 - Object Attribute: atomic:true
- Object Attribute: container-atomic:true
- Object Attribute: container-atomic:true on all descendants
- Relation: IA2_RELATION_MEMBER_OF pointing to this element (the atomic root)
- See also: Changes to document content or node visibility -
UIA - Property: AriaProperties.atomic: true
- See also: Changes to document content or node visibility -
ATK/AT-SPI - Object Attribute: atomic:true
- Object Attribute: container-atomic:true
- Object Attribute: container-atomic:true on all descendants
- Relation: RELATION_MEMBER_OF pointing to this element (the atomic root)
- See also: Changes to document content or node visibility -
AX API - Property: AXARIAAtomic: YES
- See also: Changes to document content or node visibility -
aria-atomic=false
aria-atomic=false
MSAA + IAccessible2 - Not mapped*, but if mapped:
- Object Attribute: atomic:false
- Object Attribute: container-atomic:false
- Object Attribute: container-atomic:false on all descendants
- Relation: IA2_RELATION_MEMBER_OF pointing to this element (the atomic root)
- See also: Changes to document content or node visibility -
UIA - Property: AriaProperties.atomic: false
- See also: Changes to document content or node visibility -
ATK/AT-SPI - Not mapped*, but if mapped:
- Object Attribute: atomic:false
- Object Attribute: container-atomic:false
- Object Attribute: container-atomic:false on all descendants
- Relation: RELATION_MEMBER_OF pointing to this element (the atomic root)
- See also: Changes to document content or node visibility -
AX API - Property: AXARIAAtomic: NO
- See also: Changes to document content or node visibility -
aria-autocomplete=inline, list, or both
aria-autocomplete=inline, list, or both
MSAA + IAccessible2 - Object Attribute: autocomplete:<value>
- State: IA2_STATE_SUPPORTS_AUTOCOMPLETION -
UIA - Not mapped -
ATK/AT-SPI - Object Attribute: autocomplete:<value>
- State: STATE_SUPPORTS_AUTOCOMPLETION -
AX API - Not mapped -
aria-autocomplete=none
aria-autocomplete=none
MSAA + IAccessible2 - Not mapped* -
UIA - Not mapped* -
ATK/AT-SPI - Not mapped* -
AX API - Not mapped* -
aria-braillelabel
aria-braillelabel
MSAA + IAccessible2 - Object Attribute: braillelabel:<value> -
UIA - Property: AriaProperties.braillelabel: <value> -
ATK/AT-SPI - Object Attribute: braillelabel:<value> -
AX API - Property: AXBrailleLabel -
aria-brailleroledescription
aria-brailleroledescription
MSAA + IAccessible2 - Object Attribute: brailleroledescription:<value> -
UIA - Property: AriaProperties.brailleroledescription: <value> -
ATK/AT-SPI - Object Attribute: brailleroledescription:<value> -
AX API - Property: AXBrailleRoleDescription -
aria-brailleroledescription is undefined or the empty string
aria-brailleroledescription is undefined or the empty string
MSAA + IAccessible2 - Not mapped -
UIA - Not mapped -
ATK/AT-SPI - Not mapped -
AX API - Not mapped -
aria-busy=true
aria-busy=true
MSAA + IAccessible2 - State: STATE_SYSTEM_BUSY -
UIA - Property: AriaProperties.busy: true -
ATK/AT-SPI - State: STATE_BUSY -
AX API - Property: AXElementBusy: YES -
aria-busy=false
aria-busy=false
MSAA + IAccessible2 - State: STATE_SYSTEM_BUSY not exposed -
UIA - Property: AriaProperties.busy: false -
ATK/AT-SPI - State: STATE_BUSY not exposed -
AX API - Property: AXElementBusy: NO -
aria-checked=true
aria-checked=true
MSAA + IAccessible2 - State: STATE_SYSTEM_CHECKED
- Object Attribute: checkable:true -
UIA - Property: Toggle.ToggleState: On (1)
- Property: SelectionItem.IsSelected: True for radio and menuitemradio -
ATK/AT-SPI - State: STATE_CHECKABLE
- State: STATE_CHECKED -
AX API - Property: AXValue: 1
- Property: AXMenuItemMarkChar: ✓ for menuitemcheckbox and menuitemradio -
aria-checked=false
aria-checked=false
MSAA + IAccessible2 - State: STATE_SYSTEM_CHECKED not exposed
- Object Attribute: checkable:true -
UIA - Property: Toggle.ToggleState: Off (0)
- Property: SelectionItem.IsSelected: False for radio and menuitemradio -
ATK/AT-SPI - State: STATE_CHECKABLE
- State: STATE_CHECKED not exposed -
AX API - Property: AXValue: 0
- Property: AXMenuItemMarkChar: <nil> for menuitemcheckbox and menuitemradio -
aria-checked=mixed
aria-checked=mixed
MSAA + IAccessible2 - State: STATE_SYSTEM_MIXED
- Object Attribute: checkable:true -
UIA - Property: Toggle.ToggleState: Indeterminate (2) -
ATK/AT-SPI - State: STATE_INDETERMINATE
- State: STATE_CHECKABLE
- State: STATE_CHECKED not exposed -
AX API - Property: AXValue: 2
- Property: AXMenuItemMarkChar: <nil> for menuitemcheckbox and menuitemradio -
aria-checked is undefined
aria-checked is undefined
MSAA + IAccessible2 - Not mapped -
UIA - Not mapped -
ATK/AT-SPI - Not mapped -
AX API - Not mapped -
aria-colcount
aria-colcount
MSAA + IAccessible2 - Object Attribute: colcount:<value>
- Method: IAccessible2::groupPosition(): similarItemsInGroup=<value> on cells and headers -
UIA - Property: Grid.ColumnCount: <value> -
ATK/AT-SPI - Object Attribute: colcount should contain the author-provided value.
- Method: atk_table_get_n_columns() should return the actual number of columns. -
AX API - Property: AXARIAColumnCount: <value> -
aria-colindex
aria-colindex
MSAA + IAccessible2 - Object Attribute: colindex:<value>
- Method: IAccessible2::groupPosition(): positionInGroup=<value> on cells and headers -
UIA - Property: GridItem.Column: <value> (zero-based) -
ATK/AT-SPI - Object Attribute: colindex should contain the author-provided value.
- Method: atk_table_cell_get_position() should return the actual (zero-based) column index. -
AX API - Property: AXARIAColumnIndex: <value> -
aria-colindextext
aria-colindextext
MSAA + IAccessible2 - Object Attribute: colindextext:<value> -
UIA - Property: AriaProperties.colindextext: <value> -
ATK/AT-SPI - Object Attribute: colindextext:<value> -
AX API - Property: TBD -
aria-colspan
aria-colspan
MSAA + IAccessible2 - Object Attribute: colspan:<value>
- Method: IAccessibleTableCell::columnExtent(): <value> -
UIA - Property: GridItem.ColumnSpan: <value> -
ATK/AT-SPI - Object Attribute: colspan should contain the author-provided value.
- Method: atk_table_cell_get_row_column_span() should return the actual column span. -
AX API - Property: AXColumnIndexRange.length: <value> -
aria-controls
aria-controls
MSAA + IAccessible2 - Relation: IA2_RELATION_CONTROLLER_FOR points to accessible nodes matching IDREFs
- Reverse Relation: IA2_RELATION_CONTROLLED_BY points to element
- See also: Mapping Additional Relations -
UIA - Property: ControllerFor: pointers to accessible nodes matching IDREFs -
ATK/AT-SPI - Relation: RELATION_CONTROLLER_FOR points to accessible nodes matching IDREFs
- Reverse Relation: RELATION_CONTROLLED_BY points to element
- See also: Mapping Additional Relations -
AX API - Property: AXLinkedUIElements: pointers to accessible nodes matching IDREFs -
aria-current with non-false allowed value
aria-current with non-false allowed value
MSAA + IAccessible2 - Object Attribute: current:<value> -
UIA - Property: AriaProperties.current: <value> -
ATK/AT-SPI - Object Attribute: current:<value>
- State: STATE_ACTIVE -
AX API - Property: AXARIACurrent: <value> -
aria-current with unrecognized value
aria-current with unrecognized value
MSAA + IAccessible2 - Object Attribute: current:true -
UIA - Property: AriaProperties.current: true -
ATK/AT-SPI - Object Attribute: current:true
- State: STATE_ACTIVE -
AX API - Property: AXARIACurrent: true -
aria-current is false or undefined
aria-current is false or undefined
MSAA + IAccessible2 - Not mapped* -
UIA - Not mapped* -
ATK/AT-SPI - Not mapped* -
AX API - Not mapped* -
aria-describedby
aria-describedby
MSAA + IAccessible2 - Property: accDescription: <value>
- Relation: IA2_RELATION_DESCRIBED_BY points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
- Reverse Relation: IA2_RELATION_DESCRIPTION_FOR points to element
- See also: Name Computation and Mapping Additional Relations -
UIA - Property: FullDescription: <value>
- Property: DescribedBy: points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
- See also: Name Computation -
ATK/AT-SPI - Property: Description: <value>
- Relation: RELATION_DESCRIBED_BY points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
- Reverse Relation: RELATION_DESCRIPTION_FOR points to element
- See also: Name Computation and Mapping Additional Relations -
AX API - In the accessibilityCustomContent API, expose as an AXCustomContent object with { label: "description" } and `value` set to the description string.
-- See also: Name Computation -
aria-description
aria-description
MSAA + IAccessible2 - Property: accDescription: <value>
- See also: Name Computation -
UIA - Property: FullDescription: <value>
- See also: Name Computation -
ATK/AT-SPI - Property: Description: <value>
- See also: Name Computation -
AX API - In the accessibilityCustomContent API, expose as an AXCustomContent object with { label: "description" } and `value` set to the description string.
- See also: Name Computation -
aria-details
aria-details
MSAA + IAccessible2 - Relation: IA2_RELATION_DETAILS points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
- Reverse Relation: IA2_RELATION_DETAILS_FOR points to element
- See also: Mapping Additional Relations -
UIA - Property: DescribedBy: points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree -
ATK/AT-SPI - Relation: RELATION_DETAILS points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
- Reverse Relation: RELATION_DETAILS_FOR points to element
- See also: Mapping Additional Relations -
AX API - Not mapped* -
aria-disabled=true
aria-disabled=true
MSAA + IAccessible2 - State: STATE_SYSTEM_UNAVAILABLE
- State: STATE_SYSTEM_UNAVAILABLE on all descendants with STATE_SYSTEM_FOCUSABLE -
UIA - Property: IsEnabled: false -
ATK/AT-SPI - State: STATE_ENABLED not exposed -
AX API - Property: AXEnabled: NO -
aria-disabled=false
aria-disabled=false
MSAA + IAccessible2 - State: STATE_SYSTEM_UNAVAILABLE not exposed -
UIA - Property: IsEnabled: true -
ATK/AT-SPI - State: STATE_ENABLED -
AX API - Property: AXEnabled: YES -
aria-dropeffect=copy, move, link, execute, or popup
aria-dropeffect=copy, move, link, execute, or popup
MSAA + IAccessible2 - Object Attribute: dropeffect:<value> -
UIA - Property: AriaProperties.dropeffect: <value> -
ATK/AT-SPI - Object Attribute: dropeffect:<value> -
AX API - array AXDropEffects -
aria-dropeffect=none
aria-dropeffect=none
MSAA + IAccessible2 - Object Attribute: dropeffect:none if there are no other valid tokens
- Not mapped* if not specified by the author -
UIA - Not mapped* -
ATK/AT-SPI - Object Attribute: dropeffect:none if there are no other valid tokens
- Not mapped* if not specified by the author -
AX API - Not mapped* -
aria-errormessage
aria-errormessage
MSAA + IAccessible2 - Relation: IA2_RELATION_ERROR points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
- Reverse Relation: IA2_RELATION_ERROR_FOR points to element
- See also: Mapping Additional Relations -
UIA - Property: ControllerFor: pointer to the target accessible object -
ATK/AT-SPI - Relation: RELATION_ERROR_MESSAGE points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
- Reverse Relation: RELATION_ERROR_FOR points to element
- See also: Mapping Additional Relations -
AX API - Property: AXErrorMessageElements: pointers to accessible nodes matching IDREFs -
aria-expanded=true
aria-expanded=true
MSAA + IAccessible2 - State: STATE_SYSTEM_EXPANDED -
UIA - Property: ExpandCollapse.ExpandCollapseState: Expanded -
ATK/AT-SPI - State: STATE_EXPANDABLE
- State: STATE_EXPANDED -
AX API - Property: AXExpanded: YES -
aria-expanded=false
aria-expanded=false
MSAA + IAccessible2 - State: STATE_SYSTEM_COLLAPSED -
UIA - Property: ExpandCollapse.ExpandCollapseState: Collapsed -
ATK/AT-SPI - State: STATE_EXPANDABLE
- State: STATE_EXPANDED not exposed -
AX API - Property: AXExpanded: NO -
aria-expanded is undefined
aria-expanded is undefined
MSAA + IAccessible2 - Not mapped -
UIA - Not mapped -
ATK/AT-SPI - Not mapped -
AX API - Not mapped -
aria-flowto
aria-flowto
MSAA + IAccessible2 - Relation: IA2_RELATION_FLOW_TO points to accessible nodes matching IDREFs
- Reverse Relation: IA2_RELATION_FLOW_FROM points to element
- See also: Mapping Additional Relations -
UIA - Property: FlowsTo: pointers to accessible nodes matching IDREFs -
ATK/AT-SPI - Relation: RELATION_FLOWS_TO points to accessible nodes matching IDREFs
- Reverse Relation: RELATION_FLOWS_FROM points to element
- See also: Mapping Additional Relations -
AX API - Property: AXLinkedUIElements: pointers to accessible nodes matching IDREFs -
aria-grabbed=true
aria-grabbed=true
MSAA + IAccessible2 - Object Attribute: grabbed:true -
UIA - Property: AriaProperties.grabbed: true -
ATK/AT-SPI - Object Attribute: grabbed:true -
AX API - Property: AXGrabbed: YES -
aria-grabbed=false
aria-grabbed=false
MSAA + IAccessible2 - Object Attribute: grabbed:false -
UIA - Property: AriaProperties.grabbed: false -
ATK/AT-SPI - Object Attribute: grabbed:false -
AX API - Property: AXGrabbed: NO -
aria-grabbed is undefined
aria-grabbed is undefined
MSAA + IAccessible2 - Not mapped -
UIA - Not mapped -
ATK/AT-SPI - Not mapped -
AX API - Not mapped -
aria-haspopup=true
aria-haspopup=true
MSAA + IAccessible2 - State: STATE_SYSTEM_HASPOPUP
- Object Attribute: haspopup:true -
UIA - Control Pattern: ExpandCollapse - See also: aria-expanded -
ATK/AT-SPI - State: STATE_HAS_POPUP
- Object Attribute: haspopup:true -
AX API - Property: Action: AXShowMenu -
aria-haspopup=false
aria-haspopup=false
MSAA + IAccessible2 - State: STATE_SYSTEM_HASPOPUP not exposed
- Object Attribute: haspopup:false -
UIA - Not mapped* -
ATK/AT-SPI - Not mapped* -
AX API - Not mapped* -
aria-haspopup=dialog
aria-haspopup=dialog
MSAA + IAccessible2 - State: STATE_SYSTEM_HASPOPUP
- Object Attribute: haspopup:dialog -
UIA - Control Pattern: ExpandCollapse
- See also: aria-expanded -
ATK/AT-SPI - State: STATE_HAS_POPUP
- Object Attribute: haspopup:dialog -
AX API - Action: AXShowMenu -
aria-haspopup=listbox
aria-haspopup=listbox
MSAA + IAccessible2 - State: STATE_SYSTEM_HASPOPUP
- Object Attribute: haspopup:listbox -
UIA - Control Pattern: ExpandCollapse
- See also: aria-expanded -
ATK/AT-SPI - State: STATE_HAS_POPUP
- Object Attribute: haspopup:listbox -
AX API - Action: AXShowMenu -
aria-haspopup=menu
aria-haspopup=menu
MSAA + IAccessible2 - State: STATE_SYSTEM_HASPOPUP
- Object Attribute: haspopup:menu -
UIA - Control Pattern: ExpandCollapse
- See also: aria-expanded -
ATK/AT-SPI - State: STATE_HAS_POPUP
- Object Attribute: haspopup:menu -
AX API - Action: AXShowMenu -
aria-haspopup=tree
aria-haspopup=tree
MSAA + IAccessible2 - State: STATE_SYSTEM_HASPOPUP
- Object Attribute: haspopup:tree -
UIA - Control Pattern: ExpandCollapse
- See also: aria-expanded -
ATK/AT-SPI - State: STATE_HAS_POPUP
- Object Attribute: haspopup:tree -
AX API - Action: AXShowMenu -
aria-hidden=true on unfocused element
aria-hidden=true on unfocused element
MSAA + IAccessible2 - Element SHOULD NOT be exposed
- See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification -
UIA - Element SHOULD NOT be exposed
- See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification -
ATK/AT-SPI - Element SHOULD NOT be exposed
- See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification -
AX API - Element SHOULD NOT be exposed
- See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification -
aria-hidden=true when element is focused or fires an accessibility event
aria-hidden=true when element is focused or fires an accessibility event
MSAA + IAccessible2 - Object Attribute: hidden:true
- See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification -
UIA - Property: AriaProperties.hidden: true
- See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification -
ATK/AT-SPI - Object Attribute: hidden:true
- See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification -
AX API - Not mapped
- See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification -
aria-hidden=false
aria-hidden=false
MSAA + IAccessible2 - Not mapped -
UIA - Not mapped -
ATK/AT-SPI - Not mapped -
AX API - Not mapped -
aria-invalid=true
aria-invalid=true
MSAA + IAccessible2 - State: IA2_STATE_INVALID_ENTRY
- Text Attribute: invalid:true -
UIA - Property: IsDataValidForForm: false -
ATK/AT-SPI - State: STATE_INVALID_ENTRY
- Text Attribute: invalid:true -
AX API - Property: AXInvalid: true -
aria-invalid=false
aria-invalid=false
MSAA + IAccessible2 - State: IA2_STATE_INVALID_ENTRY not exposed -
UIA - Property: IsDataValidForForm: true -
ATK/AT-SPI - State: STATE_INVALID_ENTRY not exposed -
AX API - Property: AXInvalid: false -
aria-invalid=spelling or grammar
aria-invalid=spelling or grammar
MSAA + IAccessible2 - State: IA2_STATE_INVALID_ENTRY
- Text Attribute: invalid:<value> -
UIA - Property: IsDataValidForForm: <value> -
ATK/AT-SPI - State: STATE_INVALID_ENTRY
- Text Attribute: invalid:<value> -
AX API - Property: AXInvalid: <value> -
aria-invalid with unrecognized value
aria-invalid with unrecognized value
MSAA + IAccessible2 - State: IA2_STATE_INVALID_ENTRY
- Text Attribute: invalid:true -
UIA - Property: IsDataValidForForm: false -
ATK/AT-SPI - State: STATE_INVALID_ENTRY
- Text Attribute: invalid:true -
AX API - Property: AXInvalid: true -
aria-keyshortcuts
aria-keyshortcuts
MSAA + IAccessible2 - Property: accKeyboardShortcut: <value> -
UIA - Property: AcceleratorKey: <value> -
ATK/AT-SPI - Object Attribute: keyshortcuts:<value> -
AX API - Property: AXKeyShortcutsValue: <value> -
aria-label
aria-label
MSAA + IAccessible2 - Property: accName: <value>
- See also: Name Computation -
UIA - Property: Name: <value>
- See also: Name Computation -
ATK/AT-SPI - Property: Name: <value>
- See also: Name Computation -
AX API - Property: AXDescription: <value>
- See also: Name Computation -
aria-labelledby
aria-labelledby
MSAA + IAccessible2 - Property: accName: <value>
- Relation: IA2_RELATION_LABELLED_BY points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
- Reverse Relation: IA2_RELATION_LABEL_FOR points to element
- See also: Name Computation and Mapping Additional Relations -
UIA - Property: Name: <value>
- Property: LabeledBy: points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
- See also: Name Computation -
ATK/AT-SPI - Property: Name: <value>
- Relation: RELATION_LABELLED_BY points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
- Reverse Relation: RELATION_LABEL_FOR points to element
- See also: Name Computation and Mapping Additional Relations -
AX API - Property: AXDescription: <value> if the value is not exposed visually
- Property: AXTitle: <value> if the value is exposed visually
- Property: AXTitleUIElement points to accessible node matching IDREF, if there is a single referenced element that is in the accessibility tree
- See also: Name Computation -
aria-level on non-heading
aria-level on non-heading
MSAA + IAccessible2 - Object Attribute: level:<value>
- - Method: IAccessible2::groupPosition(): groupLevel=<value> on roles that support aria-posinset and aria-setsize
- See also: groupPosition() -
UIA - Property: AriaProperties.level: <value> -
ATK/AT-SPI - Object Attribute: level:<value> -
AX API - Property: AXDisclosureLevel: <value> (zero-based), when used on an outline row (like a treeitem or group) -
aria-level on heading
aria-level on heading
MSAA + IAccessible2 - Object Attribute: level:<value> -
UIA - Property: AriaProperties.level: <value>
- Property: StyleId_Heading: <value> -
ATK/AT-SPI - Object Attribute: level:<value> -
AX API - Property: AXValue: <value> -
aria-live=assertive
aria-live=assertive
MSAA + IAccessible2 - Object Attribute: live:assertive
- Object Attribute: container-live:assertive
- Object Attribute: container-live:assertive on all descendants
- See also: Changes to document content or node visibility -
UIA - Property: LiveSetting: "assertive"
- See also: Changes to document content or node visibility -
ATK/AT-SPI - Object Attribute: live:assertive
- Object Attribute: container-live:assertive
- Object Attribute: container-live:assertive on all descendants
- See also: Changes to document content or node visibility -
AX API - Property: AXARIALive: "assertive"
- See also: Changes to document content or node visibility -
aria-live=polite
aria-live=polite
MSAA + IAccessible2 - Object Attribute: live:polite
- Object Attribute: container-live:polite
- Object Attribute: container-live:polite on all descendants
- See also: Changes to document content or node visibility -
UIA - Property: LiveSetting: "polite"
- See also: Changes to document content or node visibility -
ATK/AT-SPI - Object Attribute: live:polite
- Object Attribute: container-live:polite
- Object Attribute: container-live:polite on all descendants
- See also: Changes to document content or node visibility -
AX API - Property: AXARIALive: "polite"
- See also: Changes to document content or node visibility -
aria-live=off
aria-live=off
MSAA + IAccessible2 - Object Attribute: live:off
- Object Attribute: container-live:off
- Object Attribute: container-live:off on all descendants -
UIA - Property: LiveSetting: "off" -
ATK/AT-SPI - Object Attribute: live:off
- Object Attribute: container-live:off
- Object Attribute: container-live:off on all descendants
-
AX API - Property: AXARIALive: "off" -
aria-modal=true
aria-modal=true
MSAA + IAccessible2 - State: IA2_STATE_MODAL -
UIA - Property: Window.IsModal: true
-
ATK/AT-SPI - State: STATE_MODAL -
AX API - Prune the accessibility tree such that the background content is no longer exposed. No specific property is set on the accessible object that corresponds to the element with aria-modal="true". Only the tree whose root is that modal accessible object is exposed. -
aria-modal=false
aria-modal=false
MSAA + IAccessible2 - State: IA2_STATE_MODAL not exposed -
UIA - Property: Window.IsModal: false
-
ATK/AT-SPI - State: STATE_MODAL not exposed -
AX API - Grow the accessibility tree such that the background content is exposed. No specific property is set on the accessible object that corresponds to the element with aria-modal="false". -
aria-multiline=true
aria-multiline=true
MSAA + IAccessible2 - State: IA2_STATE_MULTI_LINE
- State: IA2_STATE_SINGLE_LINE not exposed -
UIA - Property: AriaProperties.multiline: true -
ATK/AT-SPI - State: STATE_MULTI_LINE
- State: STATE_SINGLE_LINE not exposed -
AX API - Not mapped
- See also: textbox in the Role Mapping Table -
aria-multiline=false
aria-multiline=false
MSAA + IAccessible2 - State: IA2_STATE_SINGLE_LINE
- State: IA2_STATE_MULTI_LINE not exposed -
UIA - Not mapped -
ATK/AT-SPI - State: STATE_SINGLE_LINE
- State: STATE_MULTI_LINE not exposed -
AX API - Not mapped
- See also: textbox in the Role Mapping Table -
aria-multiselectable=true
aria-multiselectable=true
MSAA + IAccessible2 - State: STATE_SYSTEM_MULTISELECTABLE
- State: STATE_SYSTEM_EXTSELECTABLE
- See also: Selection for details on accessibility events -
UIA - Property: Selection.CanSelectMultiple: true
- See also: Selection for details on accessibility events -
ATK/AT-SPI - State: STATE_MULTISELECTABLE
- See also: Selection for details on accessibility events -
AX API - Not mapped
- See also: Selection for details on accessibility events -
aria-multiselectable=false
aria-multiselectable=false
MSAA + IAccessible2 - State: STATE_SYSTEM_MULTISELECTABLE not exposed
- State: STATE_SYSTEM_EXTSELECTABLE not exposed
- See also: Selection for details on accessibility events -
UIA - Not mapped* -
ATK/AT-SPI - State: STATE_MULTISELECTABLE not exposed -
AX API - Not mapped* -
aria-orientation=horizontal
aria-orientation=horizontal
MSAA + IAccessible2 - State: IA2_STATE_HORIZONTAL
- State: IA2_STATE_VERTICAL not exposed -
UIA - Property: Orientation: horizontal -
ATK/AT-SPI - State: STATE_HORIZONTAL
- State: STATE_VERTICAL not exposed -
AX API - Property: AXOrientation: AXHorizontalOrientation -
aria-orientation=vertical
aria-orientation=vertical
MSAA + IAccessible2 - State: IA2_STATE_VERTICAL
- State: IA2_STATE_HORIZONTAL not exposed -
UIA - Property: Orientation: vertical -
ATK/AT-SPI - State: STATE_VERTICAL
- State: STATE_HORIZONTAL not exposed -
AX API - Property: AXOrientation: AXVerticalOrientation -
aria-orientation is undefined
aria-orientation is undefined
MSAA + IAccessible2 - Not mapped* -
UIA - Not mapped* -
ATK/AT-SPI - State: STATE_VERTICAL not exposed
- State: STATE_HORIZONTAL not exposed -
AX API - Property: AXOrientation: AXUnknownOrientation -
aria-owns
aria-owns
MSAA + IAccessible2 -

User agents MAY expose the elements that are referenced by this property as children of the current element. In which case, if multiple aria-owns relationships are found, use only the first one. If the accessibility tree is not modified, expose as:

- Relation: IA2_RELATION_NODE_PARENT_OF points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
- Reverse Relation: IA2_RELATION_NODE_CHILD_OF points to element
- See also: Mapping Additional Relations -
UIA - Expose the elements that are referenced by this property as children of the current element. If multiple aria-owns relationships are found, use only the first one. -
ATK/AT-SPI -

User agents MAY expose the elements that are referenced by this property as children of the current element. In which case, if multiple aria-owns relationships are found, use only the first one. If the accessibility tree is not modified, expose as:

- Relation: RELATION_NODE_PARENT_OF points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
- Reverse Relation: RELATION_NODE_CHILD_OF points to element
- See also: Mapping Additional Relations -
AX API - Property: AXOwns: pointers to accessible nodes matching IDREFs -
aria-placeholder
aria-placeholder
MSAA + IAccessible2 - Object Attribute: placeholder-text:<value> -
UIA - Property: HelpText: <value> -
ATK/AT-SPI - Object Attribute: placeholder-text:<value> -
AX API - Property: AXPlaceholderValue: <value> -
aria-posinset
aria-posinset
MSAA + IAccessible2 - Object Attribute: posinset:<value>
- See also: Group Position -
UIA - Property: AriaProperties.posinset: <value>
- See also: Group Position -
ATK/AT-SPI - Object Attribute: posinset:<value>
- See also: Group Position -
AX API - Property: AXARIAPosInSet: <value>
- See also: Group Position -
aria-pressed=true
aria-pressed=true
MSAA + IAccessible2 - State: STATE_SYSTEM_PRESSED
- See also: button with defined value for aria-pressed -
UIA - Property: Toggle.ToggleState: On (1) -
ATK/AT-SPI - State: STATE_PRESSED
- See also: button with defined value for aria-pressed -
AX API - Property: AXValue: 1
- See also: button with defined value for aria-pressed -
aria-pressed=mixed
aria-pressed=mixed
MSAA + IAccessible2 - State: STATE_SYSTEM_MIXED
- See also: button with defined value for aria-pressed -
UIA - Property: Toggle.ToggleState: Indeterminate (2) -
ATK/AT-SPI - State: STATE_INDETERMINATE
- See also: button with defined value for aria-pressed -
AX API - Property: AXValue: 2
- See also: button with defined value for aria-pressed -
aria-pressed=false
aria-pressed=false
MSAA + IAccessible2 - State: STATE_SYSTEM_PRESSED not exposed
- See also: button with defined value for aria-pressed -
UIA - Property: Toggle.ToggleState: Off (3) -
ATK/AT-SPI - State: STATE_PRESSED not exposed
- See also: button with defined value for aria-pressed -
AX API - Property: AXValue: 0
- See also: button with defined value for aria-pressed -
aria-pressed is undefined
aria-pressed is undefined
MSAA + IAccessible2 - Not mapped* -
UIA - Not mapped* -
ATK/AT-SPI - Not mapped* -
AX API - Not mapped* -
aria-readonly=true
aria-readonly=true
MSAA + IAccessible2 - State: STATE_SYSTEM_READONLY -
UIA - Property: Value.IsReadOnly: true -
ATK/AT-SPI - State: STATE_READ_ONLY
- State: STATE_EDITABLE not exposed on text input roles
- State: STATE_CHECKABLE not exposed on roles supporting aria-checked
- State: STATE_CHECKABLE not exposed on radio descendants when used on a radiogroup -
AX API - Method: AXUIElementIsAttributeSettable(AXValue): NO -
aria-readonly=false
aria-readonly=false
MSAA + IAccessible2 - State: STATE_SYSTEM_READONLY not exposed
- State: IA2_STATE_EDITABLE -
UIA - Property: Value.IsReadOnly: false -
ATK/AT-SPI - State: STATE_READ_ONLY not exposed -
AX API - Method: AXUIElementIsAttributeSettable(AXValue): YES -
aria-readonly is unspecified on gridcell
aria-readonly is unspecified on gridcell
MSAA + IAccessible2 - The gridcell MUST inherit any author-provided value for aria-readonly from the containing grid or treegrid. Expose the inherited value on the gridcell as described for aria-readonly="true" and aria-readonly="false". -
UIA - The gridcell MUST inherit any author-provided value for aria-readonly from the containing grid or treegrid. Expose the inherited value on the gridcell as described for aria-readonly="true" and aria-readonly="false". -
ATK/AT-SPI - The gridcell MUST inherit any author-provided value for aria-readonly from the containing grid or treegrid. Expose the inherited value on the gridcell as described for aria-readonly="true" and aria-readonly="false". -
AX API - The gridcell MUST inherit any author-provided value for aria-readonly from the containing grid or treegrid. Expose the inherited value on the gridcell as described for aria-readonly="true" and aria-readonly="false". -
aria-relevant
aria-relevant
MSAA + IAccessible2 - Object Attribute: relevant:<value>
- Object Attribute: container-relevant:<value>
- Object Attribute: container-relevant:<value> on all descendants
- See also: Changes to document content or node visibility -
UIA - Property: AriaProperties.relevant: <value>
- See also: Changes to document content or node visibility -
ATK/AT-SPI - Object Attribute: relevant:<value>
- Object Attribute: container-relevant:<value>
- Object Attribute: container-relevant:<value> on all descendants
- See also: Changes to document content or node visibility -
AX API - Property: AXARIARelevant: <value>
- See also: Changes to document content or node visibility -
aria-required=true
aria-required=true
MSAA + IAccessible2 - State: IA2_STATE_REQUIRED -
UIA - Property: IsRequiredForForm: true -
ATK/AT-SPI - State: STATE_REQUIRED -
AX API - Property: AXRequired: YES -
aria-required=false
aria-required=false
MSAA + IAccessible2 - Not mapped* -
UIA - Not mapped* -
ATK/AT-SPI - Not mapped* -
AX API - Not mapped* -
aria-roledescription
aria-roledescription
MSAA + IAccessible2 - Method: localizedExtendedRole(): <value> -
UIA - Localized Control Type: <value> -
ATK/AT-SPI - Object Attribute: roledescription:<value> -
AX API - Property: AXRoleDescription: <value> -
aria-roledescription is undefined or the empty string
aria-roledescription is undefined or the empty string
MSAA + IAccessible2 - Not mapped -
UIA - Localized Control Type is defined as that specified for the role of the element: based on the explicit role if the role attribute is provided; otherwise, based on the implicit role for the host language. -
ATK/AT-SPI - Not mapped -
AX API - AXRoleDescription is defined as that specified for the role of the element: based on the explicit role if the role attribute is provided; otherwise, based on the implicit role for the host language. -
aria-rowcount
aria-rowcount
MSAA + IAccessible2 - Object Attribute: rowcount:<value>
- Method: IAccessible2::groupPosition(): similarItemsInGroup=<value> on rows -
UIA - Property: Grid.RowCount: <value> -
ATK/AT-SPI - Object Attribute: rowcount should contain the author-provided value.
- Method: atk_table_get_n_rows() should return the actual number of rows. -
AX API - Property: AXARIARowCount: <value> -
aria-rowindex
aria-rowindex
MSAA + IAccessible2 - Object Attribute: rowindex:<value>
- Method: IAccessible2::groupPosition(): positionInGroup=<value> on rows -
UIA - Property: GridItem.Row: <value> (zero-based) -
ATK/AT-SPI - Object Attribute: rowindex should contain the author-provided value.
- Method: atk_table_cell_get_position() should return the actual (zero-based) row index. -
AX API - Property: AXARIARowIndex: <value> -
aria-rowindextext
aria-rowindextext
MSAA + IAccessible2 - Object Attribute: rowindextext:<value> -
UIA - Property: AriaProperties.rowindextext: <value> -
ATK/AT-SPI - Object Attribute: rowindextext:<value> -
AX API - Property: TBD -
aria-rowspan
aria-rowspan
MSAA + IAccessible2 - Object Attribute: rowspan:<value>
- Method: IAccessibleTableCell::rowExtent(): column=<value> -
UIA - Property: GridItem.RowSpan: <value> -
ATK/AT-SPI - Object Attribute: rowspan should contain the author-provided value.
- Method: atk_table_cell_get_row_column_span() should return the actual row span. -
AX API - Property: AXRowIndexRange.length: <value> -
aria-selected=true
aria-selected=true
MSAA + IAccessible2 - State: STATE_SYSTEM_SELECTABLE
- State: STATE_SYSTEM_SELECTED
- See also: Selection for details on accessibility events -
UIA - Property: SelectionItem.IsSelected: true -
ATK/AT-SPI - State: STATE_SELECTABLE
- State: STATE_SELECTED
- See also: Selection for details on accessibility events -
AX API - Property: AXSelected: YES -
aria-selected=false
aria-selected=false
MSAA + IAccessible2 - State: STATE_SYSTEM_SELECTABLE
- State: STATE_SYSTEM_SELECTED not exposed
- See also: Selection for details on accessibility events -
UIA - Property: SelectionItem.IsSelected: false -
ATK/AT-SPI - State: STATE_SELECTABLE
- State: STATE_SELECTED not exposed
- See also: Selection for details on accessibility events -
AX API - Property: AXSelected: NO -
aria-selected is undefined
aria-selected is undefined
MSAA + IAccessible2 - Not mapped -
UIA - Not mapped -
ATK/AT-SPI - Not mapped -
AX API - Not mapped -
aria-setsize
aria-setsize
MSAA + IAccessible2 - Object Attribute: setsize:<value>
- See also: Group Position -
UIA - Property: AriaProperties.setsize: <value>
- See also: Group Position -
ATK/AT-SPI -

If the author-provided value of aria-setsize is -1, the exposed value should be based on the number of objects in the DOM.

- Object Attribute: setsize:<value>
- State: STATE_INDETERMINATE if the author-provided value is -1
- See also: Group Position -
AX API - Property: AXARIASetSize: <value>
- See also: Group Position -
aria-sort=ascending
aria-sort=ascending
MSAA + IAccessible2 - Object Attribute: sort:ascending -
UIA - Property: AriaProperties.sort: ascending
- Property: ItemStatus: ascending if the element maps to HeaderItem Control Type -
ATK/AT-SPI - Object Attribute: sort:ascending -
AX API - Property: AXSortDirection: AXAscendingSortDirection -
aria-sort=descending
aria-sort=descending
MSAA + IAccessible2 - Object Attribute: sort:descending -
UIA - Property: AriaProperties.sort: descending
- Property: ItemStatus: descending if the element maps to HeaderItem Control Type -
ATK/AT-SPI - Object Attribute: sort:descending -
AX API - Property: AXSortDirection: AXDescendingSortDirection -
aria-sort=other
aria-sort=other
MSAA + IAccessible2 - Object Attribute: sort:other -
UIA - Property: AriaProperties.sort: other
- Property: ItemStatus: other if the element maps to HeaderItem Control Type -
ATK/AT-SPI - Object Attribute: sort:other -
AX API - Property: AXSortDirection: AXUnknownSortDirection -
aria-sort=none
aria-sort=none
MSAA + IAccessible2 - Object Attribute: sort:none, if the value is not unspecified -
UIA - Not mapped* -
ATK/AT-SPI - Object Attribute: sort:none, if the value is not unspecified -
AX API - Not mapped* -
aria-valuemax
aria-valuemax
MSAA + IAccessible2 - Method: IAccessibleValue::maximumValue(): <value>
- See also: Handling Author Errors for States and Properties -
UIA - Property: RangeValue.Maximum: <value>
- See also: Handling Author Errors for States and Properties -
ATK/AT-SPI - Method: atk_value_get_maximum_value(): <value>
- See also: Handling Author Errors for States and Properties -
AX API - Property: AXMaxValue: <value>
- See also: Handling Author Errors for States and Properties -
aria-valuemin
aria-valuemin
MSAA + IAccessible2 - Method: IAccessibleValue::minimumValue(): <value>
- See also: Handling Author Errors for States and Properties -
UIA - Property: RangeValue.Minimum: <value>
- See also: Handling Author Errors for States and Properties -
ATK/AT-SPI - Method: atk_value_get_minimum_value(): <value>
- See also: Handling Author Errors for States and Properties -
AX API - Property: AXMinValue: <value>
- See also: Handling Author Errors for States and Properties -
aria-valuenow
aria-valuenow
MSAA + IAccessible2 - Method: IAccessibleValue::currentValue(): <value>
- Method: IAccessible::get_accValue(): <value> if aria-valuetext is not defined
- See also: Handling Author Errors for States and Properties -
UIA - Property: RangeValue.Value: <value>
- See also: Handling Author Errors for States and Properties -
ATK/AT-SPI - Method: atk_value_get_current_value(): <value>
- See also: Handling Author Errors for States and Properties -
AX API - Property: AXValue: <value>
- See also: Handling Author Errors for States and Properties -
aria-valuetext
aria-valuetext
MSAA + IAccessible2 - Method: IAccessible::get_accValue(): <value>
- Object Attribute: valuetext:<value>
- See also: Handling Author Errors for States and Properties -
UIA - Property: Value.Value: <value>
- See also: Handling Author Errors for States and Properties -
ATK/AT-SPI - Object Attribute: valuetext:<value>
- See also: Handling Author Errors for States and Properties -
AX API - Property: AXValueDescription: <value>
- See also: Handling Author Errors for States and Properties -
-
+
4.5.2.2 aria-activedescendant
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-activedescendant +
MSAA + IAccessible2 + See Focus Changes. +
UIA + See Focus Changes. +
ATK/AT-SPI + See Focus Changes. +
AX API + See Focus Changes.
+ Property: AXSelectedRows: pointer to active descendant node +
+
4.5.2.3 aria-atomic=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-atomic=true +
MSAA + IAccessible2 + Object Attribute: atomic:true
+ Object Attribute: container-atomic:true
+ Object Attribute: container-atomic:true on all descendants
+ Relation: IA2_RELATION_MEMBER_OF pointing to this element (the atomic root)
+ See also: Changes to document content or node visibility +
UIA + Property: AriaProperties.atomic: true
+ See also: Changes to document content or node visibility +
ATK/AT-SPI + Object Attribute: atomic:true
+ Object Attribute: container-atomic:true
+ Object Attribute: container-atomic:true on all descendants
+ Relation: RELATION_MEMBER_OF pointing to this element (the atomic root)
+ See also: Changes to document content or node visibility +
AX API + Property: AXARIAAtomic: YES
+ See also: Changes to document content or node visibility +
+
4.5.2.4 aria-atomic=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-atomic=false +
MSAA + IAccessible2 + Not mapped*, but if mapped:
+ Object Attribute: atomic:false
+ Object Attribute: container-atomic:false
+ Object Attribute: container-atomic:false on all descendants
+ Relation: IA2_RELATION_MEMBER_OF pointing to this element (the atomic root)
+ See also: Changes to document content or node visibility +
UIA + Property: AriaProperties.atomic: false
+ See also: Changes to document content or node visibility +
ATK/AT-SPI + Not mapped*, but if mapped:
+ Object Attribute: atomic:false
+ Object Attribute: container-atomic:false
+ Object Attribute: container-atomic:false on all descendants
+ Relation: RELATION_MEMBER_OF pointing to this element (the atomic root)
+ See also: Changes to document content or node visibility +
AX API + Property: AXARIAAtomic: NO
+ See also: Changes to document content or node visibility +
+
4.5.2.5 aria-autocomplete=inline, list, or both
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-autocomplete=inline, list, or both +
MSAA + IAccessible2 + Object Attribute: autocomplete:<value>
+ State: IA2_STATE_SUPPORTS_AUTOCOMPLETION +
UIA + Not mapped +
ATK/AT-SPI + Object Attribute: autocomplete:<value>
+ State: STATE_SUPPORTS_AUTOCOMPLETION +
AX API + Not mapped +
+
4.5.2.6 aria-autocomplete=none
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-autocomplete=none +
MSAA + IAccessible2 + Not mapped* +
UIA + Not mapped* +
ATK/AT-SPI + Not mapped* +
AX API + Not mapped* +
+
4.5.2.7 aria-braillelabel
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-braillelabel +
MSAA + IAccessible2 + Object Attribute: braillelabel:<value> +
UIA + Property: AriaProperties.braillelabel: <value> +
ATK/AT-SPI + Object Attribute: braillelabel:<value> +
AX API + Property: AXBrailleLabel +
+
4.5.2.8 aria-brailleroledescription
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-brailleroledescription +
MSAA + IAccessible2 + Object Attribute: brailleroledescription:<value> +
UIA + Property: AriaProperties.brailleroledescription: <value> +
ATK/AT-SPI + Object Attribute: brailleroledescription:<value> +
AX API + Property: AXBrailleRoleDescription +
+
4.5.2.9 aria-brailleroledescription is undefined or the empty string
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-brailleroledescription is undefined or the empty string +
MSAA + IAccessible2 + Not mapped +
UIA + Not mapped +
ATK/AT-SPI + Not mapped +
AX API + Not mapped +
+
4.5.2.10 aria-busy=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-busy=true +
MSAA + IAccessible2 + State: STATE_SYSTEM_BUSY +
UIA + Property: AriaProperties.busy: true +
ATK/AT-SPI + State: STATE_BUSY +
AX API + Property: AXElementBusy: YES +
+
4.5.2.11 aria-busy=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-busy=false +
MSAA + IAccessible2 + State: STATE_SYSTEM_BUSY not exposed +
UIA + Property: AriaProperties.busy: false +
ATK/AT-SPI + State: STATE_BUSY not exposed +
AX API + Property: AXElementBusy: NO +
+
4.5.2.12 aria-checked=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-checked=true +
MSAA + IAccessible2 + State: STATE_SYSTEM_CHECKED
+ Object Attribute: checkable:true +
UIA + Property: Toggle.ToggleState: On (1)
+ Property: SelectionItem.IsSelected: True for radio and menuitemradio +
ATK/AT-SPI + State: STATE_CHECKABLE
+ State: STATE_CHECKED +
AX API + Property: AXValue: 1
+ Property: AXMenuItemMarkChar: ✓ for menuitemcheckbox and menuitemradio +
+
4.5.2.13 aria-checked=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-checked=false +
MSAA + IAccessible2 + State: STATE_SYSTEM_CHECKED not exposed
+ Object Attribute: checkable:true +
UIA + Property: Toggle.ToggleState: Off (0)
+ Property: SelectionItem.IsSelected: False for radio and menuitemradio +
ATK/AT-SPI + State: STATE_CHECKABLE
+ State: STATE_CHECKED not exposed +
AX API + Property: AXValue: 0
+ Property: AXMenuItemMarkChar: <nil> for menuitemcheckbox and menuitemradio +
+
4.5.2.14 aria-checked=mixed
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-checked=mixed +
MSAA + IAccessible2 + State: STATE_SYSTEM_MIXED
+ Object Attribute: checkable:true +
UIA + Property: Toggle.ToggleState: Indeterminate (2) +
ATK/AT-SPI + State: STATE_INDETERMINATE
+ State: STATE_CHECKABLE
+ State: STATE_CHECKED not exposed +
AX API + Property: AXValue: 2
+ Property: AXMenuItemMarkChar: <nil> for menuitemcheckbox and menuitemradio +
+
4.5.2.15 aria-checked is undefined
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-checked is undefined +
MSAA + IAccessible2 + Not mapped +
UIA + Not mapped +
ATK/AT-SPI + Not mapped +
AX API + Not mapped +
+
4.5.2.16 aria-colcount
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-colcount +
MSAA + IAccessible2 + Object Attribute: colcount:<value>
+ Method: IAccessible2::groupPosition(): similarItemsInGroup=<value> on cells and headers +
UIA + Property: Grid.ColumnCount: <value> +
ATK/AT-SPI + Object Attribute: colcount should contain the author-provided value.
+ Method: atk_table_get_n_columns() should return the actual number of columns. +
AX API + Property: AXARIAColumnCount: <value> +
+
4.5.2.17 aria-colindex
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-colindex +
MSAA + IAccessible2 + Object Attribute: colindex:<value>
+ Method: IAccessible2::groupPosition(): positionInGroup=<value> on cells and headers +
UIA + Property: GridItem.Column: <value> (zero-based) +
ATK/AT-SPI + Object Attribute: colindex should contain the author-provided value.
+ Method: atk_table_cell_get_position() should return the actual (zero-based) column index. +
AX API + Property: AXARIAColumnIndex: <value> +
+
4.5.2.18 aria-colindextext
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-colindextext +
MSAA + IAccessible2 + Object Attribute: colindextext:<value> +
UIA + Property: AriaProperties.colindextext: <value> +
ATK/AT-SPI + Object Attribute: colindextext:<value> +
AX API + Property: TBD +
+
4.5.2.19 aria-colspan
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-colspan +
MSAA + IAccessible2 + Object Attribute: colspan:<value>
+ Method: IAccessibleTableCell::columnExtent(): <value> +
UIA + Property: GridItem.ColumnSpan: <value> +
ATK/AT-SPI + Object Attribute: colspan should contain the author-provided value.
+ Method: atk_table_cell_get_row_column_span() should return the actual column span. +
AX API + Property: AXColumnIndexRange.length: <value> +
+
4.5.2.20 aria-controls
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-controls +
MSAA + IAccessible2 + Relation: IA2_RELATION_CONTROLLER_FOR points to accessible nodes matching IDREFs
+ Reverse Relation: IA2_RELATION_CONTROLLED_BY points to element
+ See also: Mapping Additional Relations +
UIA + Property: ControllerFor: pointers to accessible nodes matching IDREFs +
ATK/AT-SPI + Relation: RELATION_CONTROLLER_FOR points to accessible nodes matching IDREFs
+ Reverse Relation: RELATION_CONTROLLED_BY points to element
+ See also: Mapping Additional Relations +
AX API + Property: AXLinkedUIElements: pointers to accessible nodes matching IDREFs +
+
4.5.2.21 aria-current with non-false allowed value
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-current with non-false allowed value +
MSAA + IAccessible2 + Object Attribute: current:<value> +
UIA + Property: AriaProperties.current: <value> +
ATK/AT-SPI + Object Attribute: current:<value>
+ State: STATE_ACTIVE +
AX API + Property: AXARIACurrent: <value> +
+
4.5.2.22 aria-current with unrecognized value
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-current with unrecognized value +
MSAA + IAccessible2 + Object Attribute: current:true +
UIA + Property: AriaProperties.current: true +
ATK/AT-SPI + Object Attribute: current:true
+ State: STATE_ACTIVE +
AX API + Property: AXARIACurrent: true +
+
4.5.2.23 aria-current is false or undefined
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-current is false or undefined +
MSAA + IAccessible2 + Not mapped* +
UIA + Not mapped* +
ATK/AT-SPI + Not mapped* +
AX API + Not mapped* +
+
4.5.2.24 aria-describedby
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-describedby +
MSAA + IAccessible2 + Property: accDescription: <value>
+ Relation: IA2_RELATION_DESCRIBED_BY points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
+ Reverse Relation: IA2_RELATION_DESCRIPTION_FOR points to element
+ See also: Name Computation and Mapping Additional Relations +
UIA + Property: FullDescription: <value>
+ Property: DescribedBy: points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
+ See also: Name Computation +
ATK/AT-SPI + Property: Description: <value>
+ Relation: RELATION_DESCRIBED_BY points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
+ Reverse Relation: RELATION_DESCRIPTION_FOR points to element
+ See also: Name Computation and Mapping Additional Relations +
AX API + In the accessibilityCustomContent API, expose as an AXCustomContent object with { label: "description" } and `value` set to the description string.
+ - See also: Name Computation +
+
4.5.2.25 aria-description
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-description +
MSAA + IAccessible2 + Property: accDescription: <value>
+ See also: Name Computation +
UIA + Property: FullDescription: <value>
+ See also: Name Computation +
ATK/AT-SPI + Property: Description: <value>
+ See also: Name Computation +
AX API + In the accessibilityCustomContent API, expose as an AXCustomContent object with { label: "description" } and `value` set to the description string.
+ See also: Name Computation +
+
4.5.2.26 aria-details
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-details +
MSAA + IAccessible2 + Relation: IA2_RELATION_DETAILS points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
+ Reverse Relation: IA2_RELATION_DETAILS_FOR points to element
+ See also: Mapping Additional Relations +
UIA + Property: DescribedBy: points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree +
ATK/AT-SPI + Relation: RELATION_DETAILS points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
+ Reverse Relation: RELATION_DETAILS_FOR points to element
+ See also: Mapping Additional Relations +
AX API + Not mapped* +
+
4.5.2.27 aria-disabled=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-disabled=true +
MSAA + IAccessible2 + State: STATE_SYSTEM_UNAVAILABLE
+ State: STATE_SYSTEM_UNAVAILABLE on all descendants with STATE_SYSTEM_FOCUSABLE +
UIA + Property: IsEnabled: false +
ATK/AT-SPI + State: STATE_ENABLED not exposed +
AX API + Property: AXEnabled: NO +
+
4.5.2.28 aria-disabled=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-disabled=false +
MSAA + IAccessible2 + State: STATE_SYSTEM_UNAVAILABLE not exposed +
UIA + Property: IsEnabled: true +
ATK/AT-SPI + State: STATE_ENABLED +
AX API + Property: AXEnabled: YES +
+
4.5.2.30 aria-dropeffect=none
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-dropeffect=none +
MSAA + IAccessible2 + Object Attribute: dropeffect:none if there are no other valid tokens
+ Not mapped* if not specified by the author +
UIA + Not mapped* +
ATK/AT-SPI + Object Attribute: dropeffect:none if there are no other valid tokens
+ Not mapped* if not specified by the author +
AX API + Not mapped* +
+
4.5.2.31 aria-errormessage
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-errormessage +
MSAA + IAccessible2 + Relation: IA2_RELATION_ERROR points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
+ Reverse Relation: IA2_RELATION_ERROR_FOR points to element
+ See also: Mapping Additional Relations +
UIA + Property: ControllerFor: pointer to the target accessible object +
ATK/AT-SPI + Relation: RELATION_ERROR_MESSAGE points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
+ Reverse Relation: RELATION_ERROR_FOR points to element
+ See also: Mapping Additional Relations +
AX API + Property: AXErrorMessageElements: pointers to accessible nodes matching IDREFs +
+
4.5.2.32 aria-expanded=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-expanded=true +
MSAA + IAccessible2 + State: STATE_SYSTEM_EXPANDED +
UIA + Property: ExpandCollapse.ExpandCollapseState: Expanded +
ATK/AT-SPI + State: STATE_EXPANDABLE
+ State: STATE_EXPANDED +
AX API + Property: AXExpanded: YES +
+
4.5.2.33 aria-expanded=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-expanded=false +
MSAA + IAccessible2 + State: STATE_SYSTEM_COLLAPSED +
UIA + Property: ExpandCollapse.ExpandCollapseState: Collapsed +
ATK/AT-SPI + State: STATE_EXPANDABLE
+ State: STATE_EXPANDED not exposed +
AX API + Property: AXExpanded: NO +
+
4.5.2.34 aria-expanded is undefined
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-expanded is undefined +
MSAA + IAccessible2 + Not mapped +
UIA + Not mapped +
ATK/AT-SPI + Not mapped +
AX API + Not mapped +
+
4.5.2.35 aria-flowto
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-flowto +
MSAA + IAccessible2 + Relation: IA2_RELATION_FLOW_TO points to accessible nodes matching IDREFs
+ Reverse Relation: IA2_RELATION_FLOW_FROM points to element
+ See also: Mapping Additional Relations +
UIA + Property: FlowsTo: pointers to accessible nodes matching IDREFs +
ATK/AT-SPI + Relation: RELATION_FLOWS_TO points to accessible nodes matching IDREFs
+ Reverse Relation: RELATION_FLOWS_FROM points to element
+ See also: Mapping Additional Relations +
AX API + Property: AXLinkedUIElements: pointers to accessible nodes matching IDREFs +
+
4.5.2.36 aria-grabbed=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-grabbed=true +
MSAA + IAccessible2 + Object Attribute: grabbed:true +
UIA + Property: AriaProperties.grabbed: true +
ATK/AT-SPI + Object Attribute: grabbed:true +
AX API + Property: AXGrabbed: YES +
+
4.5.2.37 aria-grabbed=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-grabbed=false +
MSAA + IAccessible2 + Object Attribute: grabbed:false +
UIA + Property: AriaProperties.grabbed: false +
ATK/AT-SPI + Object Attribute: grabbed:false +
AX API + Property: AXGrabbed: NO +
+
4.5.2.38 aria-grabbed is undefined
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-grabbed is undefined +
MSAA + IAccessible2 + Not mapped +
UIA + Not mapped +
ATK/AT-SPI + Not mapped +
AX API + Not mapped +
+
4.5.2.39 aria-haspopup=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-haspopup=true +
MSAA + IAccessible2 + State: STATE_SYSTEM_HASPOPUP
+ Object Attribute: haspopup:true +
UIA + Control Pattern: ExpandCollapse + See also: aria-expanded +
ATK/AT-SPI + State: STATE_HAS_POPUP
+ Object Attribute: haspopup:true +
AX API + Property: Action: AXShowMenu +
+
4.5.2.40 aria-haspopup=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-haspopup=false +
MSAA + IAccessible2 + State: STATE_SYSTEM_HASPOPUP not exposed
+ Object Attribute: haspopup:false +
UIA + Not mapped* +
ATK/AT-SPI + Not mapped* +
AX API + Not mapped* +
+
4.5.2.41 aria-haspopup=dialog
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-haspopup=dialog +
MSAA + IAccessible2 + State: STATE_SYSTEM_HASPOPUP
+ Object Attribute: haspopup:dialog +
UIA + Control Pattern: ExpandCollapse
+ See also: aria-expanded +
ATK/AT-SPI + State: STATE_HAS_POPUP
+ Object Attribute: haspopup:dialog +
AX API + Action: AXShowMenu +
+
4.5.2.42 aria-haspopup=listbox
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-haspopup=listbox +
MSAA + IAccessible2 + State: STATE_SYSTEM_HASPOPUP
+ Object Attribute: haspopup:listbox +
UIA + Control Pattern: ExpandCollapse
+ See also: aria-expanded +
ATK/AT-SPI + State: STATE_HAS_POPUP
+ Object Attribute: haspopup:listbox +
AX API + Action: AXShowMenu +
+
4.5.2.43 aria-haspopup=menu
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-haspopup=menu +
MSAA + IAccessible2 + State: STATE_SYSTEM_HASPOPUP
+ Object Attribute: haspopup:menu +
UIA + Control Pattern: ExpandCollapse
+ See also: aria-expanded +
ATK/AT-SPI + State: STATE_HAS_POPUP
+ Object Attribute: haspopup:menu +
AX API + Action: AXShowMenu +
+
4.5.2.44 aria-haspopup=tree
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-haspopup=tree +
MSAA + IAccessible2 + State: STATE_SYSTEM_HASPOPUP
+ Object Attribute: haspopup:tree +
UIA + Control Pattern: ExpandCollapse
+ See also: aria-expanded +
ATK/AT-SPI + State: STATE_HAS_POPUP
+ Object Attribute: haspopup:tree +
AX API + Action: AXShowMenu +
+
4.5.2.45 aria-hidden=true on unfocused element
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-hidden=true on unfocused element +
MSAA + IAccessible2 + Element SHOULD NOT be exposed
+ See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification +
UIA + Element SHOULD NOT be exposed
+ See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification +
ATK/AT-SPI + Element SHOULD NOT be exposed
+ See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification +
AX API + Element SHOULD NOT be exposed
+ See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification +
+
4.5.2.46 aria-hidden=true when element is focused or fires an accessibility event
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-hidden=true when element is focused or fires an accessibility event +
MSAA + IAccessible2 + Object Attribute: hidden:true
+ See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification +
UIA + Property: AriaProperties.hidden: true
+ See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification +
ATK/AT-SPI + Object Attribute: hidden:true
+ See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification +
AX API + Not mapped
+ See also: Including Elements in the Accessibility Tree in the WAI-ARIA specification +
+
4.5.2.47 aria-hidden=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-hidden=false +
MSAA + IAccessible2 + Not mapped +
UIA + Not mapped +
ATK/AT-SPI + Not mapped +
AX API + Not mapped +
+
4.5.2.48 aria-invalid=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-invalid=true +
MSAA + IAccessible2 + State: IA2_STATE_INVALID_ENTRY
+ Text Attribute: invalid:true +
UIA + Property: IsDataValidForForm: false +
ATK/AT-SPI + State: STATE_INVALID_ENTRY
+ Text Attribute: invalid:true +
AX API + Property: AXInvalid: true +
+
4.5.2.49 aria-invalid=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-invalid=false +
MSAA + IAccessible2 + State: IA2_STATE_INVALID_ENTRY not exposed +
UIA + Property: IsDataValidForForm: true +
ATK/AT-SPI + State: STATE_INVALID_ENTRY not exposed +
AX API + Property: AXInvalid: false +
+
4.5.2.50 aria-invalid=spelling or grammar
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-invalid=spelling or grammar +
MSAA + IAccessible2 + State: IA2_STATE_INVALID_ENTRY
+ Text Attribute: invalid:<value> +
UIA + Property: IsDataValidForForm: <value> +
ATK/AT-SPI + State: STATE_INVALID_ENTRY
+ Text Attribute: invalid:<value> +
AX API + Property: AXInvalid: <value> +
+
4.5.2.51 aria-invalid with unrecognized value
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-invalid with unrecognized value +
MSAA + IAccessible2 + State: IA2_STATE_INVALID_ENTRY
+ Text Attribute: invalid:true +
UIA + Property: IsDataValidForForm: false +
ATK/AT-SPI + State: STATE_INVALID_ENTRY
+ Text Attribute: invalid:true +
AX API + Property: AXInvalid: true +
+
4.5.2.52 aria-keyshortcuts
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-keyshortcuts +
MSAA + IAccessible2 + Property: accKeyboardShortcut: <value> +
UIA + Property: AcceleratorKey: <value> +
ATK/AT-SPI + Object Attribute: keyshortcuts:<value> +
AX API + Property: AXKeyShortcutsValue: <value> +
+
4.5.2.53 aria-label
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-label +
MSAA + IAccessible2 + Property: accName: <value>
+ See also: Name Computation +
UIA + Property: Name: <value>
+ See also: Name Computation +
ATK/AT-SPI + Property: Name: <value>
+ See also: Name Computation +
AX API + Property: AXDescription: <value>
+ See also: Name Computation +
+
4.5.2.54 aria-labelledby
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-labelledby +
MSAA + IAccessible2 + Property: accName: <value>
+ Relation: IA2_RELATION_LABELLED_BY points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
+ Reverse Relation: IA2_RELATION_LABEL_FOR points to element
+ See also: Name Computation and Mapping Additional Relations +
UIA + Property: Name: <value>
+ Property: LabeledBy: points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
+ See also: Name Computation +
ATK/AT-SPI + Property: Name: <value>
+ Relation: RELATION_LABELLED_BY points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
+ Reverse Relation: RELATION_LABEL_FOR points to element
+ See also: Name Computation and Mapping Additional Relations +
AX API + Property: AXDescription: <value> if the value is not exposed visually
+ Property: AXTitle: <value> if the value is exposed visually
+ Property: AXTitleUIElement points to accessible node matching IDREF, if there is a single referenced element that is in the accessibility tree
+ See also: Name Computation +
+
4.5.2.55 aria-level on non-heading
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-level on non-heading +
MSAA + IAccessible2 + Object Attribute: level:<value>
+ Method: IAccessible2::groupPosition(): groupLevel=<value> on roles that support aria-posinset and aria-setsize
+ See also: groupPosition() +
UIA + Property: AriaProperties.level: <value> +
ATK/AT-SPI + Object Attribute: level:<value> +
AX API + Property: AXDisclosureLevel: <value> (zero-based), when used on an outline row (like a treeitem or group) +
+
4.5.2.56 aria-level on heading
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-level on heading +
MSAA + IAccessible2 + Object Attribute: level:<value> +
UIA + Property: AriaProperties.level: <value>
+ Property: StyleId_Heading: <value> +
ATK/AT-SPI + Object Attribute: level:<value> +
AX API + Property: AXValue: <value> +
+
4.5.2.57 aria-live=assertive
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-live=assertive +
MSAA + IAccessible2 + Object Attribute: live:assertive
+ Object Attribute: container-live:assertive
+ Object Attribute: container-live:assertive on all descendants
+ See also: Changes to document content or node visibility +
UIA + Property: LiveSetting: "assertive"
+ See also: Changes to document content or node visibility +
ATK/AT-SPI + Object Attribute: live:assertive
+ Object Attribute: container-live:assertive
+ Object Attribute: container-live:assertive on all descendants
+ See also: Changes to document content or node visibility +
AX API + Property: AXARIALive: "assertive"
+ See also: Changes to document content or node visibility +
+
4.5.2.58 aria-live=polite
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-live=polite +
MSAA + IAccessible2 + Object Attribute: live:polite
+ Object Attribute: container-live:polite
+ Object Attribute: container-live:polite on all descendants
+ See also: Changes to document content or node visibility +
UIA + Property: LiveSetting: "polite"
+ See also: Changes to document content or node visibility +
ATK/AT-SPI + Object Attribute: live:polite
+ Object Attribute: container-live:polite
+ Object Attribute: container-live:polite on all descendants
+ See also: Changes to document content or node visibility +
AX API + Property: AXARIALive: "polite"
+ See also: Changes to document content or node visibility +
+
4.5.2.59 aria-live=off
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-live=off +
MSAA + IAccessible2 + Object Attribute: live:off
+ Object Attribute: container-live:off
+ Object Attribute: container-live:off on all descendants +
UIA + Property: LiveSetting: "off" +
ATK/AT-SPI + Object Attribute: live:off
+ Object Attribute: container-live:off
+ Object Attribute: container-live:off on all descendants
+
AX API + Property: AXARIALive: "off" +
+
4.5.2.60 aria-modal=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-modal=true +
MSAA + IAccessible2 + State: IA2_STATE_MODAL +
UIA + Property: Window.IsModal: true
+
ATK/AT-SPI + State: STATE_MODAL +
AX API + Prune the accessibility tree such that the background content is no longer exposed. No specific property is set on the accessible object that corresponds to the element with aria-modal="true". Only the tree whose root is that modal accessible object is exposed. +
+
4.5.2.61 aria-modal=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-modal=false +
MSAA + IAccessible2 + State: IA2_STATE_MODAL not exposed +
UIA + Property: Window.IsModal: false
+
ATK/AT-SPI + State: STATE_MODAL not exposed +
AX API + Grow the accessibility tree such that the background content is exposed. No specific property is set on the accessible object that corresponds to the element with aria-modal="false". +
+
4.5.2.62 aria-multiline=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-multiline=true +
MSAA + IAccessible2 + State: IA2_STATE_MULTI_LINE
+ State: IA2_STATE_SINGLE_LINE not exposed +
UIA + Property: AriaProperties.multiline: true +
ATK/AT-SPI + State: STATE_MULTI_LINE
+ State: STATE_SINGLE_LINE not exposed +
AX API + Not mapped
+ See also: textbox in the Role Mapping Tables +
+
4.5.2.63 aria-multiline=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-multiline=false +
MSAA + IAccessible2 + State: IA2_STATE_SINGLE_LINE
+ State: IA2_STATE_MULTI_LINE not exposed +
UIA + Not mapped +
ATK/AT-SPI + State: STATE_SINGLE_LINE
+ State: STATE_MULTI_LINE not exposed +
AX API + Not mapped
+ See also: textbox in the Role Mapping Tables +
+
4.5.2.64 aria-multiselectable=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-multiselectable=true +
MSAA + IAccessible2 + State: STATE_SYSTEM_MULTISELECTABLE
+ State: STATE_SYSTEM_EXTSELECTABLE
+ See also: Selection for details on accessibility events +
UIA + Property: Selection.CanSelectMultiple: true
+ See also: Selection for details on accessibility events +
ATK/AT-SPI + State: STATE_MULTISELECTABLE
+ See also: Selection for details on accessibility events +
AX API + Not mapped
+ See also: Selection for details on accessibility events +
+
4.5.2.65 aria-multiselectable=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-multiselectable=false +
MSAA + IAccessible2 + State: STATE_SYSTEM_MULTISELECTABLE not exposed
+ State: STATE_SYSTEM_EXTSELECTABLE not exposed
+ See also: Selection for details on accessibility events +
UIA + Not mapped* +
ATK/AT-SPI + State: STATE_MULTISELECTABLE not exposed +
AX API + Not mapped* +
+
4.5.2.66 aria-orientation=horizontal
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-orientation=horizontal +
MSAA + IAccessible2 + State: IA2_STATE_HORIZONTAL
+ State: IA2_STATE_VERTICAL not exposed +
UIA + Property: Orientation: horizontal +
ATK/AT-SPI + State: STATE_HORIZONTAL
+ State: STATE_VERTICAL not exposed +
AX API + Property: AXOrientation: AXHorizontalOrientation +
+
4.5.2.67 aria-orientation=vertical
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-orientation=vertical +
MSAA + IAccessible2 + State: IA2_STATE_VERTICAL
+ State: IA2_STATE_HORIZONTAL not exposed +
UIA + Property: Orientation: vertical +
ATK/AT-SPI + State: STATE_VERTICAL
+ State: STATE_HORIZONTAL not exposed +
AX API + Property: AXOrientation: AXVerticalOrientation +
+
4.5.2.68 aria-orientation is undefined
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-orientation is undefined +
MSAA + IAccessible2 + Not mapped* +
UIA + Not mapped* +
ATK/AT-SPI + State: STATE_VERTICAL not exposed
+ State: STATE_HORIZONTAL not exposed +
AX API + Property: AXOrientation: AXUnknownOrientation +
+
4.5.2.69 aria-owns
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-owns +
MSAA + IAccessible2 +

User agents MAY expose the elements that are referenced by this property as children of the current element. In which case, if multiple aria-owns relationships are found, use only the first one. If the accessibility tree is not modified, expose as:

+ Relation: IA2_RELATION_NODE_PARENT_OF points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
+ Reverse Relation: IA2_RELATION_NODE_CHILD_OF points to element
+ See also: Mapping Additional Relations +
UIA + Expose the elements that are referenced by this property as children of the current element. If multiple aria-owns relationships are found, use only the first one. +
ATK/AT-SPI +

User agents MAY expose the elements that are referenced by this property as children of the current element. In which case, if multiple aria-owns relationships are found, use only the first one. If the accessibility tree is not modified, expose as:

+ Relation: RELATION_NODE_PARENT_OF points to accessible nodes matching IDREFs, if the referenced objects are in the accessibility tree
+ Reverse Relation: RELATION_NODE_CHILD_OF points to element
+ See also: Mapping Additional Relations +
AX API + Property: AXOwns: pointers to accessible nodes matching IDREFs +
+
4.5.2.70 aria-placeholder
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-placeholder +
MSAA + IAccessible2 + Object Attribute: placeholder-text:<value> +
UIA + Property: HelpText: <value> +
ATK/AT-SPI + Object Attribute: placeholder-text:<value> +
AX API + Property: AXPlaceholderValue: <value> +
+
4.5.2.71 aria-posinset
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-posinset +
MSAA + IAccessible2 + Object Attribute: posinset:<value>
+ See also: Group Position +
UIA + Property: AriaProperties.posinset: <value>
+ See also: Group Position +
ATK/AT-SPI + Object Attribute: posinset:<value>
+ See also: Group Position +
AX API + Property: AXARIAPosInSet: <value>
+ See also: Group Position +
+
4.5.2.72 aria-pressed=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-pressed=true +
MSAA + IAccessible2 + State: STATE_SYSTEM_PRESSED
+ See also: button with defined value for aria-pressed +
UIA + Property: Toggle.ToggleState: On (1) +
ATK/AT-SPI + State: STATE_PRESSED
+ See also: button with defined value for aria-pressed +
AX API + Property: AXValue: 1
+ See also: button with defined value for aria-pressed +
+
4.5.2.73 aria-pressed=mixed
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-pressed=mixed +
MSAA + IAccessible2 + State: STATE_SYSTEM_MIXED
+ See also: button with defined value for aria-pressed +
UIA + Property: Toggle.ToggleState: Indeterminate (2) +
ATK/AT-SPI + State: STATE_INDETERMINATE
+ See also: button with defined value for aria-pressed +
AX API + Property: AXValue: 2
+ See also: button with defined value for aria-pressed +
+
4.5.2.74 aria-pressed=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-pressed=false +
MSAA + IAccessible2 + State: STATE_SYSTEM_PRESSED not exposed
+ See also: button with defined value for aria-pressed +
UIA + Property: Toggle.ToggleState: Off (3) +
ATK/AT-SPI + State: STATE_PRESSED not exposed
+ See also: button with defined value for aria-pressed +
AX API + Property: AXValue: 0
+ See also: button with defined value for aria-pressed +
+
4.5.2.75 aria-pressed is undefined
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-pressed is undefined +
MSAA + IAccessible2 + Not mapped* +
UIA + Not mapped* +
ATK/AT-SPI + Not mapped* +
AX API + Not mapped* +
+
4.5.2.76 aria-readonly=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-readonly=true +
MSAA + IAccessible2 + State: STATE_SYSTEM_READONLY +
UIA + Property: Value.IsReadOnly: true +
ATK/AT-SPI + State: STATE_READ_ONLY
+ State: STATE_EDITABLE not exposed on text input roles
+ State: STATE_CHECKABLE not exposed on roles supporting aria-checked
+ State: STATE_CHECKABLE not exposed on radio descendants when used on a radiogroup +
AX API + Method: AXUIElementIsAttributeSettable(AXValue): NO +
+
4.5.2.77 aria-readonly=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-readonly=false +
MSAA + IAccessible2 + State: STATE_SYSTEM_READONLY not exposed
+ State: IA2_STATE_EDITABLE +
UIA + Property: Value.IsReadOnly: false +
ATK/AT-SPI + State: STATE_READ_ONLY not exposed +
AX API + Method: AXUIElementIsAttributeSettable(AXValue): YES +
+
4.5.2.78 aria-readonly is unspecified on gridcell
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-readonly is unspecified on gridcell +
MSAA + IAccessible2 + The gridcell MUST inherit any author-provided value for aria-readonly from the containing grid or treegrid. Expose the inherited value on the gridcell as described for aria-readonly="true" and aria-readonly="false". +
UIA + The gridcell MUST inherit any author-provided value for aria-readonly from the containing grid or treegrid. Expose the inherited value on the gridcell as described for aria-readonly="true" and aria-readonly="false". +
ATK/AT-SPI + The gridcell MUST inherit any author-provided value for aria-readonly from the containing grid or treegrid. Expose the inherited value on the gridcell as described for aria-readonly="true" and aria-readonly="false". +
AX API + The gridcell MUST inherit any author-provided value for aria-readonly from the containing grid or treegrid. Expose the inherited value on the gridcell as described for aria-readonly="true" and aria-readonly="false". +
+
4.5.2.79 aria-relevant
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-relevant +
MSAA + IAccessible2 + Object Attribute: relevant:<value>
+ Object Attribute: container-relevant:<value>
+ Object Attribute: container-relevant:<value> on all descendants
+ See also: Changes to document content or node visibility +
UIA + Property: AriaProperties.relevant: <value>
+ See also: Changes to document content or node visibility +
ATK/AT-SPI + Object Attribute: relevant:<value>
+ Object Attribute: container-relevant:<value>
+ Object Attribute: container-relevant:<value> on all descendants
+ See also: Changes to document content or node visibility +
AX API + Property: AXARIARelevant: <value>
+ See also: Changes to document content or node visibility +
+
4.5.2.80 aria-required=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-required=true +
MSAA + IAccessible2 + State: IA2_STATE_REQUIRED +
UIA + Property: IsRequiredForForm: true +
ATK/AT-SPI + State: STATE_REQUIRED +
AX API + Property: AXRequired: YES +
+
4.5.2.81 aria-required=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-required=false +
MSAA + IAccessible2 + Not mapped* +
UIA + Not mapped* +
ATK/AT-SPI + Not mapped* +
AX API + Not mapped* +
+
4.5.2.82 aria-roledescription
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-roledescription +
MSAA + IAccessible2 + Method: localizedExtendedRole(): <value> +
UIA + Localized Control Type: <value> +
ATK/AT-SPI + Object Attribute: roledescription:<value> +
AX API + Property: AXRoleDescription: <value> +
+
4.5.2.83 aria-roledescription is undefined or the empty string
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-roledescription is undefined or the empty string +
MSAA + IAccessible2 + Not mapped +
UIA + Localized Control Type is defined as that specified for the role of the element: based on the explicit role if the role attribute is provided; otherwise, based on the implicit role for the host language. +
ATK/AT-SPI + Not mapped +
AX API + AXRoleDescription is defined as that specified for the role of the element: based on the explicit role if the role attribute is provided; otherwise, based on the implicit role for the host language. +
+
4.5.2.84 aria-rowcount
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-rowcount +
MSAA + IAccessible2 + Object Attribute: rowcount:<value>
+ Method: IAccessible2::groupPosition(): similarItemsInGroup=<value> on rows +
UIA + Property: Grid.RowCount: <value> +
ATK/AT-SPI + Object Attribute: rowcount should contain the author-provided value.
+ Method: atk_table_get_n_rows() should return the actual number of rows. +
AX API + Property: AXARIARowCount: <value> +
+
4.5.2.85 aria-rowindex
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-rowindex +
MSAA + IAccessible2 + Object Attribute: rowindex:<value>
+ Method: IAccessible2::groupPosition(): positionInGroup=<value> on rows +
UIA + Property: GridItem.Row: <value> (zero-based) +
ATK/AT-SPI + Object Attribute: rowindex should contain the author-provided value.
+ Method: atk_table_cell_get_position() should return the actual (zero-based) row index. +
AX API + Property: AXARIARowIndex: <value> +
+
4.5.2.86 aria-rowindextext
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-rowindextext +
MSAA + IAccessible2 + Object Attribute: rowindextext:<value> +
UIA + Property: AriaProperties.rowindextext: <value> +
ATK/AT-SPI + Object Attribute: rowindextext:<value> +
AX API + Property: TBD +
+
4.5.2.87 aria-rowspan
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-rowspan +
MSAA + IAccessible2 + Object Attribute: rowspan:<value>
+ Method: IAccessibleTableCell::rowExtent(): column=<value> +
UIA + Property: GridItem.RowSpan: <value> +
ATK/AT-SPI + Object Attribute: rowspan should contain the author-provided value.
+ Method: atk_table_cell_get_row_column_span() should return the actual row span. +
AX API + Property: AXRowIndexRange.length: <value> +
+
4.5.2.88 aria-selected=true
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-selected=true +
MSAA + IAccessible2 + State: STATE_SYSTEM_SELECTABLE
+ State: STATE_SYSTEM_SELECTED
+ See also: Selection for details on accessibility events +
UIA + Property: SelectionItem.IsSelected: true +
ATK/AT-SPI + State: STATE_SELECTABLE
+ State: STATE_SELECTED
+ See also: Selection for details on accessibility events +
AX API + Property: AXSelected: YES +
+
4.5.2.89 aria-selected=false
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-selected=false +
MSAA + IAccessible2 + State: STATE_SYSTEM_SELECTABLE
+ State: STATE_SYSTEM_SELECTED not exposed
+ See also: Selection for details on accessibility events +
UIA + Property: SelectionItem.IsSelected: false +
ATK/AT-SPI + State: STATE_SELECTABLE
+ State: STATE_SELECTED not exposed
+ See also: Selection for details on accessibility events +
AX API + Property: AXSelected: NO +
+
4.5.2.90 aria-selected is undefined
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-selected is undefined +
MSAA + IAccessible2 + Not mapped +
UIA + Not mapped +
ATK/AT-SPI + Not mapped +
AX API + Not mapped +
+
4.5.2.91 aria-setsize
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-setsize +
MSAA + IAccessible2 + Object Attribute: setsize:<value>
+ See also: Group Position +
UIA + Property: AriaProperties.setsize: <value>
+ See also: Group Position +
ATK/AT-SPI +

If the author-provided value of aria-setsize is -1, the exposed value should be based on the number of objects in the DOM.

+ Object Attribute: setsize:<value>
+ State: STATE_INDETERMINATE if the author-provided value is -1
+ See also: Group Position +
AX API + Property: AXARIASetSize: <value>
+ See also: Group Position +
+
4.5.2.92 aria-sort=ascending
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-sort=ascending +
MSAA + IAccessible2 + Object Attribute: sort:ascending +
UIA + Property: AriaProperties.sort: ascending
+ Property: ItemStatus: ascending if the element maps to HeaderItem Control Type +
ATK/AT-SPI + Object Attribute: sort:ascending +
AX API + Property: AXSortDirection: AXAscendingSortDirection +
+
4.5.2.93 aria-sort=descending
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-sort=descending +
MSAA + IAccessible2 + Object Attribute: sort:descending +
UIA + Property: AriaProperties.sort: descending
+ Property: ItemStatus: descending if the element maps to HeaderItem Control Type +
ATK/AT-SPI + Object Attribute: sort:descending +
AX API + Property: AXSortDirection: AXDescendingSortDirection +
+
4.5.2.94 aria-sort=other
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-sort=other +
MSAA + IAccessible2 + Object Attribute: sort:other +
UIA + Property: AriaProperties.sort: other
+ Property: ItemStatus: other if the element maps to HeaderItem Control Type +
ATK/AT-SPI + Object Attribute: sort:other +
AX API + Property: AXSortDirection: AXUnknownSortDirection +
+
4.5.2.95 aria-sort=none
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-sort=none +
MSAA + IAccessible2 + Object Attribute: sort:none, if the value is not unspecified +
UIA + Not mapped* +
ATK/AT-SPI + Object Attribute: sort:none, if the value is not unspecified +
AX API + Not mapped* +
+
4.5.2.96 aria-valuemax
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-valuemax +
MSAA + IAccessible2 + Method: IAccessibleValue::maximumValue(): <value>
+ See also: Handling Author Errors for States and Properties +
UIA + Property: RangeValue.Maximum: <value>
+ See also: Handling Author Errors for States and Properties +
ATK/AT-SPI + Method: atk_value_get_maximum_value(): <value>
+ See also: Handling Author Errors for States and Properties +
AX API + Property: AXMaxValue: <value>
+ See also: Handling Author Errors for States and Properties +
+
4.5.2.97 aria-valuemin
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-valuemin +
MSAA + IAccessible2 + Method: IAccessibleValue::minimumValue(): <value>
+ See also: Handling Author Errors for States and Properties +
UIA + Property: RangeValue.Minimum: <value>
+ See also: Handling Author Errors for States and Properties +
ATK/AT-SPI + Method: atk_value_get_minimum_value(): <value>
+ See also: Handling Author Errors for States and Properties +
AX API + Property: AXMinValue: <value>
+ See also: Handling Author Errors for States and Properties +
+
4.5.2.98 aria-valuenow
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-valuenow +
MSAA + IAccessible2 + Method: IAccessibleValue::currentValue(): <value>
+ Method: IAccessible::get_accValue(): <value> if aria-valuetext is not defined
+ See also: Handling Author Errors for States and Properties +
UIA + Property: RangeValue.Value: <value>
+ See also: Handling Author Errors for States and Properties +
ATK/AT-SPI + Method: atk_value_get_current_value(): <value>
+ See also: Handling Author Errors for States and Properties +
AX API + Property: AXValue: <value>
+ See also: Handling Author Errors for States and Properties +
+
4.5.2.99 aria-valuetext
+ + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria-valuetext +
MSAA + IAccessible2 + Method: IAccessible::get_accValue(): <value>
+ Object Attribute: valuetext:<value>
+ See also: Handling Author Errors for States and Properties +
UIA + Property: Value.Value: <value>
+ See also: Handling Author Errors for States and Properties +
ATK/AT-SPI + Object Attribute: valuetext:<value>
+ See also: Handling Author Errors for States and Properties +
AX API + Property: AXValueDescription: <value>
+ See also: Handling Author Errors for States and Properties +
+

4.6 Special Processing Requiring Additional Computation

@@ -7273,7 +8958,7 @@

Core Accessibility API Mappings 1.2

Often in a GUI, there are relationships between the widgets that can be exposed programmatically to assistive technology. WAI-ARIA provides several relationship properties which are globally applicable to any element: aria-controls, aria-describedby, aria-flowto, aria-labelledby, aria-owns, aria-posinset, and aria-setsize. Therefore, it is not important to check the role before computing them. User agents can simply map these relations to accessibility APIs as defined in the section titled State and Property Mapping.

4.6.2.1 Reverse Relations
-

A reverse relation exists when an element's ID is referenced by a property in another element. For APIs that support reverse relations, user agents MUST use the mapping defined in the State and Property Mapping Table when an element's ID is referenced by a relation property of another element and the referenced element is in the accessibility tree. All WAI-ARIA references must point to an element that is exposed as an accessible object in the accessibility tree. When the referenced object is not exposed in the accessibility tree (e.g. because it is hidden), the reference is null. aria-labelledby and aria-describedby have an additional feature, which allows them to pull a flattened string from the referenced element to populate the name or description fields of the accessibility API. This feature is described in the Name and Description section.

+

A reverse relation exists when an element's ID is referenced by a property in another element. For APIs that support reverse relations, user agents MUST use the mapping defined in the State and Property Mapping Tables when an element's ID is referenced by a relation property of another element and the referenced element is in the accessibility tree. All WAI-ARIA references must point to an element that is exposed as an accessible object in the accessibility tree. When the referenced object is not exposed in the accessibility tree (e.g. because it is hidden), the reference is null. aria-labelledby and aria-describedby have an additional feature, which allows them to pull a flattened string from the referenced element to populate the name or description fields of the accessibility API. This feature is described in the Name and Description section.

Special case: If both aria-labelledby and HTML <label for= … > are used, the user agent MUST use the WAI-ARIA relation and MUST ignore the HTML label relation.

Note that aria-describedby may reference structured or interactive information where users would want to be able to navigate to different sections of content. User agents MAY provide a way for the user to navigate to structured information referenced by aria-describedby and assistive technology SHOULD provide such a method.

@@ -7320,7 +9005,7 @@

Core Accessibility API Mappings 1.2

  • ATK/AT-SPI: If an AT calls an action on an accessible object, the user agent SHOULD simulate a click on the DOM element which is mapped to that accessible object.
  • AX API: If an AT triggers an AXPress action on an accessible object, the user agent SHOULD simulate a click on the DOM element which is mapped to that accessible object.
  • -
    Note

    Authors will need to create handlers for those click events that update WAI-ARIA states and properties in the DOM accordingly, so that those updated states can be populated by the user agent in the Accessibility API.

    +
    Note

    Authors will need to create handlers for those click events that update WAI-ARIA states and properties in the DOM accordingly, so that those updated states can be populated by the user agent in the Accessibility API.

    4.8 Events

    @@ -7328,274 +9013,668 @@

    Core Accessibility API Mappings 1.2

    4.8.1 State and Property Change Events

    User agents MUST notify assistive technology of state changes as defined in the table below, SHOULD notify assistive technology of property changes if the accessibility API defines a change event for the property, and SHOULD NOT notify assistive technology of property changes if the accessibility API does not define a change event for the property. For example, IAccessible2 defines an event to be used when aria-activedescendant changes. WAI-ARIA properties that are expected to change include aria-activedescendant, aria-valuenow, and aria-valuetext.

    -
    Note

    In some APIs, AT will only be notified of events to which it has subscribed.

    +
    Note

    In some APIs, AT will only be notified of events to which it has subscribed.

    For simplicity and performance the user agent MAY trim out change events for state or property changes that assistive technologies typically ignore, such as events that are happening in a window that does not currently have focus.

    -
    Note

    Translators: For label text associated with the following table and its toggle buttons, see the mappingTableLabels object in the <head> section of this document.

    -
    aria-activedescendant
    aria-activedescendant
    MSAA + IAccessible2 event See Focus Changes. -

    In addition:

    -

    IA2_EVENT_ACTIVE_DESCENDANT_CHANGED

    UIA eventSee Focus Changes. -

    In addition:

    -

    PropertyChangedEvent

    -

    Property: AriaProperties

    -
    ATK/AT-SPI eventSee Focus Changes.
    AX API NotificationSee Focus Changes. -

    In addition: AXSelectedChildrenChanged

    aria-busy (state)
    aria-busy (state)
    MSAA + IAccessible2 event EVENT_OBJECT_STATECHANGE
    UIA event - PropertyChangedEvent -

    Property: AriaProperties

    -
    ATK/AT-SPI eventobject:state-changed:busy
    AX API NotificationAXElementBusyChanged
    aria-checked (state)
    aria-checked (state)
    MSAA + IAccessible2 event EVENT_OBJECT_STATECHANGE
    UIA event - PropertyChangedEvent -

    Properties: AriaProperties, ToggleState as part of toggle pattern

    -
    ATK/AT-SPI eventobject:state-changed:checked
    AX API NotificationAXValueChanged
    aria-current (state)
    aria-current (state)
    MSAA + IAccessible2 event IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED
    UIA event - PropertyChangedEvent -

    Property: AriaProperties

    -
    ATK/AT-SPI eventobject:state-changed:active
    AX API NotificationNo notification
    aria-disabled (state)
    aria-disabled (state)
    MSAA + IAccessible2 event EVENT_OBJECT_STATECHANGE
    UIA event - PropertyChangedEvent -

    Properties: AriaProperties, IsEnabled

    -
    ATK/AT-SPI eventobject:state-changed:enabled and object:state-changed:sensitive
    AX API NotificationNo notification
    aria-describedby
    aria-describedby
    MSAA + IAccessible2 event EVENT_OBJECT_DESCRIPTIONCHANGE
    UIA event - PropertyChangedEvent -

    Properties: DescribedBy

    -
    ATK/AT-SPI eventobject:property-change:accessible-description
    AX API NotificationTBD
    aria-dropeffect (property)
    aria-dropeffect (property)
    MSAA + IAccessible2 event IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED
    UIA event - PropertyChangedEvent -

    Property: AriaProperties

    -
    ATK/AT-SPI eventobject:property-change
    AX API NotificationNo notification
    aria-expanded (state)
    aria-expanded (state)
    MSAA + IAccessible2 event EVENT_OBJECT_STATECHANGE
    UIA event - PropertyChangedEvent -

    Properties: AriaProperties, ExpandCollapseState as part of the ExpandCollapse pattern

    -
    ATK/AT-SPI eventobject:state-changed:expanded
    AX API NotificationAXRowExpanded,
    - AXRowCollapsed,
    - AXRowCountChanged
    aria-grabbed (state)
    aria-grabbed (state)
    MSAA + IAccessible2 event

    EVENT_OBJECT_SELECTION

    -

    IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED

    UIA event - PropertyChangedEvent -

    Property: AriaProperties

    -
    ATK/AT-SPI eventobject:property-change
    AX API NotificationNo notification
    aria-hidden (state)
    aria-hidden (state)
    MSAA + IAccessible2 event IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED
    UIA event - StructureChangedEvent -

    PropertyChangedEvent

    -

    Property: AriaProperties

    -
    ATK/AT-SPI eventobject:property-change
    AX API NotificationAXUIElementDestroyed,
    - AXUIElementCreated
    aria-invalid (state)
    aria-invalid (state)
    MSAA + IAccessible2 event EVENT_OBJECT_STATECHANGE
    UIA event - PropertyChangedEvent -

    Properties: AriaProperties, IsDataValidForForm

    -
    ATK/AT-SPI eventobject:state-changed:invalid_entry
    AX API NotificationAXInvalidStatusChanged
    aria-label and aria-labelledby
    aria-label and aria-labelledby
    MSAA + IAccessible2 event EVENT_OBJECT_NAMECHANGE
    UIA event - PropertyChangedEvent -

    Property for aria-label: AriaProperties

    -

    Property for aria-labelledby: LabeledBy

    -
    ATK/AT-SPI eventobject:property-change:accessible-name
    AX API NotificationTBD
    aria-pressed (state)
    aria-pressed (state)
    MSAA + IAccessible2 event EVENT_OBJECT_STATECHANGE
    UIA event - PropertyChangedEvent -

    Properties: AriaProperties, ToggleState as part of toggle pattern

    -
    ATK/AT-SPI eventobject:state-changed:pressed
    AX API NotificationNo notification
    aria-readonly
    aria-readonly
    MSAA + IAccessible2 event EVENT_OBJECT_STATECHANGE
    UIA event - PropertyChangedEvent -

    Property: AriaProperties

    -
    ATK/AT-SPI eventobject:state-changed:readonly
    AX API NotificationNo notification
    aria-required
    aria-required
    MSAA + IAccessible2 event EVENT_OBJECT_STATECHANGE
    UIA event - PropertyChangedEvent -

    Properties: AriaProperties, IsRequiredForForm

    -
    ATK/AT-SPI eventobject:state-changed:required
    AX API NotificationNo notification
    aria-selected (state)
    aria-selected (state)
    MSAA + IAccessible2 event See section Selection for details.
    UIA eventSee section Selection for details.
    ATK/AT-SPI eventSee section Selection for details.
    AX API NotificationSee section Selection for details.
    aria-valuenow
    aria-valuenow
    MSAA + IAccessible2 event EVENT_OBJECT_VALUECHANGE
    UIA event - PropertyChangedEvent -

    Properties: AriaProperties, also RangeValueValue if element is mapped with RangeValue Control Pattern

    -
    ATK/AT-SPI eventobject:property-change:accessible-value
    AX API NotificationAXValueChanged
    aria-valuetext
    aria-valuetext
    MSAA + IAccessible2 event EVENT_OBJECT_VALUECHANGE
    UIA event - PropertyChangedEvent -

    Property: AriaProperties

    -
    ATK/AT-SPI eventobject:property-change:accessible-value
    AX API NotificationAXValueChanged
    -
    +
    Note

    Translators: For label text associated with the following table and its toggle buttons, see the mappingTableLabels object in the <head> section of this document.

    +
    4.8.1.1 aria-activedescendant
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-activedescendant +
    MSAA + IAccessible2 event + See Focus Changes. +

    In addition:

    +

    IA2_EVENT_ACTIVE_DESCENDANT_CHANGED

    +
    UIA event + See Focus Changes. +

    In addition:

    +

    PropertyChangedEvent

    +

    Property: AriaProperties

    +
    ATK/AT-SPI event + See Focus Changes. +
    AX API Notification + See Focus Changes. +

    In addition: AXSelectedChildrenChanged

    +
    +
    4.8.1.2 aria-busy (state)
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-busy (state) +
    MSAA + IAccessible2 event + EVENT_OBJECT_STATECHANGE +
    UIA event + PropertyChangedEvent +

    Property: AriaProperties

    +
    ATK/AT-SPI event + object:state-changed:busy +
    AX API Notification + AXElementBusyChanged +
    +
    4.8.1.3 aria-checked (state)
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-checked (state) +
    MSAA + IAccessible2 event + EVENT_OBJECT_STATECHANGE +
    UIA event + PropertyChangedEvent +

    Properties: AriaProperties, ToggleState as part of toggle pattern

    +
    ATK/AT-SPI event + object:state-changed:checked +
    AX API Notification + AXValueChanged +
    +
    4.8.1.4 aria-current (state)
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-current (state) +
    MSAA + IAccessible2 event + IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED +
    UIA event + PropertyChangedEvent +

    Property: AriaProperties

    +
    ATK/AT-SPI event + object:state-changed:active +
    AX API Notification + No notification +
    +
    4.8.1.5 aria-disabled (state)
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-disabled (state) +
    MSAA + IAccessible2 event + EVENT_OBJECT_STATECHANGE +
    UIA event + PropertyChangedEvent +

    Properties: AriaProperties, IsEnabled

    +
    ATK/AT-SPI event + object:state-changed:enabled and object:state-changed:sensitive +
    AX API Notification + No notification +
    +
    4.8.1.6 aria-describedby
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-describedby +
    MSAA + IAccessible2 event + EVENT_OBJECT_DESCRIPTIONCHANGE +
    UIA event + PropertyChangedEvent +

    Properties: DescribedBy

    +
    ATK/AT-SPI event + object:property-change:accessible-description +
    AX API Notification + TBD +
    +
    4.8.1.7 aria-dropeffect (property)
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-dropeffect (property) +
    MSAA + IAccessible2 event + IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED +
    UIA event + PropertyChangedEvent +

    Property: AriaProperties

    +
    ATK/AT-SPI event + object:property-change +
    AX API Notification + No notification +
    +
    4.8.1.8 aria-expanded (state)
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-expanded (state) +
    MSAA + IAccessible2 event + EVENT_OBJECT_STATECHANGE +
    UIA event + PropertyChangedEvent +

    Properties: AriaProperties, ExpandCollapseState as part of the ExpandCollapse pattern

    +
    ATK/AT-SPI event + object:state-changed:expanded +
    AX API Notification + AXRowExpanded,
    + AXRowCollapsed,
    + AXRowCountChanged +
    +
    4.8.1.9 aria-grabbed (state)
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-grabbed (state) +
    MSAA + IAccessible2 event +

    EVENT_OBJECT_SELECTION

    +

    IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED

    +
    UIA event + PropertyChangedEvent +

    Property: AriaProperties

    +
    ATK/AT-SPI event + object:property-change +
    AX API Notification + No notification +
    +
    4.8.1.10 aria-hidden (state)
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-hidden (state) +
    MSAA + IAccessible2 event + IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED +
    UIA event + StructureChangedEvent +

    PropertyChangedEvent

    +

    Property: AriaProperties

    +
    ATK/AT-SPI event + object:property-change +
    AX API Notification + AXUIElementDestroyed,
    + AXUIElementCreated +
    +
    4.8.1.11 aria-invalid (state)
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-invalid (state) +
    MSAA + IAccessible2 event + EVENT_OBJECT_STATECHANGE +
    UIA event + PropertyChangedEvent +

    Properties: AriaProperties, IsDataValidForForm

    +
    ATK/AT-SPI event + object:state-changed:invalid_entry +
    AX API Notification + AXInvalidStatusChanged +
    +
    4.8.1.12 aria-label and aria-labelledby
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-label and aria-labelledby +
    MSAA + IAccessible2 event + EVENT_OBJECT_NAMECHANGE +
    UIA event + PropertyChangedEvent +

    Property for aria-label: AriaProperties

    +

    Property for aria-labelledby: LabeledBy

    +
    ATK/AT-SPI event + object:property-change:accessible-name +
    AX API Notification + TBD +
    +
    4.8.1.13 aria-pressed (state)
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-pressed (state) +
    MSAA + IAccessible2 event + EVENT_OBJECT_STATECHANGE +
    UIA event + PropertyChangedEvent +

    Properties: AriaProperties, ToggleState as part of toggle pattern

    +
    ATK/AT-SPI event + object:state-changed:pressed +
    AX API Notification + No notification +
    +
    4.8.1.14 aria-readonly
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-readonly +
    MSAA + IAccessible2 event + EVENT_OBJECT_STATECHANGE +
    UIA event + PropertyChangedEvent +

    Property: AriaProperties

    +
    ATK/AT-SPI event + object:state-changed:readonly +
    AX API Notification + No notification +
    +
    4.8.1.15 aria-required
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-required +
    MSAA + IAccessible2 event + EVENT_OBJECT_STATECHANGE +
    UIA event + PropertyChangedEvent +

    Properties: AriaProperties, IsRequiredForForm

    +
    ATK/AT-SPI event + object:state-changed:required +
    AX API Notification + No notification +
    +
    4.8.1.16 aria-selected (state)
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-selected (state) +
    MSAA + IAccessible2 event + See section Selection for details. +
    UIA event + See section Selection for details. +
    ATK/AT-SPI event + See section Selection for details. +
    AX API Notification + See section Selection for details. +
    +
    4.8.1.17 aria-valuenow
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-valuenow +
    MSAA + IAccessible2 event + EVENT_OBJECT_VALUECHANGE +
    UIA event + PropertyChangedEvent +

    Properties: AriaProperties, also RangeValueValue if element is mapped with RangeValue Control Pattern

    +
    ATK/AT-SPI event + object:property-change:accessible-value +
    AX API Notification + AXValueChanged +
    +
    4.8.1.18 aria-valuetext
    + + + + + + + + + + + + + + + + + + + + + + + +
    ARIA Specification + aria-valuetext +
    MSAA + IAccessible2 event + EVENT_OBJECT_VALUECHANGE +
    UIA event + PropertyChangedEvent +

    Property: AriaProperties

    +
    ATK/AT-SPI event + object:property-change:accessible-value +
    AX API Notification + AXValueChanged +
    +

    4.8.2 Changes to document content or node visibility

    Processing document changes is important regardless of WAI-ARIA. The events described in the table below are used by user agents to inform AT of changes to the DOM via the accessibility tree. For the purposes of conformance with this standard, user agents MUST implement the behavior described in this section whenever WAI-ARIA attributes are applied to dynamic content on a Web page.

    @@ -8225,7 +10304,7 @@

    Core Accessibility API Mappings 1.2

    C. References

    C.1 Normative references

    [HTML-AAM]
    - HTML Accessibility API Mappings 1.0. Scott O'Hara. W3C. 28 July 2023. W3C Working Draft. URL: https://www.w3.org/TR/html-aam-1.0/ + HTML Accessibility API Mappings 1.0. Scott O'Hara. W3C. 18 August 2023. W3C Working Draft. URL: https://www.w3.org/TR/html-aam-1.0/
    [IAccessible2]
    IAccessible2. Linux Foundation. URL: https://wiki.linuxfoundation.org/accessibility/iaccessible2/
    [infra]