Mapping ARIA roles to UI Automation
[This article is for Windows 8.x and Windows Phone 8.x developers writing Windows Runtime apps. If you’re developing for Windows 10, see the latest documentation]
The table in this section shows how Accessible Rich Internet Applications (ARIA) roles map to Microsoft UI Automation control types and control patterns. The following notes pertain to the table:
- Most HTML elements that are typically invisible in UI Automation become visible if the role attribute is present. The exceptions include INPUT TYPE=hidden, a PARAM hosted in an OBJECT element, and elements in the HEAD section.
- Although the SCRIPT element is typically invisible in UI Automation, it does appear in the UI Automation tree if the role attribute is present and the element is closed with the </SCRIPT> tag. If the SCRIPTelement has a role attribute but is closed with "/>", the element may or may not appear in the UI Automation tree.
- The "Control type of visible tags" column identifies the control type that results when you apply the specified role to an HTML element that is typically visible in UI Automation.
- The "Control type of invisible tags" column identifies the control type that results when you apply the specified role to an HTML element that is typically invisible in UI Automation, such as the DIV or FIELDSET element.
- "Not applicable" means that the role does not affect how the element maps to UI Automation.
- If the role attribute exists on an element that is typically mapped to UI Automation as a Text control with no children, the element is mapped as specified in the following table, and the element will contain a Text child element.
- Because the LegacyIAccessible, ScrollItem and TextChild control patterns are always supported, they are omitted from the following table.
- If the OPTION element includes any ARIA property, the element is mapped as a Text control instead of a ListItem control.
- A role attribute can add UI Automation control patterns to the patterns that would be supported by the native HTML tag by itself. Exceptions include the following:
ARIA
UI Automation
Role
Attributes
Control type of visible tags
Control type of invisible tags
Supported control patterns
Notes
alert
Text
Text
alertdialog
Pane
Pane
application
Pane
Pane
article
Not applicable
Text
banner
Not applicable
Text
button
Button
Button
Invoke
checkbox
CheckBox
CheckBox
Toggle
columnheader
HeaderItem
HeaderItem
GridItem, Invoke, TableItem
combobox
ComboBox
ComboBox
Selection
combobox
+aria-valuetext
ComboBox
ComboBox
Selection, Value
command
Group if DIV, Separator if SPAN, Text otherwise
The patterns supported by Group, Separator, or Text
Abstract role.
complementary
Not applicable
Text
composite
Not applicable
Group if DIV, Separator if SPAN, Text otherwise
The patterns supported by Group, Separator, or Text
Abstract role.
contentinfo
Not applicable
Text
definition
Not applicable
Text
dialog
Pane
Pane
directory
List
List
document
document
document
form
Not applicable
Text
grid
DataGrid
DataGrid
Grid
gridcell
DataItem
DataItem
Grid, Invoke
group
Group
Group
heading
Text
Text
img
Image
Image
input
Not applicable
Group if DIV, Separator if SPAN, Text otherwise
The patterns supported by Group, Separator, or Text
Abstract role.
landmark
Not applicable
Group if DIV, Separator if SPAN, Text otherwise
The patterns supported by Group, Separator, or Text
Abstract role.
link
Hyperlink
Hyperlink
Invoke
link
+aria-valuetext
Hyperlink
Hyperlink
Invoke, Value
list
List
List
listbox
List
List
Selection
listitem
DataItem
DataItem
log
Not applicable
Text
main
Not applicable
Text
marquee
Text
Text
math
Not applicable
Text
menu
Menu
Menu
menubar
MenuBar
MenuBar
menuitem
MenuItem
MenuItem
Invoke
menuitemcheckbox
MenuItem
MenuItem
Toggle
menuitemradio
MenuItem
MenuItem
navigation
Not applicable
Text
note
Not applicable
Text
option
ListItem
ListItem
Invoke
presentation
Not applicable
Not applicable
This role has no effect on whether an HTML tag is visible in UI Automation.
progressbar
ProgressBar
ProgressBar
progressbar
+aria-valuenow | aria-valuemax | aria-valuemin
ProgressBar
ProgressBar
RangeValue
radio
RadioButton
RadioButton
radiogroup
List
List
Selection
range
Not applicable
Group if DIV, Separator if SPAN, Text otherwise
The patterns supported by Group, Separator, or Text
Abstract role.
region
Pane
Pane
roletype
Not applicable
Group if DIV, Separator if SPAN, Text otherwise
The patterns supported by Group, Separator, or Text
Abstract role.
row
Group
Group
rowgroup
Group
Group
rowheader
HeaderItem
HeaderItem
GridItem, Invoke, TableItem
scrollbar
ScrollBar
ScrollBar
RangeValue
search
Not applicable
Text
section
Not applicable
Group if DIV, Separator if SPAN, Text otherwise
The patterns supported by Group, Separator, or Text
Abstract role.
sectionhead
Not applicable
Group if DIV, Separator if SPAN, Text otherwise
The patterns supported by Group, Separator, or Text
Abstract role.
select
Not applicable
Group if DIV, Separator if SPAN, Text otherwise
The patterns supported by Group, Separator, or Text
Abstract role.
separator
Separator
Separator
slider
Slider
Slider
RangeValue
spinbutton
Spinner
Spinner
RangeValue
status
StatusBar
StatusBar
structure
Not applicable
Group if DIV, Separator if SPAN, Text otherwise
The patterns supported by Group, Separator, or Text
Abstract role.
tab
TabItem
TabItem
tablist
Tab
Tab
Selection
tabpanel
Pane
Pane
textbox
Edit
Edit
Value
timer
Not applicable
Text
toolbar
ToolBar
ToolBar
tooltip
ToolTip
ToolTip
tree
Tree
Tree
treegrid
DataGrid
DataGrid
Grid
treeitem
TreeItem
TreeItem
ExpandCollapse, Invoke
widget
Not applicable
Group if DIV, Separator if SPAN, Text otherwise
The patterns supported by Group, Separator, or Text
Abstract role.
window
Not applicable
Group if DIV, Separator if SPAN, Text otherwise
The patterns supported by Group, Separator, or Text
Abstract role.