Mapping ARIA Roles, States, and Properties to UI Automation

The World Wide Web Consortium (W3C) defines Accessible Rich Internet Applications (ARIA) as a syntax for making dynamic web content and custom user interface (UI) accessible. Windows Internet Explorer 8 recognizes the ARIA role, state, and property information and exposes it to assistive technologies, which in turn can use the Microsoft Active Accessibility and/or Microsoft UI Automation APIs to retrieve the information. Instead of building separate simplified webpages for accessibility, you can use ARIA to mark up your rich web applications with roles, states, and properties. For example, to match the behavior you create through a script, you can define a div element as a button, checkbox, or another ARIA role.

This topic contains the following sections:

W3C ARIA Role Mapped to Microsoft Active Accessibility and UI Automation

W3C ARIA roles can map to Microsoft Active Accessibility roles or UI Automation control types. With UI Automation, the original W3C ARIA role may also be supported by the AriaRole property. User agents can offer a localized description of the W3C ARIA role with the UI Automation LocalizedControlType property; however, that is optional. When a localized string is not specified, the system will supply the default LocalizedControlType string. User agents may also offer secondary roles in the AriaRole property by using space as a separator, as defined in the ARIA W3C standard.

W3C ARIA Role Attribute (DRAFT)Microsoft Active Accessibility RoleUI Automation Control TypeUI Automation AriaRole Property
alertROLE_SYSTEM_ALERT Text alert
alertdialogROLE_SYSTEM_DIALOG Pane alertdialog
applicationROLE_SYSTEM_PANE Pane application
articleROLE_SYSTEM_DOCUMENT Document article
bannerROLE_SYSTEM_GROUPING Group banner
buttonROLE_SYSTEM_PUSHBUTTON Button button
checkboxROLE_SYSTEM_CHECKBUTTON CheckBox checkbox
columnheaderROLE_SYSTEM_COLUMNHEADER DataItem columnheader
comboboxROLE_SYSTEM_COMBOBOX ComboBox combobox
complementaryROLE_SYSTEM_GROUPING Group complementary
contentinfoROLE_SYSTEM_GROUPING Group contentinfo
definitionROLE_SYSTEM_GROUPING Group definition
descriptionROLE_SYSTEM_TEXT Text description
dialogROLE_SYSTEM_DIALOG Pane dialog
directoryROLE_SYSTEM_LIST List directory
documentROLE_SYSTEM_CLIENT Document document
gridROLE_SYSTEM_TABLE DataGrid grid
gridcellROLE_SYSTEM_CELL DataItem gridcell
headingROLE_SYSTEM_TEXT Text heading
linkROLE_SYSTEM_LINK Hyperlink link
listROLE_SYSTEM_LIST List list
listboxROLE_SYSTEM_LIST List listbox
listitemROLE_SYSTEM_LISTITEM ListItem listitem
marqueeROLE_SYSTEM_ANIMATION Text marquee
menubarROLE_SYSTEM_MENUBAR MenuBar menubar
menuitemROLE_SYSTEM_MENUITEM MenuItem menuitem
menuitemcheckboxROLE_SYSTEM_CHECKBUTTON CheckBox menuitemcheckbox
menuitemradioROLE_SYSTEM_RADIOBUTTON RadioButton menuitemradio
navigationROLE_SYSTEM_GROUPING Group navigation
optionROLE_SYSTEM_LISTITEM ListItem option
presentationROLE_SYSTEM_PANE Pane presentation
progressbarROLE_SYSTEM_PROGRESSBAR ProgressBar progressbar
radioROLE_SYSTEM_RADIOBUTTON RadioButton radio
radiogroupROLE_SYSTEM_GROUPING Group radiogroup
regionROLE_SYSTEM_PANE Pane region
rowROLE_SYSTEM_ROW DataItem row
rowheaderROLE_SYSTEM_ROWHEADER DataItem rowheader
scrollbarROLE_SYSTEM_SCROLLBAR ScrollBar scrollbar
searchROLE_SYSTEM_GROUPING Group search
sectionROLE_SYSTEM_GROUPING Group section
separatorROLE_SYSTEM_SEPARATOR Separator separator
sliderROLE_SYSTEM_SLIDER Slider slider
spinbuttonROLE_SYSTEM_SPINBUTTON Spinner spinbutton
statusROLE_SYSTEM_STATUSBAR StatusBar status
tabpanelROLE_SYSTEM_PANE Pane tabpanel
textboxROLE_SYSTEM_TEXT Document textbox
timerROLE_SYSTEM_CLOCK Pane timer
toolbarROLE_SYSTEM_TOOLBAR ToolBar toolbar
tooltipROLE_SYSTEM_TOOLTIP ToolTip tooltip
treegridROLE_SYSTEM_TABLE DataGrid treegrid
treeitemROLE_SYSTEM_OUTLINEITEM TreeItem treeitem


