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:
    • TABLE elements lose their Table and Grid control patterns.
    • If a role attribute is associated with a control pattern that is already supported by the HTML tag, the control pattern for the role might override the control pattern for the HTML tag.

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.

 

Mapping HTML and ARIA properties to UI Automation

UI Automation