W3C ARIA States and Properties

W3C ARIA States and Properties are mapped to various properties and functions of Microsoft Active Accessibility and UI Automation. With few exceptions, most of the ARIA States and Properties are supported by the UI Automation AriaProperties property.

The exceptions are as follows:

  • ARIA properties that take object references, such as described by the ARIA property
  • ARIA properties that are supported by the accessibility object model

For example, the ARIA aria-activedescendant property is always expected to be represented as a focused element in the accessibility object model. The ARIA aria-owns property must also be reflected in the accessibility object model when it is specified.

AriaProperties is a string property that has a collection of name/value pairs whose delimiters are "=" (equals) and ";" (semicolon); for example, checked=true;disabled=false. The backslash character ("\") is used as an escape when these delimiter characters or "\" appear in the values. The UI Automation provider code can add verification to validate the original ARIA properties in the Document Object Model (DOM) , but it is not required.

W3C ARIA States and PropertiesMicrosoft Active Accessibility Properties UI Automation PropertiesUI Automation ARIA AriaProperties Property
aria-activedescendant STATE_SYSTEM_FOCUSED (IAccessible::get_accState) HasKeyboardFocus (a property of the child element that is designated to receive the focus)N/A
aria-busy STATE_SYSTEM_BUSY (get_accState) N/Abusy
aria-checked STATE_SYSTEM_CHECKED (get_accState) ToggleState (Toggle Pattern)checked
aria-controls N/AControllerForN/A
aria-describedby N/ADescribedByN/A
aria-disabled STATE_SYSTEM_UNAVAILABLE (get_accState) IsEnableddisabled
aria-expanded STATE_SYSTEM_COLLAPSED or STATE_SYSTEM_EXPANDED (get_accState) ExpandCollapseState (ExpandCollapse Pattern)expanded
aria-flowto N/AFlowsToN/A
aria-haspopup STATE_HASPOPUPN/Ahaspopup
aria-hidden STATE_SYSTEM_INVISIBLEIsOffscreenhidden
aria-invalid N/AIsDataInvalidForForminvalid
aria-labelledby N/ALabeledByN/A
aria-level IAccessible::get_accValue N/A (represented by automation element tree structure)level
aria-live N/AN/Alive
aria-multiline††N/ADocument Control Typemultiline
aria-multiselect STATE_SYSTEM_EXTSELECTABLE (get_accState) CanSelectMultiple (Selection Pattern)multiselectable
aria-owns N/A (should be reflected in the accessible object tree)N/A (should be reflected in the automation element tree)N/A
aria-posinset N/A (represented in the accessible object tree structure or by childId)N/A (represented in automation element tree structure)posinset
aria-pressed STATE_SYSTEM_PRESSED (get_accState) ToggleState (Toggle Pattern)pressed
aria-readonly STATE_SYSTEM_READONLY (get_accState) IsReadOnlyreadonly
aria-relevant N/AN/Arelevant
aria-required N/AIsRequiredForFormrequired
aria-secret STATE_SYSTEM_PROTECTED (get_accState IsPasswordsecret
aria-selected STATE_SYSTEM_SELECTED (get_accState) IsSelected (SelectionItem Pattern)selected
aria-setsize N/AN/A (child count in automation element tree structure)setsize
tabIndex STATE_SYSTEM_FOCUSABLE (get_accState) IsKeyboardFocusabletabindex
aria-valuemax N/AMaximumProperty (RangeValue Pattern)valuemax
aria-valuemin N/AMinimumProperty (RangeValue Pattern)valuemin
aria-valuenow get_accValue ValueProperty (RangeValue Pattern)valuenow
aria-valuetext†† get_accValue NOTE: when both aria-valuenow and aria-valuetext ARIA properties are set, get_accValue will hold the data from the aria-valuetext property. ValueProperty (Value Pattern) NOTE: RangeValue and Value Pattern can coexist with UI in case both aria-valuetext and aria-valuenow are specified.valuetext


† Not implemented in Internet Explorer 8.

Related topics

Microsoft Active Accessibility and UI Automation
Microsoft Active Accessibility SDK
Microsoft Active Accessibility Constants and Enumerated Types
UI Automation Specification and Community Promise
UI Automation for Win32 Applications
ARIA Specification Sources
Accessible Rich Internet Applications (WAI-ARIA) Version 1.0
ARIA User Agent Implementors Guide