Core AAM 1.1 Testable Statements

From W3C Wiki

Role Mapping Tests

alert

alert in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='alert' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for alert.
element test
MSAA property role is ROLE_SYSTEM_ALERT
UIA property ControlType is Group
property LocalizedControlType is alert
property LiveSetting is Assertive (2)
ATK property role is ROLE_ALERT
AXAPI property AXRole is AXGroup
property AXSubrole is AXApplicationAlert
property AXRoleDescription is 'alert'

alertdialog

alertdialog in the Core AAM

Associated changes since Core AAM 1.0:

  • 20-Mar-2017: Modified AX API AXRoleDescription mappings of role alertdialog.
  • 21-Mar-2014: Added UIA.
if given
  <div role='alertdialog' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for alertdialog.
element test
MSAA property role is ROLE_SYSTEM_DIALOG
UIA property ControlType is Pane
ATK property role is ROLE_DIALOG
AXAPI property AXRole is AXGroup
property AXSubrole is AXApplicationAlertDialog
property AXRoleDescription is 'web alert dialog'

application

application in the Core AAM

Associated changes since Core AAM 1.0:

  • 11-Apr-2016: For role="application", replaced AX API subrole AXLandmarkAppliction with AXWebAppliction, and role description 'application' with 'web application'.
  • 11-Jan-2016: Modified UIA mapping for application.
  • 03-Oct-2015: Modified UIA role mappings of application.
  • 21-Mar-2014: Added UIA.
if given
  <div role='application' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for application.
element test
MSAA property role is ROLE_SYSTEM_APPLICATION
UIA property ControlType is Pane
property LocalizedControlType is application
ATK property role is ROLE_EMBEDDED
AXAPI property AXRole is AXGroup
property AXSubrole is AXWebApplication
property AXRoleDescription is 'web application'

article

article in the Core AAM

Associated changes since Core AAM 1.0:

  • 11-Jan-2016: Modified UIA mapping for article.
  • 03-Oct-2015: Modified UIA role mappings of article.
  • 05-Jun-2014: Modified ATK/AT-SPI mappings for article.
  • 21-Mar-2014: Added UIA.
if given
  <div role='article' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for article.
element test
MSAA property role is ROLE_SYSTEM_DOCUMENT
IAccessible2 property states contains STATE_SYSTEM_READONLY
property objectAttributes contains xml-roles:article
UIA property ControlType is Group
property LocalizedControlType is article
ATK property role is ROLE_ARTICLE
property objectAttributes contains xml-roles:article
AXAPI property AXRole is AXGroup
property AXSubrole is AXDocumentArticle
property AXRoleDescription is 'article'

banner in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Remove Localized Landmark Type when it is redundant to the Landmark Type.
  • 07-Mar-2016: Updated all UIA mappings for landmark roles to include Landmark Type and Localized Landmark Type.
  • 18-Apr-2016: MSAA+IA2 now uses IA2_ROLE_LANDMARK for landmark roles.
  • 03-Oct-2015: Modified UIA role mappings of banner.
  • 30-May-2014: Modified ATK/AT-SPI mappings for banner.
  • 21-Mar-2014: Added UIA.
if given
  <div role='banner' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for banner.
element test
IAccessible2 property role is IA2_ROLE_LANDMARK
property objectAttributes contains xml-roles:banner
UIA property ControlType is Group
property LocalizedControlType is banner
property Landmark Type is Custom
property LocalizedLandmarkType is banner
ATK property role is ROLE_LANDMARK
property objectAttributes contains xml-roles:banner
AXAPI property AXRole is AXGroup
property AXSubrole is AXLandmarkBanner
property AXRoleDescription is 'banner'

button with default values for aria-pressed and aria-haspopup

button in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='button' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for button.
element test
MSAA property role is ROLE_SYSTEM_PUSHBUTTON
UIA property ControlType is Button
ATK property role is ROLE_PUSH_BUTTON
AXAPI property AXRole is AXButton
property AXSubrole is <nil>
property AXRoleDescription is 'button'

button with aria-haspopup="true"

button in the Core AAM

Associated changes since Core AAM 1.0:

  • 28-Apr-2017: Updated AX API AXRole and AXRoleDescription for role="button" where aria-haspoppup is not false.
  • 21-Mar-2014: Added UIA.
if given
  <div role='button' id='test' aria-haspopup='true'>content</div>
then expose the element with id of 'test' with the platform role mappings for a popup button.
element test
MSAA property role is ROLE_SYSTEM_BUTTONMENU
UIA property ControlType is Button
ATK property role is ROLE_PUSH_BUTTON
AXAPI property AXRole is AXPopUpButton
property AXSubrole is <nil>
property AXRoleDescription is 'pop up button'
property actions contains AXShowMenu

button with aria-haspopup="dialog" NEW

button in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-haspopup switched from boolean to token in ARIA 1.1.
  • In addition to testing the new property values, we need to test that a role-based value changes the role of button just like a value of true does.
  • 06-Jun-2016: Added MSAA+IA2, UIA, and ATK/AT-SPI mappings for the new values of aria-haspopup added for ARIA 1.1.
  • 06-May-2016: Added changes for revised values for aria-haspopup for ATK/AT-SPI and MSAA+IA2 along with error handling.
if given
  <div role='button' id='test' aria-haspopup='dialog'>content</div>
then expose the element with id of 'test' with the platform role mappings for a popup button.
element test
MSAA property role is ROLE_SYSTEM_BUTTONMENU
UIA property ControlType is Button
ATK property role is ROLE_PUSH_BUTTON
AXAPI property AXRole is AXPopUpButton
property AXSubrole is <nil>
property AXRoleDescription is 'pop up button'
property actions contains AXShowMenu

button with defined value for aria-pressed

button in the Core AAM

Associated changes since Core AAM 1.0:

  • 04-Sep-2017: Fix AXSubrole for button with aria-pressed defined: Should be AXToggle; not AXToggleButton.
  • 21-Mar-2014: Added UIA.
if given
  <div role='button' id='test' aria-pressed='true'>content</div>
then expose the element with id of 'test' with the platform role mappings for button.
element test
MSAA property role is ROLE_SYSTEM_PUSHBUTTON
IAccessible2 property role is IA2_ROLE_TOGGLE_BUTTON
UIA property ControlType is Button
ATK property role is ROLE_TOGGLE_BUTTON
AXAPI property AXRole is AXCheckBox
property AXSubrole is AXToggle
property AXRoleDescription is 'toggle button'

cell NEW

cell in the Core AAM

Associated changes since Core AAM 1.0:

  • The cell role is new to ARIA 1.1 and thus needs full testing
  • 17-Aug-2017: Add TableItem Control Pattern to role=cell mapping.
  • 17-Aug-2017: Add Localized ControlType for cell
  • 08-Aug-2017: Update UIA mappings for cell
if given
  <div role='table'>
    <div role='row'>
      <div role='cell' id='test'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform role mappings for cell.
element test
MSAA property role is ROLE_SYSTEM_CELL
IAccessible2 property interfaces contains IAccessibleTableCell
UIA property ControlType is DataItem
property LocalizedControlType is cell
property Control Pattern is TableItem
ATK property role is ROLE_TABLE_CELL
property interfaces contains TableCell
AXAPI property AXRole is AXCell
property AXSubrole is <nil>
property AXRoleDescription is 'cell'

checkbox

checkbox in the Core AAM

Associated changes since Core AAM 1.0:

  • 20-Jul-2017: Change AXRoleDescription for AXCheckBox from "check box" to "checkbox".
  • 21-Mar-2014: Added UIA.
if given
  <div role='checkbox' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for checkbox.
element test
MSAA property role is ROLE_SYSTEM_CHECKBUTTON
UIA property ControlType is Checkbox
ATK property role is ROLE_CHECK_BOX
AXAPI property AXRole is AXCheckBox
property AXSubrole is <nil>
property AXRoleDescription is 'checkbox'

columnheader

columnheader in the Core AAM

Associated changes since Core AAM 1.0:

  • 28-Aug-2017: Remove AXSortButton as an alternative role mapping for columnheader.
  • 21-Mar-2014: Added UIA.
if given
  <div role='grid'>
    <div role='row'>
      <div role='columnheader' id='test'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform role mappings for columnheader.
element test
MSAA property role is ROLE_SYSTEM_COLUMNHEADER
IAccessible2 property interfaces contains IAccessibleTableCell
UIA property ControlType is HeaderItem
ATK property role is ROLE_COLUMN_HEADER
property interfaces contains TableCell
AXAPI property AXRole is AXCell
property AXSubrole is <nil>
property AXRoleDescription is 'cell'

combobox

combobox in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='combobox' aria-expanded='false' id='test'>
    <div role='textbox'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for combobox.
element test
MSAA property role is ROLE_SYSTEM_COMBOBOX
IAccessible2 property states contains STATE_SYSTEM_HASPOPUP
property states contains STATE_SYSTEM_COLLAPSED
UIA property ControlType is Combobox
ATK property role is ROLE_COMBO_BOX
property states contains STATE_EXPANDABLE
property states contains STATE_HAS_POPUP
AXAPI property AXRole is AXComboBox
property AXSubrole is <nil>
property AXRoleDescription is 'combo box'

complementary

complementary in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Remove Localized Landmark Type when it is redundant to the Landmark Type.
  • 18-Apr-2016: MSAA+IA2 now uses IA2_ROLE_LANDMARK for landmark roles.
  • 07-Mar-2016: Updated all UIA mappings for landmark roles to include Landmark Type and Localized Landmark Type.
  • 03-Oct-2015: Modified UIA role mappings of complementary.
  • 30-May-2014: Modified ATK/AT-SPI mappings for complementary (not in ChangeLog, but all landmarks were updated to ROLE_LANDMARK).
  • 21-Mar-2014: Added UIA.
if given
  <div role='complementary' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for complementary.
element test
IAccessible2 property role is IA2_ROLE_LANDMARK
property objectAttributes contains xml-roles:complementary
UIA property ControlType is Group
property LocalizedControlType is complementary
property Landmark Type is Custom
property LocalizedLandmarkType is complementary
ATK property role is ROLE_LANDMARK
property objectAttributes contains xml-roles:complementary
AXAPI property AXRole is AXGroup
property AXSubrole is AXLandmarkComplementary
property AXRoleDescription is 'complementary'

contentinfo

contentinfo in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Remove Localized Landmark Type when it is redundant to the Landmark Type.
  • 20-Jul-2017: Change AXRoleDescription for contentinfo from "content" to "content information".
  • 18-Apr-2016: MSAA+IA2 now uses IA2_ROLE_LANDMARK for landmark roles.
  • 07-Mar-2016: Updated all UIA mappings for landmark roles to include Landmark Type and Localized Landmark Type.
  • 03-Oct-2015: Modified UIA role mappings of contentinfo.
  • 30-May-2014: Modified ATK/AT-SPI mappings for contentinfo (not in ChangeLog, but all landmarks were updated to ROLE_LANDMARK).
  • 21-Mar-2014: Added UIA.
if given
  <div role='contentinfo' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for contentinfo.
element test
IAccessible2 property role is IA2_ROLE_LANDMARK
property objectAttributes contains xml-roles:contentinfo
UIA property ControlType is Group
property LocalizedControlType is content information
property Landmark Type is Custom
property LocalizedLandmarkType is content information
ATK property role is ROLE_LANDMARK
property objectAttributes contains xml-roles:contentinfo
AXAPI property AXRole is AXGroup
property AXSubrole is AXLandmarkContentInfo
property AXRoleDescription is 'content information'

definition

definition in the Core AAM

Associated changes since Core AAM 1.0:

  • 26-Jul-2017: Map definition role to ROLE_DESCRIPTION_VALUE for ATK.
  • 03-Oct-2015: Modified UIA role mappings of definition.
  • 21-Mar-2014: Added UIA.
if given
  <div role='definition' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for definition.
element test
IAccessible2 property objectAttributes contains xml-roles:definition
UIA property ControlType is Group
property LocalizedControlType is definition
ATK property role is ROLE_DESCRIPTION_VALUE
property objectAttributes contains xml-roles:definition
AXAPI property AXRole is AXGroup
property AXSubrole is AXDefinition
property AXRoleDescription is 'definition'

dialog

dialog in the Core AAM

Associated changes since Core AAM 1.0:

  • 20-Mar-2017: Modified AX API AXRoleDescription mappings of role dialog.
  • 21-Mar-2014: Added UIA.
if given
  <div role='dialog' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for dialog.
element test
MSAA property role is ROLE_SYSTEM_DIALOG
UIA property ControlType is Pane
ATK property role is ROLE_DIALOG
AXAPI property AXRole is AXGroup
property AXSubrole is AXApplicationDialog
property AXRoleDescription is 'web dialog'

directory

directory in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='directory' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for directory.
element test
MSAA property role is ROLE_SYSTEM_LIST
UIA property ControlType is List
ATK property role is ROLE_LIST
AXAPI property AXRole is AXList
property AXSubrole is AXContentList
property AXRoleDescription is 'content list'

document

document in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='document' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for document.
element test
MSAA property role is ROLE_SYSTEM_DOCUMENT
IAccessible2 property states contains STATE_SYSTEM_READONLY
UIA property ControlType is Document
ATK property role is ROLE_DOCUMENT_FRAME
AXAPI property AXRole is AXGroup
property AXSubrole is AXDocument
property AXRoleDescription is 'document'

feed NEW

feed in the Core AAM

  • The feed role is new to ARIA 1.1 and thus needs full testing.
  • 01-May-2017: Changed AX API AXSubrole for role="feed" from "<nil>" to "AXApplicationGroup" and its AXRoleDescription from "group" to "feed".
  • 07-Dec-2016: Added UIA mappings for feed.
  • 08-Sep-2016: Added feed role.
if given
  <div role='feed' id='test'>
    <div role='article'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for feed.
element test
MSAA property role is ROLE_SYSTEM_GROUPING
IAccessible2 property objectAttributes contains xml-roles:feed
UIA property ControlType is Group
property LocalizedControlType is feed
ATK property role is ROLE_PANEL
property objectAttributes contains xml-roles:feed
AXAPI property AXRole is AXGroup
property AXSubrole is AXApplicationGroup
property AXRoleDescription is 'feed'

figure NEW

figure in the Core AAM

Associated changes since Core AAM 1.0:

  • The feed role is new to ARIA 1.1 and thus needs full testing.
  • 07-Dec-2016: Added UIA mappings for figure.
  • 08-Sep-2016: Added figure role.
if given
  <div role='figure' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for figure.
element test
MSAA property role is ROLE_SYSTEM_GROUPING
IAccessible2 property objectAttributes contains xml-roles:figure
UIA property ControlType is Group
property LocalizedControlType is figure
ATK property role is ROLE_PANEL
property objectAttributes contains xml-roles:figure
AXAPI property AXRole is AXGroup
property AXSubrole is <nil>
property AXRoleDescription is 'figure'

form

form in the Core AAM

Note: The Form role is not new. But some additional changes to platforms need to be added below.

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Remove Localized Landmark Type when it is redundant to the Landmark Type.
  • 08-Sep-2016: Reverted role mapping back to IA2_ROLE_FORM (object attribute addition retained).
  • 02-May-2016: Updated mappings of MSAA+IA2 and ATK (changed role and added object attribute exposure).
  • 07-Mar-2016: Updated all UIA mappings for landmark roles to include Landmark Type and Localized Landmark Type.
  • 21-Mar-2014: Added UIA.
if given
  <div role='form' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for form.
element test
IAccessible2 property role is IA2_ROLE_FORM
property objectAttributes contains xml-roles:form
UIA property ControlType is Group
property LocalizedControlType is form
property Landmark Type is Form
ATK property role is ROLE_LANDMARK
property objectAttributes contains xml-roles:form
AXAPI property AXRole is AXGroup
property AXSubrole is <nil>
property AXRoleDescription is 'group'

grid

grid in the Core AAM

Associated changes since Core AAM 1.0:

  • 27-Apr-2017: Updated AX API AXRoleDescription for role="grid" to 'table'. It was formerly "grid". (This seems to have undone/reverted the 2014 change.)
  • 29-Aug-2014: Modified mappings of grid role to differentiate a grid from a table.
  • 21-Mar-2014: Added UIA.
if given
  <div role='grid' id='test'>
    <div role='row' id='headerrow'>
      <div role='columnheader' id='colheader1'>content</div>
      <div role='columnheader' id='colheader2'>content</div>
    </div>
    <div role='row'>
      <div role='rowheader' id='rowheader1'>content</div>
      <div role='gridcell'>content</div>
    </div>
    <div role='row'>
      <div role='rowheader' id='rowheader2'>content</div>
      <div role='gridcell'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform role mappings for grid.
element test
MSAA property role is ROLE_SYSTEM_TABLE
IAccessible2 property objectAttributes contains xml-roles:grid
property interfaces contains IAccessibleTable2
result IAccessible::accSelect() is TBD
result IAccessible::get_accSelection() is TBD
UIA property ControlType is DataGrid
property Control Pattern is Selection
ATK property role is ROLE_TABLE
property objectAttributes contains xml-roles:grid
property interfaces contains Table
property interfaces contains Selection
AXAPI property AXRole is AXTable
property AXSubrole is <nil>
property AXRoleDescription is 'table'
property AXColumnHeaderUIElements is [colheader1, colheader2]
property AXHeader is AXGroup
property AXRowHeaderUIElements is [rowheader1, rowheader2]

gridcell

gridcell in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Add Localized ControlType for gridcell.
  • 21-Mar-2014: Added UIA.
if given
  <div role='grid'>
    <div role='row'>
      <div role='gridcell' id='test'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform role mappings for gridcell.
element test
MSAA property role is ROLE_SYSTEM_CELL
IAccessible2 property interfaces contains IAccessibleTableCell
UIA property ControlType is DataItem
property LocalizedControlType is gridcell
property Control Pattern is SelectionItem
property SelectionItem.SelectionContainer is the containing grid
ATK property role is ROLE_TABLE_CELL
property interfaces contains TableCell
AXAPI property AXRole is AXCell
property AXSubrole is <nil>
property AXRoleDescription is 'cell'

group

group in the Core AAM

Associated changes since Core AAM 1.0:

  • 13-Apr-2017: Changed AX API AXSubrole for role="group" from "<nil>" to "AXApplicationGroup".
  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for group.
element test
MSAA property role is ROLE_SYSTEM_GROUPING
UIA property ControlType is Group
ATK property role is ROLE_PANEL
AXAPI property AXRole is AXGroup
property AXSubrole is AXApplicationGroup
property AXRoleDescription is 'group'

heading

heading in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='heading' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for heading.
element test
IAccessible2 property role is IA2_ROLE_HEADING
property objectAttributes contains xml-roles:heading
UIA property ControlType is Text
property LocalizedControlType is heading
ATK property role is ROLE_HEADING
AXAPI property AXRole is AXHeading
property AXSubrole is <nil>
property AXRoleDescription is 'heading'

img

img in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='img' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for img.
element test
MSAA property role is ROLE_SYSTEM_GRAPHIC
IAccessible2 property interfaces contains IAccessibleImage
UIA property ControlType is Image
ATK property role is ROLE_IMAGE
property interfaces contains Image
AXAPI property AXRole is AXImage
property AXSubrole is <nil>
property AXRoleDescription is 'image'

link

link in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Remove exposure of HTML's href attribute from link role mapping for UIA.
  • 02-Aug-2017: Replace STATE_LINKED with STATE_SYSTEM_LINKED for MSAA + IAccessible2 mapping of role link.
  • 21-Mar-2014: Added UIA.
if given
  <div role='link' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for link.
element test
MSAA property role is ROLE_SYSTEM_LINK
IAccessible2 property states contains STATE_SYSTEM_LINKED
property states contains STATE_SYSTEM_LINKED
property interfaces contains IAccessibleHypertext
UIA property ControlType is HyperLink
property Control Pattern is Value
ATK property role is ROLE_LINK
property interfaces contains Hyperlink
AXAPI property AXRole is AXLink
property AXSubrole is <nil>
property AXRoleDescription is 'link'

list

list in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Remove SelectionPattern from list role; add it to listbox role.
  • 21-Mar-2014: Added UIA.
if given
  <div role='list' id='test'>
    <div role='listitem'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for list.
element test
MSAA property role is ROLE_SYSTEM_LIST
IAccessible2 property states contains STATE_SYSTEM_READONLY
UIA property ControlType is List
ATK property role is ROLE_LIST
AXAPI property AXRole is AXList
property AXSubrole is AXContentList
property AXRoleDescription is 'content list'

listbox not owned by or child of combobox

listbox in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Remove SelectionPattern from list role; add it to listbox role.
  • 30-May-2014: Modified ATK/AT-SPI mappings for listbox.
  • 21-Mar-2014: Added UIA.
if given
  <div role='listbox' id='test'>
    <div role='option'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for listbox.
element test
MSAA property role is ROLE_SYSTEM_LIST
IAccessible2 result IAccessible::accSelect() is TBD
result IAccessible::get_accSelection() is TBD
UIA property ControlType is List
property Control Pattern is Selection
ATK property role is ROLE_LIST_BOX
property interfaces contains Selection
AXAPI property AXRole is AXList
property AXSubrole is <nil>
property AXRoleDescription is 'list'

listbox owned by or child of combobox

listbox in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Remove SelectionPattern from list role; add it to listbox role.
  • 21-Mar-2014: Added UIA.
if given
  <div role='combobox'>
    <div role='textbox'>content</div>
    <div role='listbox' id='test'>
      <div role='option'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform role mappings for listbox.
element test
MSAA property role is ROLE_SYSTEM_LIST
IAccessible2 result IAccessible::accSelect() is TBD
result IAccessible::get_accSelection() is TBD
UIA property ControlType is List
property Control Pattern is Selection
ATK property role is ROLE_MENU
property interfaces contains Selection
AXAPI property AXRole is AXList
property AXSubrole is <nil>
property AXRoleDescription is 'list'

listitem

listitem in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='list'>
    <div role='listitem' id='test'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for listitem.
element test
MSAA property role is ROLE_SYSTEM_LISTITEM
IAccessible2 property states contains STATE_SYSTEM_READONLY
UIA property ControlType is ListItem
property Control Pattern is SelectionItem
property SelectionItem.SelectionContainer is the containing list
ATK property role is ROLE_LIST_ITEM
AXAPI property AXRole is AXGroup
property AXSubrole is <nil>
property AXRoleDescription is 'group'

log

log in the Core AAM

Associated changes since Core AAM 1.0:

  • 03-Oct-2015: Modified UIA role mappings of log.
  • 30-May-2014: Modified ATK/AT-SPI mappings for log.
  • 21-Mar-2014: Added UIA.
if given
  <div role='log' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for log.
element test
IAccessible2 property objectAttributes contains xml-roles:log
property objectAttributes contains container-live:polite
property objectAttributes contains live:polite
property objectAttributes contains container-live-role:log
UIA property ControlType is Group
property LocalizedControlType is log
property LiveSetting is Polite (1)
ATK property role is ROLE_LOG
property objectAttributes contains xml-roles:log
property objectAttributes contains container-live:polite
property objectAttributes contains live:polite
property objectAttributes contains container-live-role:log
AXAPI property AXRole is AXGroup
property AXSubrole is AXApplicationLog
property AXRoleDescription is 'log'

main

main in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Remove Localized Landmark Type when it is redundant to the Landmark Type.
  • 18-Apr-2016: MSAA+IA2 now uses IA2_ROLE_LANDMARK for landmark roles.
  • 02-Feb-2016: Modified UIA mapping of main role to include a Landmark Type and a Localized Landmark Type.
  • 03-Oct-2015: Modified UIA role mappings of main.
  • 30-May-2014: Modified ATK/AT-SPI mappings for main (not in ChangeLog, but all landmarks were updated to ROLE_LANDMARK).
  • 21-Mar-2014: Added UIA.
if given
  <div role='main' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for main.
element test
IAccessible2 property role is IA2_ROLE_LANDMARK
property objectAttributes contains xml-roles:main
UIA property ControlType is Group
property LocalizedControlType is main
property Landmark Type is Main
ATK property role is ROLE_LANDMARK
property objectAttributes contains xml-roles:main
AXAPI property AXRole is AXGroup
property AXSubrole is AXLandmarkMain
property AXRoleDescription is 'main'

marquee

marquee in the Core AAM

Associated changes since Core AAM 1.0:

  • 30-May-2014: Modified ATK/AT-SPI mappings for marquee.
  • 21-Mar-2014: Added UIA.
if given
  <div role='marquee' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for marquee.
element test
MSAA property role is ROLE_SYSTEM_ANIMATION
IAccessible2 property objectAttributes contains xml-roles:marquee
property objectAttributes contains container-live:off
property objectAttributes contains live:off
UIA property ControlType is Group
property LocalizedControlType is marquee
property LiveSetting is Off (0)
ATK property role is ROLE_MARQUEE
property objectAttributes contains container-live:off
property objectAttributes contains live:off
AXAPI property AXRole is AXGroup
property AXSubrole is AXApplicationMarquee
property AXRoleDescription is 'marquee'

math

math in the Core AAM

Associated changes since Core AAM 1.0:

  • 03-Oct-2015: Modified UIA role mappings of math.
  • 30-May-2014: Modified ATK/AT-SPI mappings for math.
  • 21-Mar-2014: Added UIA.
if given
  <div role='math' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for math.
element test
MSAA property role is ROLE_SYSTEM_EQUATION
UIA property ControlType is Group
property LocalizedControlType is math
ATK property role is ROLE_MATH
AXAPI property AXRole is AXGroup
property AXSubrole is AXDocumentMath
property AXRoleDescription is 'math'

menu

menu in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='menu' id='test'>
    <div role='menuitemradio'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for menu.
element test
MSAA property role is ROLE_SYSTEM_MENUPOPUP
IAccessible2 result IAccessible::accSelect() is TBD
result IAccessible::get_accSelection() is TBD
UIA property ControlType is Menu
ATK property role is ROLE_MENU
property interfaces contains Selection
AXAPI property AXRole is AXMenu
property AXSubrole is <nil>
property AXRoleDescription is 'menu'

menu child of menu item

menu in the Core AAM

Associated changes since Core AAM 1.0:

  • 08-Aug-2017: Remove erroneous statement about not exposing submenus in ATK. Core AAM 1.0 stated "These (menu) objects are not exposed for a submenu if there is a parent menu item spawning the submenu. Since ATK/AT-SPI allows menuitems to have menuitem children, interposing menu objects are not exposed, except for the root parent."
  • 21-Mar-2014: Added UIA.
if given
  <div role='menu'>
    <div role='menuitem'>
      <div role='menu' id='test'>
        <div role='menuitemradio'>content</div>
      </div>
    <div role='menuitem'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for menu.
element test
MSAA property role is ROLE_SYSTEM_MENUPOPUP
IAccessible2 result IAccessible::accSelect() is TBD
result IAccessible::get_accSelection() is TBD
UIA property ControlType is Menu
ATK property role is ROLE_MENU
property interfaces contains Selection
AXAPI property AXRole is AXMenu
property AXSubrole is <nil>
property AXRoleDescription is 'menu'

menubar

menubar in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='menubar' id='test'>
    <div role='menuitemradio'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for menubar.
element test
MSAA property role is ROLE_SYSTEM_MENUBAR
IAccessible2 result IAccessible::accSelect() is TBD
result IAccessible::get_accSelection() is TBD
UIA property ControlType is MenuBar
ATK property role is ROLE_MENU_BAR
property interfaces contains Selection
AXAPI property AXRole is AXMenuBar
property AXSubrole is <nil>
property AXRoleDescription is 'menu bar'

menuitem not owned by or child of group

menuitem in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='menu'>
    <div role='menuitem' id='test'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for menuitem.
element test
MSAA property role is ROLE_SYSTEM_MENUITEM
UIA property ControlType is MenuItem
ATK property role is ROLE_MENU_ITEM
AXAPI property AXRole is AXMenuItem
property AXSubrole is <nil>
property AXRoleDescription is 'menu item'

menuitem owned by or child of group

menuitem in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='menu'>
    <div role='group'>
      <div role='menuitem' id='test'>content 1</div>
    </div>
    <div role='menuitem'>content 2</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for menuitem.
element test
MSAA property role is ROLE_SYSTEM_MENUITEM
UIA property ControlType is MenuItem
ATK property role is ROLE_MENU_ITEM
AXAPI property AXRole is AXMenuButton
property AXSubrole is <nil>
property AXRoleDescription is 'menu button'

menuitemcheckbox

menuitemcheckbox in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='menu'>
    <div role='menuitemcheckbox' id='test'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for menuitemcheckbox.
element test
MSAA property role is ROLE_SYSTEM_CHECKBUTTON or ROLE_SYSTEM_MENUITEM
IAccessible2 property role is IA2_ROLE_CHECK_MENU_ITEM
UIA property ControlType is MenuItem
property Control Pattern is Toggle
ATK property role is ROLE_CHECK_MENU_ITEM
AXAPI property AXRole is AXMenuItem
property AXSubrole is <nil>
property AXRoleDescription is 'menu item'

menuitemradio

menuitemradio in the Core AAM

Associated changes since Core AAM 1.0:

  • 11-Mar-2016: Added Toggle and SelectionItem patterns.
  • 21-Mar-2014: Added UIA.
if given
  <div role='menu'>
    <div role='menuitemradio' id='test'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for menuitemradio.
element test
MSAA property role is ROLE_SYSTEM_RADIOBUTTON or ROLE_SYSTEM_MENUITEM
IAccessible2 property role is IA2_ROLE_RADIO_MENU_ITEM
UIA property ControlType is MenuItem
property Control Pattern is Toggle
property Control Pattern is SelectionItem
ATK property role is ROLE_RADIO_MENU_ITEM
AXAPI property AXRole is AXMenuItem
property AXSubrole is <nil>
property AXRoleDescription is 'menu item'

navigation

navigation in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Remove Localized Landmark Type when it is redundant to the Landmark Type.
  • 18-Apr-2016: MSAA+IA2 now uses IA2_ROLE_LANDMARK for landmark roles.
  • 07-Mar-2016: Updated all UIA mappings for landmark roles to include Landmark Type and Localized Landmark Type.
  • 03-Oct-2015: Modified UIA role mappings of navigation.
  • 30-May-2014: Modified ATK/AT-SPI mappings for navigation.
  • 21-Mar-2014: Added UIA.
if given
  <div role='navigation' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for navigation.
element test
IAccessible2 property role is IA2_ROLE_LANDMARK
property objectAttributes contains xml-roles:navigation
UIA property ControlType is Group
property LocalizedControlType is navigation
property Landmark Type is Navigation
ATK property role is ROLE_LANDMARK
property objectAttributes contains xml-roles:navigation
AXAPI property AXRole is AXGroup
property AXSubrole is AXLandmarkNavigation
property AXRoleDescription is 'navigation'

none NEW

none in the Core AAM

Associated changes since Core AAM 1.0:

  • The none role was added in ARIA 1.1 and thus requires full testing.
if given
  <div role='none' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for none.
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

none used on ul element with li children NEW

none in the Core AAM

Associated changes since Core AAM 1.0:

  • Mapping of required owned descendants of elements with role none was added in Core AAM 1.1 and thus needs full testing.
  • 09-Jan-2017: Updated AX API mappings for role none/none.
  • 15-Jun-2015: Modified MSAA+IA2 mappings of none / none roles for required owned descendants.
  • 02-Jun-2015: Modified ATK/AT-SPI and UIA mappings of none / none roles for required owned descendants.
if given
  <ul role='none'>
    <li id='test' aria-label='name to force inclusion'>item 1</li>
    <li>item 2</li>
  </ul>
then expose the element with id of 'test' with the platform role mappings for a required owned descendant of role none.
element test
IAccessible2 property role is IA2_ROLE_SECTION
UIA property accessible is false
ATK property role is ROLE_SECTION
AXAPI property AXRole is AXGroup
property AXSubrole is <nil>
property AXRoleDescription is 'group'

none used on table element with td children NEW

none in the Core AAM

Associated changes since Core AAM 1.0:

  • Mapping of required owned descendants of elements with role none was added in Core AAM 1.1 and thus needs full testing.
  • 09-Jan-2017: Updated AX API mappings for role none/none.
  • 15-Jun-2015: Modified MSAA+IA2 mappings of none / none roles for required owned descendants.
  • 02-Jun-2015: Modified ATK/AT-SPI and UIA mappings of none / none roles for required owned descendants.
if given
  <table role='none'>
    <tr><td id='test' aria-label='name to force inclusion'>row 1, col 1</td><td>row 1, col 2</td></tr>
  </table>
then expose the element with id of 'test' with the platform role mappings for a required owned descendant of role none.
element test
IAccessible2 property role is IA2_ROLE_SECTION
UIA property accessible is false
ATK property role is ROLE_SECTION
AXAPI property AXRole is AXGroup
property AXSubrole is <nil>
property AXRoleDescription is 'group'

none used on element that is focused or fires event

none in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div id='test' role='none' tabindex='0'>content</div>
then expose the element with id of 'test' when it is focused.
element test
MSAA property accessible is true
UIA property accessible is true
ATK property accessible is true
AXAPI property accessible is true

note

note in the Core AAM

Associated changes since Core AAM 1.0:

  • 03-Oct-2015: Modified UIA role mappings of note.
  • 30-May-2014: Modified ATK/AT-SPI mappings for note.
  • 21-Mar-2014: Added UIA.
if given
  <div role='note' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for note.
element test
IAccessible2 property role is IA2_ROLE_NOTE
UIA property ControlType is Group
property LocalizedControlType is note
ATK property role is ROLE_COMMENT
AXAPI property AXRole is AXGroup
property AXSubrole is AXDocumentNote
property AXRoleDescription is 'note'

option not inside combobox

option in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='listbox'>
    <div role='option' id='test'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for option.
element test
MSAA property role is ROLE_SYSTEM_LISTITEM
UIA property ControlType is ListItem
property Control Pattern is Invoke
ATK property role is ROLE_LIST_ITEM
AXAPI property AXRole is AXStaticText
property AXSubrole is <nil>
property AXRoleDescription is 'text'

option inside combobox

option in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='combobox'>
    <div role='textbox'>content</div>
    <div role='listbox'>
      <div role='option' id='test'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform role mappings for option.
element test
MSAA property role is ROLE_SYSTEM_LISTITEM
UIA property ControlType is ListItem
property Control Pattern is Invoke
ATK property role is ROLE_MENU_ITEM
AXAPI property AXRole is AXStaticText
property AXSubrole is <nil>
property AXRoleDescription is 'text'

presentation

presentation in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='presentation' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for presentation.
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

presentation used on ul element with li children NEW

presentation in the Core AAM

Associated changes since Core AAM 1.0:

  • Mapping of required owned descendants of elements with role presentation was added in Core AAM 1.1 and thus needs full testing.
  • 09-Jan-2017: Updated AX API mappings for role presentation/none.
  • 15-Jun-2015: Modified MSAA+IA2 mappings of presentation / none roles for required owned descendants.
  • 02-Jun-2015: Modified ATK/AT-SPI and UIA mappings of presentation / none roles for required owned descendants.
if given
  <ul role='presentation'>
    <li id='test' aria-label='name to force inclusion'>item 1</li>
    <li>item 2</li>
  </ul>
then expose the element with id of 'test' with the platform role mappings for a required owned descendant of role presentation.
element test
IAccessible2 property role is IA2_ROLE_SECTION
UIA property accessible is false
ATK property role is ROLE_SECTION
AXAPI property AXRole is AXGroup
property AXSubrole is <nil>
property AXRoleDescription is 'group'

presentation used on table element with td children NEW

presentation in the Core AAM

Associated changes since Core AAM 1.0:

  • Mapping of required owned descendants of elements with role presentation was added in Core AAM 1.1 and thus needs full testing.
  • 09-Jan-2017: Updated AX API mappings for role presentation/none.
  • 15-Jun-2015: Modified MSAA+IA2 mappings of presentation / none roles for required owned descendants.
  • 02-Jun-2015: Modified ATK/AT-SPI and UIA mappings of presentation / none roles for required owned descendants.
if given
  <table role='presentation'>
    <tr><td id='test' aria-label='name to force inclusion'>row 1, col 1</td><td>row 1, col 2</td></tr>
  </table>
then expose the element with id of 'test' with the platform role mappings for a required owned descendant of role presentation.
element test
IAccessible2 property role is IA2_ROLE_SECTION
UIA property accessible is false
ATK property role is ROLE_SECTION
AXAPI property AXRole is AXGroup
property AXSubrole is <nil>
property AXRoleDescription is 'group'

presentation used on element that is focused or fires event

presentation in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div id='test' role='presentation' tabindex='0'>content</div>
then expose the element with id of 'test' when it is focused.
element test
MSAA property accessible is true
UIA property accessible is true
ATK property accessible is true
AXAPI property accessible is true

progressbar

progressbar in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Fix name of UIA pattern for range roles (should be RangeValue; not Range).
  • 21-Mar-2014: Added UIA.
if given
  <div role='progressbar' aria-valuenow='20' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for progressbar.
element test
MSAA property role is ROLE_SYSTEM_PROGRESSBAR
IAccessible2 property states contains STATE_SYSTEM_READONLY
property interfaces contains IAccessibleValue
UIA property ControlType is ProgressBar
property Control Pattern is RangeValue
ATK property role is ROLE_PROGRESS_BAR
property interfaces contains Value
AXAPI property AXRole is AXProgressIndicator
property AXSubrole is <nil>
property AXRoleDescription is 'progress indicator'

radio

radio in the Core AAM

Associated changes since Core AAM 1.0:

  • 11-Mar-2016: Added Toggle and SelectionItem patterns.
  • 21-Mar-2014: Added UIA.
if given
  <div role='radio' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for radio.
element test
MSAA property role is ROLE_SYSTEM_RADIOBUTTON
UIA property ControlType is RadioButton
property Control Pattern is Toggle
property Control Pattern is SelectionItem
ATK property role is ROLE_RADIO_BUTTON
AXAPI property AXRole is AXRadioButton
property AXSubrole is <nil>
property AXRoleDescription is 'radio button'

radiogroup

radiogroup in the Core AAM

Associated changes since Core AAM 1.0:

  • 30-May-2014: Modified ATK/AT-SPI mappings for radiogroup.
  • 21-Mar-2014: Added UIA.
if given
  <div role='radiogroup' id='test'>
    <div role='radio'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for radiogroup.
element test
MSAA property role is ROLE_SYSTEM_GROUPING
UIA property ControlType is List
ATK property role is ROLE_PANEL
AXAPI property AXRole is AXRadioGroup
property AXSubrole is <nil>
property AXRoleDescription is 'radio group'

region with an accessible name NEW

region in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Remove Localized Landmark Type when it is redundant to the Landmark Type.
  • 05-May-2016: Updated AX API mapping of role region to reflect its inheritance from the landmark role.
  • 18-Apr-2016: MSAA+IA2 now uses IA2_ROLE_LANDMARK for landmark roles.
  • 07-Mar-2016: Updated all UIA mappings for landmark roles to include Landmark Type and Localized Landmark Type.
  • 24-Aug-2015: Modified mappings of region role in light of its new status as a landmark.
  • 21-Mar-2014: Added UIA.
if given
  <div role='region' aria-label='name for region' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for region.
element test
IAccessible2 property role is IA2_ROLE_LANDMARK
property objectAttributes contains xml-roles:region
UIA property ControlType is Group
property LocalizedControlType is region
property Landmark Type is Custom
property LocalizedLandmarkType is region
ATK property role is ROLE_LANDMARK
property objectAttributes contains xml-roles:region
AXAPI property AXRole is AXGroup
property AXSubrole is AXLandmarkRegion
property AXRoleDescription is 'region'

region without an accessible name NEW

region in the Core AAM

Associated changes since Core AAM 1.0:

  • 05-May-2016: Updated AX API mapping of role region to reflect its inheritance from the landmark role.
  • 18-Apr-2016: MSAA+IA2 now uses IA2_ROLE_LANDMARK for landmark roles.
  • 24-Aug-2015: Modified mappings of region role in light of its new status as a landmark.
  • 21-Mar-2014: Added UIA.
if given
  <div role='region' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for region.
element test
IAccessible2 property role is IA2_ROLE_SECTION
UIA property ControlType is Group
ATK property role is ROLE_SECTION
AXAPI property AXRole is AXGroup
property AXSubrole is <nil>
property AXRoleDescription is group

row not inside treegrid

row in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Add Localized ControlType for gridcell.
  • 30-May-2014: Modified ATK/AT-SPI mappings for row.
  • 21-Mar-2014: Added UIA.
if given
  <div role='grid'>
    <div role='row' id='test'>
      <div role='gridcell'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform role mappings for row.
element test
MSAA property role is ROLE_SYSTEM_ROW
UIA property ControlType is DataItem
property LocalizedControlType is row
property Control Pattern is SelectionItem
ATK property role is ROLE_TABLE_ROW
AXAPI property AXRole is AXRow
property AXSubrole is <nil>
property AXRoleDescription is 'row'

row inside treegrid

row in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='treegrid'>
    <div role='row' id='test'>
      <div role='gridcell'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform role mappings for row.
element test
MSAA property role is ROLE_SYSTEM_OUTLINEITEM
UIA property ControlType is DataItem
property LocalizedControlType is row
property Control Pattern is SelectionItem
ATK property role is ROLE_TABLE_ROW
AXAPI property AXRole is AXRow
property AXSubrole is <nil>
property AXRoleDescription is 'row'

rowgroup

rowgroup in the Core AAM

Associated changes since Core AAM 1.0:

  • 16-Jun-2015: Modified MSAA+UIA Express and ATK/AT-SPI mappings of rowgroup role. (No net change.)
  • 14-Jan-2015: Mappings for rowgroup. (No net change.)
  • 21-Mar-2014: Added UIA.
if given
  <div role='grid'>
    <div role='rowgroup' id='test'>
      <div role='row'>
        <div role='cell'>content</div>
      </div>
      <div role='row'>
        <div role='cell'>content</div>
      </div>
    </div>
  </div>
then expose the element with id of 'test' with the platform role mappings for rowgroup.
element test
MSAA property role is ROLE_SYSTEM_GROUPING
UIA property ControlType is Group
ATK property role is ROLE_PANEL
AXAPI property accessible is false

rowheader

rowheader in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='grid'>
    <div role='row'>
      <div role='rowheader' id='test'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform role mappings for rowheader.
element test
MSAA property role is ROLE_SYSTEM_ROWHEADER
IAccessible2 property interfaces contains IAccessibleTableCell
UIA property ControlType is HeaderItem
ATK property role is ROLE_ROW_HEADER
property interfaces contains TableCell
AXAPI property AXRole is AXCell
property AXSubrole is <nil>
property AXRoleDescription is 'cell'

scrollbar

scrollbar in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Fix name of UIA pattern for range roles (should be RangeValue; not Range).
  • 07-Dec-2016: Added UIA Range Value Pattern to scrollbar.
  • 21-Mar-2014: Added UIA.
if given
  <div role='scrollbar' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for scrollbar.
element test
MSAA property role is ROLE_SYSTEM_SCROLLBAR
IAccessible2 property interfaces contains IAccessibleValue
UIA property ControlType is ScrollBar
property Control Pattern is RangeValue
ATK property role is ROLE_SCROLL_BAR
property interfaces contains Value
AXAPI property AXRole is AXScrollBar
property AXSubrole is <nil>
property AXRoleDescription is 'scroll bar'

search

search in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Remove Localized Landmark Type when it is redundant to the Landmark Type.
  • 18-Apr-2016: MSAA+IA2 now uses IA2_ROLE_LANDMARK for landmark roles.
  • 07-Mar-2016: Updated all UIA mappings for landmark roles to include Landmark Type and Localized Landmark Type.
  • 03-Oct-2015: Modified UIA role mappings of search.
  • 21-Mar-2014: Added UIA.
if given
  <div role='search' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for search.
element test
IAccessible2 property role is IA2_ROLE_LANDMARK
property objectAttributes contains xml-roles:search
UIA property ControlType is Group
property LocalizedControlType is search
property Landmark Type is Search
ATK property role is ROLE_LANDMARK
property objectAttributes contains xml-roles:search
AXAPI property AXRole is AXGroup
property AXSubrole is AXLandmarkSearch
property AXRoleDescription is 'search'

searchbox NEW

searchbox in the Core AAM

Associated changes since Core AAM 1.0:

  • The searchbox role is new to ARIA 1.1 and thus needs full testing.
  • 20-Jul-2017: Add role exposure via xml-roles object attribute for searchbox to ATK mappings.
  • 11-Mar-2015: Mappings for searchbox.
if given
  <div role='searchbox' contenteditable id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for searchbox.
element test
MSAA property role is ROLE_SYSTEM_TEXT
IAccessible2 property objectAttributes contains text-input-type:search
UIA property ControlType is Edit
property LocalizedControlType is search box
ATK property role is ROLE_ENTRY
property objectAttributes contains xml-roles:searchbox
property interfaces contains EditableText
AXAPI property AXRole is AXTextField
property AXSubrole is AXSearchField
property AXRoleDescription is 'search text field'

separator non-focusable

separator in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='separator' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for separator.
element test
MSAA property role is ROLE_SYSTEM_SEPARATOR
UIA property ControlType is Separator
ATK property role is ROLE_SEPARATOR
AXAPI property AXRole is AXSplitter
property AXSubrole is <nil>
property AXRoleDescription is 'splitter'

separator focusable NEW

separator in the Core AAM

Associated changes since Core AAM 1.0:

  • The use of the separator role, when focusable, as a splitter is new to ARIA 1.1 and thus needs full testing.
  • 17-Aug-2017: Added UIA Range Value Pattern to focusable separator.
  • 27-Jun-2016: For MSAA+IA2, UIA, and ATK/AT-SPI, modified mappings of role="separator" when it is a window splitter.
if given
  <div role='separator' tabindex='0' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for separator.
element test
MSAA property role is ROLE_SYSTEM_SEPARATOR
IAccessible2 property interfaces contains IAccessibleValue
UIA property ControlType is Thumb
property Control Pattern is RangeValue
ATK property role is ROLE_SEPARATOR
property interfaces contains Value
AXAPI property AXRole is AXSplitter
property AXSubrole is <nil>
property AXRoleDescription is 'splitter'

slider

slider in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Fix name of UIA pattern for range roles (should be RangeValue; not Range).
  • 07-Dec-2016: Added UIA Range Value Pattern to slider.
  • 21-Mar-2014: Added UIA.
if given
  <div role='slider' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for slider.
element test
MSAA property role is ROLE_SYSTEM_SLIDER
IAccessible2 property interfaces contains IAccessibleValue
UIA property ControlType is Slider
property Control Pattern is RangeValue
ATK property role is ROLE_SLIDER
property interfaces contains Value
AXAPI property AXRole is AXSlider
property AXSubrole is <nil>
property AXRoleDescription is 'slider'

spinbutton

spinbutton in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Fix name of UIA pattern for range roles (should be RangeValue; not Range).
  • 07-Dec-2016: Added UIA Range Value Pattern to spinbutton.
  • 21-Mar-2014: Added UIA.
if given
  <div role='spinbutton' id='test'>10</div>
then expose the element with id of 'test' with the platform role mappings for spinbutton.
element test
MSAA property role is ROLE_SYSTEM_SPINBUTTON
IAccessible2 property interfaces contains IAccessibleValue
UIA property ControlType is Spinner
property Control Pattern is RangeValue
ATK property role is ROLE_SPIN_BUTTON
property interfaces contains Value
AXAPI property AXRole is AXIncrementor
property AXSubrole is <nil>
property AXRoleDescription is 'stepper'

status

status in the Core AAM

Associated changes since Core AAM 1.0:

  • 24-Apr-2017: Changed AX API AXRoleDescription for role="status" from "status" to "application status".
  • 21-Mar-2014: Added UIA.
if given
  <div role='status' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for status.
element test
MSAA property role is ROLE_SYSTEM_STATUSBAR
IAccessible2 property objectAttributes contains container-live:polite
property objectAttributes contains live:polite
property objectAttributes contains container-live-role:status
UIA property ControlType is Group
property LocalizedControlType is status
property LiveSetting is Polite (1)
ATK property role is ROLE_STATUSBAR
property objectAttributes contains container-live:polite
property objectAttributes contains live:polite
property objectAttributes contains container-live-role:status
AXAPI property AXRole is AXGroup
property AXSubrole is AXApplicationStatus
property AXRoleDescription is 'application status'

switch NEW

switch in the Core AAM

Associated changes since Core AAM 1.0:

  • The switch role is new to ARIA 1.1 and thus needs full testing.
  • 04-Aug-2017: Add MSAA mapping for the switch role.
  • 20-Jul-2017: Add role exposure via xml-roles object attribute for switch to ATK mappings.
  • 04-Mar-2015: Additional mappings for switch.
  • 23-Feb-2015: Mappings for switch.
if given
  <div role='switch' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for switch.
element test
MSAA property role is ROLE_SYSTEM_CHECKBUTTON
IAccessible2 property role is IA2_ROLE_TOGGLE_BUTTON
property objectAttributes contains xml-roles:switch
UIA property ControlType is Button
property LocalizedControlType is toggleswitch
property Control Pattern is Toggle
ATK property role is ROLE_TOGGLE_BUTTON
property objectAttributes contains xml-roles:switch
AXAPI property AXRole is AXCheckBox
property AXSubrole is AXSwitch
property AXRoleDescription is 'switch'

tab

tab in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='tablist'>
    <div role='tab' id='test'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for tab.
element test
MSAA property role is ROLE_SYSTEM_PAGETAB
UIA property ControlType is TabItem
ATK property role is ROLE_PAGE_TAB
AXAPI property AXRole is AXRadioButton
property AXSubrole is <nil>
property AXRoleDescription is 'tab'

table NEW

table in the Core AAM

Associated changes since Core AAM 1.0:

  • The table role is new to ARIA 1.1 and thus needs full testing
  • 14-Aug-2017: Fix AXRoleDescription for table role, which should be "table"; not "grid".
if given
  <div role='table' id='test'>
    <div role='row' id='headerrow'>
      <div role='columnheader' id='colheader1'>content</div>
      <div role='columnheader' id='colheader2'>content</div>
    </div>
    <div role='row'>
      <div role='rowheader' id='rowheader1'>content</div>
      <div role='cell'>content</div>
    </div>
    <div role='row'>
      <div role='rowheader' id='rowheader2'>content</div>
      <div role='cell'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform role mappings for table.
element test
MSAA property role is ROLE_SYSTEM_TABLE
IAccessible2 property objectAttributes contains xml-roles:table
property interfaces contains IAccessibleTable2
UIA property ControlType is Table
property Control Pattern is Grid
property Control Pattern is Table
ATK property role is ROLE_TABLE
property objectAttributes contains xml-roles:table
property interfaces contains Table
AXAPI property AXRole is AXTable
property AXSubrole is <nil>
property AXRoleDescription is 'table'
property AXColumnHeaderUIElements is [colheader1, colheader2]
property AXHeader is AXGroup
property AXRowHeaderUIElements is [rowheader1, rowheader2]

tablist

tablist in the Core AAM

Associated changes since Core AAM 1.0:

  • 15-Apr-2017: Fix AXRoleDescription ("tab group"; not "tabgroup").
  • 15-May-2014: Removed live-region-related object attributes for IA2 and ATK.
  • 21-Mar-2014: Added UIA.
if given
  <div role='tablist' id='test'>
    <div role='tab'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for tablist.
element test
MSAA property role is ROLE_SYSTEM_PAGETABLIST
IAccessible2 result IAccessible::accSelect() is TBD
result IAccessible::get_accSelection() is TBD
property objectAttributes doesNotContain container-live:polite
property objectAttributes doesNotContain live:polite
property objectAttributes doesNotContain container-live-role:tablist
UIA property ControlType is Tab
property Control Pattern is Selection
ATK property role is ROLE_PAGE_TAB_LIST
property interfaces contains Selection
property objectAttributes doesNotContain container-live:polite
property objectAttributes doesNotContain live:polite
property objectAttributes doesNotContain container-live-role:tablist
AXAPI property AXRole is AXTabGroup
property AXSubrole is <nil>
property AXRoleDescription is 'tab group'

tabpanel

tabpanel in the Core AAM

Associated changes since Core AAM 1.0:

  • 04-Sep-2017: Fix AXSubrole for tabpanel: Should be AXTabPanel; not TabPanel.
  • 21-Mar-2014: Added UIA.
if given
  <div role='tabpanel' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for tabpanel.
element test
MSAA property role is ROLE_SYSTEM_PANE or ROLE_SYSTEM_PROPERTYPAGE
UIA property ControlType is Pane
ATK property role is ROLE_SCROLL_PANE
AXAPI property AXRole is AXGroup
property AXSubrole is AXTabPanel
property AXRoleDescription is 'tab panel'

term NEW

term in the Core AAM

Associated changes since Core AAM 1.0:

  • The term role is new to ARIA 1.1 and thus needs full testing.
  • 04-Aug-2017: Correct IAccessible2 mapping for term role, changing it from ROLE_SYSTEM_LISTITEM to IA2_ROLE_TEXT_FRAME.
  • 07-Dec-2016: Added UIA mappings for term.
  • 08-Sep-2016: Added term role mappings.
if given
  <div role='term' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for term.
element test
IAccessible2 property role is IA2_ROLE_TEXT_FRAME
property objectAttributes contains xml-roles:term
UIA property ControlType is Text
property LocalizedControlType is term
ATK property role is ROLE_DESCRIPTION_TERM
AXAPI property AXRole is AXGroup
property AXSubrole is AXTerm
property AXRoleDescription is 'term'

textbox when aria-multiline is false

textbox in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='textbox' contenteditable aria-multiline='false' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for textbox.
element test
MSAA property role is ROLE_SYSTEM_TEXT
IAccessible2 property states contains IA2_STATE_SINGLE_LINE
UIA property ControlType is Edit
ATK property role is ROLE_ENTRY
property states contains STATE_SINGLE_LINE
property interfaces contains EditableText
AXAPI property AXRole is AXTextField
property AXSubrole is <nil>
property AXRoleDescription is 'text field'

textbox when aria-multiline is true

textbox in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='textbox' contenteditable aria-multiline='true' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for textbox.
element test
MSAA property role is ROLE_SYSTEM_TEXT
IAccessible2 property states contains IA2_STATE_MULTI_LINE
UIA property ControlType is Edit
ATK property role is ROLE_ENTRY
property states contains STATE_MULTI_LINE
property interfaces contains EditableText
AXAPI property AXRole is AXTextArea
property AXSubrole is <nil>
property AXRoleDescription is 'text entry area'

timer

timer in the Core AAM

Associated changes since Core AAM 1.0:

  • 30-May-2014: Modified ATK/AT-SPI mappings for timer.
  • 21-Mar-2014: Added UIA.
if given
  <div role='timer' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for timer.
element test
IAccessible2 property objectAttributes contains xml-roles:timer
property objectAttributes contains container-live:off
property objectAttributes contains live:off
property objectAttributes contains container-live-role:timer
UIA property ControlType is Group
property LocalizedControlType is timer
property LiveSetting is Off (0)
ATK property role is ROLE_TIMER
property objectAttributes contains container-live:off
property objectAttributes contains live:off
property objectAttributes contains container-live-role:timer
AXAPI property AXRole is AXGroup
property AXSubrole is AXApplicationTimer
property AXRoleDescription is 'timer'

toolbar

toolbar in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='toolbar' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for toolbar.
element test
MSAA property role is ROLE_SYSTEM_TOOLBAR
UIA property ControlType is ToolBar
ATK property role is ROLE_TOOL_BAR
AXAPI property AXRole is AXToolbar
property AXSubrole is <nil>
property AXRoleDescription is 'toolbar'

tooltip

tooltip in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='tooltip' id='test'>content</div>
then expose the element with id of 'test' with the platform role mappings for tooltip.
element test
MSAA property role is ROLE_SYSTEM_TOOLTIP
UIA property ControlType is ToolTip
ATK property role is ROLE_TOOL_TIP
AXAPI property AXRole is AXGroup
property AXSubrole is AXUserInterfaceTooltip
property AXRoleDescription is 'tooltip'

tree

tree in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='tree' id='test'>
    <div role='treeitem'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for tree.
element test
MSAA property role is ROLE_SYSTEM_OUTLINE
IAccessible2 result IAccessible::accSelect() is TBD
result IAccessible::get_accSelection() is TBD
UIA property ControlType is Tree
ATK property role is ROLE_TREE
property interfaces contains Selection
AXAPI property AXRole is AXOutline
property AXSubrole is <nil>
property AXRoleDescription is 'outline'

treegrid

treegrid in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='treegrid' id='test'>
    <div role='row'>
      <div role='gridcell'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform role mappings for treegrid.
element test
MSAA property role is ROLE_SYSTEM_OUTLINE
IAccessible2 property interfaces contains IAccessibleTable2
result IAccessible::accSelect() is TBD
result IAccessible::get_accSelection() is TBD
UIA property ControlType is DataGrid
ATK property role is ROLE_TREE_TABLE
property interfaces contains Table
property interfaces contains Selection
AXAPI property AXRole is AXTable
property AXSubrole is <nil>
property AXRoleDescription is 'table'

treeitem

treeitem in the Core AAM

Associated changes since Core AAM 1.0:

  • 30-May-2014: Modified ATK/AT-SPI mappings for treeitem.
  • 21-Mar-2014: Added UIA.
if given
  <div role='tree'>
    <div role='treeitem' id='test'>content</div>
  </div>
then expose the element with id of 'test' with the platform role mappings for treeitem.
element test
MSAA property role is ROLE_SYSTEM_OUTLINEITEM
UIA property ControlType is TreeItem
ATK property role is ROLE_TREE_ITEM
AXAPI property AXRole is AXRow
property AXSubrole is AXOutlineRow
property AXRoleDescription is 'outline row'

State and Property Mapping Tests

aria-activedescendant (TODO)

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.

aria-atomic=true

aria-atomic=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-atomic='true' aria-live='polite'>
    <div role='group' id='child'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-atomic='true'.
element test
IAccessible2 property objectAttributes contains atomic:true
property objectAttributes contains container-atomic:true
UIA property AriaProperties.atomic is true
ATK property objectAttributes contains atomic:true
property objectAttributes contains container-atomic:true
AXAPI property AXARIAAtomic is YES
element child
IAccessible2 property objectAttributes contains container-atomic:true
relation IA2_RELATION_MEMBER_OF is [test]
ATK property objectAttributes contains container-atomic:true
relation RELATION_MEMBER_OF is [test]

aria-atomic=false

aria-atomic=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-atomic='false' aria-live='polite'>
    <div role='group' id='child'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-atomic='false'.
element test
IAccessible2 property objectAttributes doesNotContain atomic:true
property objectAttributes doesNotContain container-atomic:true
UIA property AriaProperties.atomic is false
ATK property objectAttributes doesNotContain atomic:true
property objectAttributes doesNotContain container-atomic:true
AXAPI property AXARIAAtomic is NO

aria-autocomplete=inline

aria-autocomplete=inline, list, or both in the Core AAM

Associated changes since Core AAM 1.0:

  • 08-Aug-2017: Update UIA mappings for aria-autocomplete to "not-mapped" (thus not testable).
if given
  <div role='combobox' id='test' aria-autocomplete='inline'>
    <div role='textbox'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-autocomplete='inline'.
element test
IAccessible2 property objectAttributes contains autocomplete:inline
property states contains IA2_STATE_SUPPORTS_AUTOCOMPLETION
ATK property objectAttributes contains autocomplete:inline
property states contains STATE_SUPPORTS_AUTOCOMPLETION

aria-autocomplete=list

aria-autocomplete=inline, list, or both in the Core AAM

Associated changes since Core AAM 1.0:

  • 08-Aug-2017: Update UIA mappings for aria-autocomplete to "not-mapped" (thus not testable).
if given
  <div role='combobox' id='test' aria-autocomplete='list'>
    <div role='textbox'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-autocomplete='list'.
element test
IAccessible2 property objectAttributes contains autocomplete:list
property states contains IA2_STATE_SUPPORTS_AUTOCOMPLETION
ATK property objectAttributes contains autocomplete:list
property states contains STATE_SUPPORTS_AUTOCOMPLETION

aria-autocomplete=both

aria-autocomplete=inline, list, or both in the Core AAM

Associated changes since Core AAM 1.0:

  • 08-Aug-2017: Update UIA mappings for aria-autocomplete to "not-mapped" (thus not testable).
if given
  <div role='combobox' id='test' aria-autocomplete='both'>
    <div role='textbox'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-autocomplete='both'.
element test
IAccessible2 property objectAttributes contains autocomplete:both
property states contains IA2_STATE_SUPPORTS_AUTOCOMPLETION
ATK property objectAttributes contains autocomplete:both
property states contains STATE_SUPPORTS_AUTOCOMPLETION

aria-busy=true

aria-busy=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 15-May-2014: Change AXAPI mapping for aria-busy (now AXElementBusy; not AXARIABusy).
  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-busy='true'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-busy='true'.
element test
MSAA property states contains STATE_SYSTEM_BUSY
UIA property AriaProperties.busy is true
ATK property states contains STATE_BUSY
AXAPI property AXElementBusy is YES

aria-busy=false

aria-busy=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 15-May-2014: Change AXAPI mapping for aria-busy (now AXElementBusy; not AXARIABusy).
  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-busy='false'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-busy='false'.
element test
MSAA property states doesNotContain STATE_SYSTEM_BUSY
UIA property AriaProperties.busy is false
ATK property states doesNotContain STATE_BUSY
AXAPI property AXElementBusy is NO

aria-checked=true on checkbox

aria-checked=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 05-Jun-2014: Modified ATK/AT-SPI mappings for checkbox, menuitemcheckbox, menuitemradio, and aria-checked.
  • 21-Mar-2014: Added UIA.
if given
  <div role='checkbox' id='test' aria-checked='true'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-checked='true'.
element test
MSAA property states contains STATE_SYSTEM_CHECKED
IAccessible2 property objectAttributes contains checkable:true
UIA property Toggle.ToggleState is On (1)
ATK property states contains STATE_CHECKABLE
property states contains STATE_CHECKED
AXAPI property AXValue is 1

aria-checked=true on menuitemradio

aria-checked=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 05-Jun-2014: Modified ATK/AT-SPI mappings for checkbox, menuitemcheckbox, menuitemradio, and aria-checked.
  • 21-Mar-2014: Added UIA.
if given
  <div role='menu'>
    <div role='menuitemradio' id='test' aria-checked='true'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-checked='true'.
element test
MSAA property states contains STATE_SYSTEM_CHECKED
IAccessible2 property objectAttributes contains checkable:true
UIA property Toggle.ToggleState is On (1)
property SelectionItem.IsSelected is True
ATK property states contains STATE_CHECKABLE
property states contains STATE_CHECKED
AXAPI property AXValue is 1
property AXMenuItemMarkChar is "✓"

aria-checked=false on checkbox

aria-checked=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 05-Jun-2014: Modified ATK/AT-SPI mappings for checkbox, menuitemcheckbox, menuitemradio, and aria-checked.
  • 21-Mar-2014: Added UIA.
if given
  <div role='checkbox' id='test' aria-checked='false'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-checked='false'.
element test
MSAA property states doesNotContain STATE_SYSTEM_CHECKED
IAccessible2 property objectAttributes contains checkable:true
UIA property Toggle.ToggleState is Off (0)
ATK property states contains STATE_CHECKABLE
property states doesNotContain STATE_CHECKED
AXAPI property AXValue is 0

aria-checked=false on menuitemradio

aria-checked=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 05-Jun-2014: Modified ATK/AT-SPI mappings for checkbox, menuitemcheckbox, menuitemradio, and aria-checked.
  • 21-Mar-2014: Added UIA.
if given
  <div role='menu'>
    <div role='menuitemradio' id='test' aria-checked='false'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-checked='false'.
element test
MSAA property states doesNotContain STATE_SYSTEM_CHECKED
IAccessible2 property objectAttributes contains checkable:true
UIA property Toggle.ToggleState is Off (0)
property SelectionItem.IsSelected is False
ATK property states contains STATE_CHECKABLE
property states doesNotContain STATE_CHECKED
AXAPI property AXValue is 0
property AXMenuItemMarkChar is <nil>

aria-checked=mixed

aria-checked=mixed in the Core AAM

Associated changes since Core AAM 1.0:

  • 05-Jun-2014: Modified ATK/AT-SPI mappings for checkbox, menuitemcheckbox, menuitemradio, and aria-checked.
  • 21-Mar-2014: Added UIA.
if given
  <div role='checkbox' id='test' aria-checked='mixed'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-checked='mixed'.
element test
MSAA property states contains STATE_SYSTEM_MIXED
IAccessible2 property objectAttributes contains checkable:true
UIA property Toggle.ToggleState is Indeterminate (2)
ATK property states contains STATE_INDETERMINATE
property states contains STATE_CHECKABLE
property states doesNotContain STATE_CHECKED
AXAPI property AXValue is 2

aria-colcount NEW

aria-colcount in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-colcount and aria-rowcount are new to ARIA 1.1 and thus need full testing.
  • 07-Aug-2017: Update ATK mappings for indeterminate colcount and rowcount.
  • 20-Jan-2017: Added AX API mappings for aria-colcount and aria-rowcount.
  • 07-Dec-2016: Added UIA mappings for aria-colcount and aria-rowcount.
if given
  <div role='table' id='test' aria-colcount='3'>
    <div role='row'>
      <div role='cell' id='cell'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-colcount.
element test
IAccessible2 property objectAttributes contains colcount:3
UIA property Grid.ColumnCount is 3
ATK property objectAttributes contains colcount:3
result atk_table_get_n_columns() is 3
AXAPI property AXARIAColumnCount is 3
element cell
IAccessible2 property groupPosition contains similarItemsInGroup:3

aria-colindex NEW

aria-colindex in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-colindex and aria-rowindex are new to ARIA 1.1 and thus need full testing.
  • 20-Jan-2017: Added AX API mappings for aria-colindex and aria-rowindex.
  • 08-Sep-2016: Updated table properties for row and column for MSAA/IA2 and ATK/AT-SPI.
  • 03-Jan-2016: Added UIA mappings for aria-colindex and aria-rowindex. Added placeholders for the other AAPIs.
if given
  <div role='grid'>
    <div role='row'>
      <div role='cell' id='test' aria-colindex='3'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-colindex.
element test
IAccessible2 property objectAttributes contains colindex:3
property groupPosition contains positionInGroup:3
UIA property GridItem.Column is 2
ATK property objectAttributes contains colindex:3
result atk_table_cell_get_position() contains column=2
AXAPI property AXARIAColumnIndex is 3

aria-colspan NEW

aria-colspan in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-colspan and aria-rowspan are new to ARIA 1.1 and thus need full testing.
  • 20-Jan-2017: Added AX API mappings for aria-colspan and aria-rowspan.
  • 07-Dec-2016: Added UIA mappings for aria-colspan and aria-rowspan.
  • 08-Sep-2016: Added aria-colspan and aria-rowspan mappings.
if given
  <div role='grid'>
    <div role='row'>
      <div role='cell' id='test' aria-colspan='3'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-colspan.
element test
IAccessible2 property objectAttributes contains colspan:3
property columnExtent is 3
UIA property GridItem.ColumnSpan is 3
ATK property objectAttributes contains colspan:3
result atk_table_cell_get_row_column_span() contains column_span=3
AXAPI property AXColumnIndexRange.length is 3

aria-controls

aria-controls in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='combobox' id='test' aria-controls='list'>
    <div role='textbox'>content</div>
  </div>
  <div role='listbox' id='list'>
    <div role='option'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-controls.
element test
IAccessible2 relation IA2_RELATION_CONTROLLER_FOR is [list]
UIA property ControllerFor is [list]
ATK relation RELATION_CONTROLLER_FOR is [list]
AXAPI property AXLinkedUIElements is [list]
element list
IAccessible2 relation IA2_RELATION_CONTROLLED_BY is [test]
ATK relation RELATION_CONTROLLED_BY is [test]

aria-current with non-false allowed value NEW

aria-current with non-false allowed value in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-current is new to ARIA 1.1 and thus needs full testing.
  • 21-Jul-2017: Add aria-current mapping to "true" when value is not in list of allowed values.
  • 28-Mar-2017: Changed MSAA/IA2 and ATK/AT-SPI object attribute for aria-current mapping from "active" to "current".
  • 25-Jan-2016: Added AX API mappings for aria-current.
  • 15-Jan-2016: Added UIA mappings for aria-current.
  • 11-Jan-2016: Finalized IA2 mapping of aria-current.
  • 25-Jun-2015: ATK/AT-SPI mapping for aria-current.
if given
  <div role='group' id='test' aria-current='step'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-current with non-false allowed value.
element test
IAccessible2 property objectAttributes contains current:step
UIA property AriaProperties.current is "step"
ATK property objectAttributes contains current:step
property states contains STATE_ACTIVE
AXAPI property AXARIACurrent is "step"

aria-current with unrecognized value NEW

aria-current with unrecognized value in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-current is new to ARIA 1.1 and thus needs full testing.
  • 21-Jul-2017: Add aria-current mapping to "true" when value is not in list of allowed values.
  • 28-Mar-2017: Changed MSAA/IA2 and ATK/AT-SPI object attribute for aria-current mapping from "active" to "current".
  • 25-Jan-2016: Added AX API mappings for aria-current.
  • 15-Jan-2016: Added UIA mappings for aria-current.
  • 11-Jan-2016: Finalized IA2 mapping of aria-current.
  • 25-Jun-2015: ATK/AT-SPI mapping for aria-current.
if given
  <div role='group' id='test' aria-current='foo'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-current with unrecognized value.
element test
IAccessible2 property objectAttributes contains current:true
UIA property AriaProperties.current is true
ATK property objectAttributes contains current:true
property states contains STATE_ACTIVE
AXAPI property AXARIACurrent is true

aria-describedby

aria-describedby in the Core AAM

Associated changes since Core AAM 1.0:

  • 04-Apr-2016: Added new UIA FullDescription property for mapping aria-describedby.
  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-describedby='description'>content</div>
  <div id='description'>hello world</div>
then expose the element with id of 'test' with the platform mappings for aria-describedby.
element test
IAccessible2 property accDescription is "hello world"
relation IA2_RELATION_DESCRIBED_BY is [description]
UIA property FullDescription is "hello world"
property DescribedBy is [description]
ATK property description is "hello world"
relation RELATION_DESCRIBED_BY is [description]
AXAPI property AXHelp is "hello world"
element description
IAccessible2 relation IA2_RELATION_DESCRIPTION_FOR is [test]
ATK relation RELATION_DESCRIPTION_FOR is [test]

aria-details NEW

aria-details in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-details is new to ARIA 1.1 and thus needs full testing.
  • Note: aria-details is not mapped in AX API.
  • 07-Dec-2016: Added UIA mappings for aria-details.
  • 04-Oct-2016: Add reverse relationships for aria-details on platforms MSAA/IA2 and ATK/ATSPI.
  • 08-Sep-2016: Added MSAA+IA2 and ATK/AT-SPI mappings of aria-details.
if given
  <div role='group' id='test' aria-details='details'>content</div>
  <div id='details'>hello world</div>
then expose the element with id of 'test' with the platform mappings for aria-details.
element test
IAccessible2 relation IA2_RELATION_DETAILS is [details]
UIA property DescribedBy is [details]
ATK relation RELATION_DETAILS is [details]
element details
IAccessible2 relation IA2_RELATION_DETAILS_FOR is [test]
ATK relation RELATION_DETAILS_FOR is [test]

aria-disabled=true

aria-disabled=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-disabled='true'>
    <div role='checkbox' id='checkbox' tabindex='0'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-disabled='true'.
element test
MSAA property states contains STATE_SYSTEM_UNAVAILABLE
UIA property IsEnabled is false
ATK property states doesNotContain STATE_ENABLED
AXAPI property AXEnabled is NO
element checkbox
MSAA property states contains STATE_SYSTEM_UNAVAILABLE

aria-disabled=false

aria-disabled=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-disabled='false'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-disabled='false'.
element test
MSAA property states doesNotContain STATE_SYSTEM_UNAVAILABLE
UIA property IsEnabled is true
ATK property states contains STATE_ENABLED
AXAPI property AXEnabled is YES

aria-dropeffect=copy

aria-dropeffect=copy, move, link, execute, or popup in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-dropeffect='copy'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-dropeffect='copy'.
element test
IAccessible2 property objectAttributes contains dropeffect:copy
UIA property AriaProperties.dropeffect is "copy"
ATK property objectAttributes contains dropeffect:copy
AXAPI property AXDropEffects is [copy]

aria-dropeffect=move

aria-dropeffect=copy, move, link, execute, or popup in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-dropeffect='move'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-dropeffect='move'.
element test
IAccessible2 property objectAttributes contains dropeffect:move
UIA property AriaProperties.dropeffect is "move"
ATK property objectAttributes contains dropeffect:move
AXAPI property AXDropEffects is [move]

aria-dropeffect=link

aria-dropeffect=copy, move, link, execute, or popup in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-dropeffect='link'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-dropeffect='link'.
element test
IAccessible2 property objectAttributes contains dropeffect:link
UIA property AriaProperties.dropeffect is "link"
ATK property objectAttributes contains dropeffect:link
AXAPI property AXDropEffects is [link]

aria-dropeffect=execute

aria-dropeffect=copy, move, link, execute, or popup in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-dropeffect='execute'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-dropeffect='execute'.
element test
IAccessible2 property objectAttributes contains dropeffect:execute
UIA property AriaProperties.dropeffect is "execute"
ATK property objectAttributes contains dropeffect:execute
AXAPI property AXDropEffects is [execute]

aria-dropeffect=popup

aria-dropeffect=copy, move, link, execute, or popup in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-dropeffect='popup'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-dropeffect='popup'.
element test
IAccessible2 property objectAttributes contains dropeffect:popup
UIA property AriaProperties.dropeffect is "popup"
ATK property objectAttributes contains dropeffect:popup
AXAPI property AXDropEffects is [popup]

aria-dropeffect=none

aria-dropeffect=none in the Core AAM

if given
  <div role='group' id='test' aria-dropeffect='none'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-dropeffect='none'.
element test
IAccessible2 property objectAttributes contains dropeffect:none
ATK property objectAttributes contains dropeffect:none

aria-errormessage

aria-errormessage in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-errormessage is new to ARIA 1.1 and thus needs full testing
  • 09-Aug-2017: Add macOS AXValidationError/AXValidationErrorChanged for aria-errormessage.
  • 20-Jul-2017: Correct IA2 mapping for aria-errormessage: It should be IA2_RELATION_ERROR; not IA2_RELATION_ERROR_MESSAGE.
  • 04-Oct-2016: Add reverse relationships for aria-errormessage on platforms MSAA/IA2 and ATK/ATSPI
  • 08-Sep-2016: Added MSAA+IA2 and ATK/AT-SPI mappings of aria-errormessage.
  • 02-Feb-2016: Added UIA mapping for aria-errormessage.
if given
  <div role='group' id='test' aria-errormessage='error' aria-invalid='true'>content</div>
  <div id='error'>hello world</div>
then expose the element with id of 'test' with the platform mappings for aria-errormessage.
element test
IAccessible2 relation IA2_RELATION_ERROR is [error]
UIA property ControllerFor is error
ATK relation RELATION_ERROR_MESSAGE is [error]
AXAPI property AXValidationError is "hello world"
element error
IAccessible2 relation IA2_RELATION_ERROR_FOR is [test]
ATK relation RELATION_ERROR_FOR is [test]

aria-expanded=true

aria-expanded=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='button' id='test' aria-expanded='true'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-expanded='true'.
element test
MSAA property states contains STATE_SYSTEM_EXPANDED
UIA property ExpandCollapse.ExpandCollapseState is Expanded
ATK property states contains STATE_EXPANDABLE
property states contains STATE_EXPANDED
AXAPI property AXExpanded is YES

aria-expanded=false

aria-expanded=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='button' id='test' aria-expanded='false'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-expanded='false'.
element test
MSAA property states contains STATE_SYSTEM_COLLAPSED
UIA property ExpandCollapse.ExpandCollapseState is Collapsed
ATK property states contains STATE_EXPANDABLE
property states doesNotContain STATE_EXPANDED
AXAPI property AXExpanded is NO

aria-flowto

aria-flowto in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-flowto='next'>content</div>
  <div role='group' id='next'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-flowto.
element test
IAccessible2 relation IA2_RELATION_FLOWS_TO is [next]
UIA property FlowsTo is [next]
ATK relation RELATION_FLOWS_TO is [next]
AXAPI property AXLinkedUIElements is [next]
element next
IAccessible2 relation IA2_RELATION_FLOWS_FROM is [test]
ATK relation RELATION_FLOWS_FROM is [test]

aria-grabbed=true

aria-grabbed=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-grabbed='true'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-grabbed='true'.
element test
IAccessible2 property objectAttributes contains grabbed:true
UIA property AriaProperties.grabbed is true
ATK property objectAttributes contains grabbed:true
AXAPI property AXGrabbed is YES

aria-grabbed=false

aria-grabbed=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-grabbed='false'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-grabbed='false'.
element test
IAccessible2 property objectAttributes contains grabbed:false
UIA property AriaProperties.grabbed is false
ATK property objectAttributes contains grabbed:false
AXAPI property AXGrabbed is NO

aria-haspopup=true

aria-haspopup=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 06-Jul-2017: Remove AXPress action from the macOS mapping of aria-haspopup. (Note: Test needs to use element and role that lacks any other reason for having the AXPress action.)
  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-haspopup='true'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-haspopup='true'.
element test
MSAA property states contains STATE_SYSTEM_HASPOPUP
IAccessible2 property objectAttributes contains haspopup:true
UIA property Control Pattern is ExpandCollapse
ATK property states contains STATE_HAS_POPUP
property objectAttributes contains haspopup:true
AXAPI property actions contains AXShowMenu
property actions doesNotContain AXPress

aria-haspopup=false

aria-haspopup=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-haspopup='false'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-haspopup='false'.
element test
MSAA property states doesNotContain STATE_SYSTEM_HASPOPUP
IAccessible2 property objectAttributes contains haspopup:false

aria-haspopup=dialog NEW

aria-haspopup=dialog in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-haspopup switched from boolean to token in ARIA 1.1.
  • 06-Jul-2017: Remove AXPress action from the macOS mapping of aria-haspopup. (Note: Test needs to use element and role that lacks any other reason for having the AXPress action.)
  • 06-Jul-2017: Remove AXPress action from the macOS mapping of aria-haspopup. (Note: Test needs to use element and role that lacks any other reason for having the AXPress action.)
  • 06-Jun-2016: Added MSAA+IA2, UIA, and ATK/AT-SPI mappings for the new values of aria-haspopup added for ARIA 1.1.
  • 06-May-2016: Added changes for revised values for aria-haspopup for ATK/AT-SPI and MSAA+IA2 along with error handling.
if given
  <div role='group' id='test' aria-haspopup='dialog'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-haspopup='dialog'.
element test
MSAA property states contains STATE_SYSTEM_HASPOPUP
IAccessible2 property objectAttributes contains haspopup:dialog
UIA property Control Pattern is ExpandCollapse
ATK property states contains STATE_HAS_POPUP
property objectAttributes contains haspopup:dialog
AXAPI property actions contains AXShowMenu
property actions doesNotContain AXPress

aria-haspopup=listbox NEW

aria-haspopup=listbox in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-haspopup switched from boolean to token in ARIA 1.1.
  • 06-Jul-2017: Remove AXPress action from the macOS mapping of aria-haspopup. (Note: Test needs to use element and role that lacks any other reason for having the AXPress action.)
  • 06-Jun-2016: Added MSAA+IA2, UIA, and ATK/AT-SPI mappings for the new values of aria-haspopup added for ARIA 1.1.
  • 06-May-2016: Added changes for revised values for aria-haspopup for ATK/AT-SPI and MSAA+IA2 along with error handling.
if given
  <div role='group' id='test' aria-haspopup='listbox'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-haspopup='listbox'.
element test
MSAA property states contains STATE_SYSTEM_HASPOPUP
IAccessible2 property objectAttributes contains haspopup:listbox
UIA property Control Pattern is ExpandCollapse
ATK property states contains STATE_HAS_POPUP
property objectAttributes contains haspopup:listbox
AXAPI property actions contains AXShowMenu
property actions doesNotContain AXPress

aria-haspopup=menu NEW

aria-haspopup=menu in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-haspopup switched from boolean to token in ARIA 1.1.
  • 06-Jul-2017: Remove AXPress action from the macOS mapping of aria-haspopup. (Note: Test needs to use element and role that lacks any other reason for having the AXPress action.)
  • 06-Jun-2016: Added MSAA+IA2, UIA, and ATK/AT-SPI mappings for the new values of aria-haspopup added for ARIA 1.1.
  • 06-May-2016: Added changes for revised values for aria-haspopup for ATK/AT-SPI and MSAA+IA2 along with error handling.
if given
  <div role='group' id='test' aria-haspopup='menu'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-haspopup='menu'.
element test
MSAA property states contains STATE_SYSTEM_HASPOPUP
IAccessible2 property objectAttributes contains haspopup:menu
UIA property Control Pattern is ExpandCollapse
ATK property states contains STATE_HAS_POPUP
property objectAttributes contains haspopup:menu
AXAPI property actions contains AXShowMenu
property actions doesNotContain AXPress

aria-haspopup=tree NEW

aria-haspopup=tree in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-haspopup switched from boolean to token in ARIA 1.1.
  • 06-Jul-2017: Remove AXPress action from the macOS mapping of aria-haspopup. (Note: Test needs to use element and role that lacks any other reason for having the AXPress action.)
  • 06-Jun-2016: Added MSAA+IA2, UIA, and ATK/AT-SPI mappings for the new values of aria-haspopup added for ARIA 1.1.
  • 06-May-2016: Added changes for revised values for aria-haspopup for ATK/AT-SPI and MSAA+IA2 along with error handling.
if given
  <div role='group' id='test' aria-haspopup='tree'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-haspopup='tree'.
element test
MSAA property states contains STATE_SYSTEM_HASPOPUP
IAccessible2 property objectAttributes contains haspopup:tree
UIA property Control Pattern is ExpandCollapse
ATK property states contains STATE_HAS_POPUP
property objectAttributes contains haspopup:tree
AXAPI property actions contains AXShowMenu
property actions doesNotContain AXPress

aria-hidden=true

Note: The mapping is a "SHOULD"; not a "MUST".

aria-hidden=true on unfocused element in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div id='test' aria-hidden='true'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-hidden='true'.
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

aria-hidden=true when element is focused or fires event NEW

aria-hidden=true when element is focused or fires an accessibility event in the Core AAM

Associated changes since Core AAM 1.0:

  • 24-March-2014: Updated mapping of aria-hidden=true to indicate that user agents should not expose unless the accessible object is focused or fires an accessibility event.
if given
  <div id='test' aria-hidden='true' tabindex='0'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-hidden='true'.
event test:focus
element test
MSAA property accessible is true
IAccessible2 property objectAttributes contains hidden:true
UIA property accessible is true
property AriaProperties.hidden is true
ATK property accessible is true
property objectAttributes contains hidden:true
AXAPI property accessible is true

aria-invalid=true

aria-invalid=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-invalid='true'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-invalid='true'.
element test
IAccessible2 property states contains IA2_STATE_INVALID_ENTRY
property textAttributes contains invalid:true
UIA property IsDataValidForForm is false
ATK property states contains STATE_INVALID_ENTRY
property textAttributes contains invalid:true
AXAPI property AXInvalid is true

aria-invalid=false

aria-invalid=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-invalid='false'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-invalid='false'.
element test
IAccessible2 property states doesNotContain IA2_STATE_INVALID_ENTRY
UIA property IsDataValidForForm is true
ATK property states doesNotContain STATE_INVALID_ENTRY
AXAPI property AXInvalid is false

aria-invalid=spelling

aria-invalid=spelling or grammar in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-invalid='spelling'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-invalid='spelling'.
element test
IAccessible2 property states contains IA2_STATE_INVALID_ENTRY
property textAttributes contains invalid:spelling
UIA property IsDataValidForForm is "spelling"
ATK property states contains STATE_INVALID_ENTRY
property textAttributes contains invalid:spelling
AXAPI property AXInvalid is "spelling"

aria-invalid=grammar

aria-invalid=spelling or grammar in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-invalid='grammar'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-invalid='grammar'.
element test
IAccessible2 property states contains IA2_STATE_INVALID_ENTRY
property textAttributes contains invalid:grammar
UIA property IsDataValidForForm is "grammar"
ATK property states contains STATE_INVALID_ENTRY
property textAttributes contains invalid:grammar
AXAPI property AXInvalid is "grammar"

aria-invalid with unrecognized value NEW

aria-invalid with unrecognized value in the Core AAM

Associated changes since Core AAM 1.0:

  • 14-Nov-2014: Fixed mappings of aria-invalid=<unknown value>.
  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-invalid='foo'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-invalid with unrecognized value.
element test
IAccessible2 property states contains IA2_STATE_INVALID_ENTRY
property textAttributes contains invalid:true
UIA property IsDataValidForForm is false
ATK property states contains STATE_INVALID_ENTRY
property textAttributes contains invalid:true
AXAPI property AXInvalid is true

aria-keyshortcuts NEW

aria-keyshortcuts in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-details is new to ARIA 1.1 and thus needs full testing.
  • 04-Jul-2016: Added AX API mapping for aria-keyshortcuts (mapping is "not mapped")
  • 27-Jun-2016: Added ATK/AT-SPI mapping for aria-keyshortcuts.
  • 03-Jun-2016: Added MSAA+IA2 mapping of aria-keyshortcuts.
  • 20-May-2016: Added UIA mapping of aria-keyshortcuts.
if given
  <div role='group' id='test' aria-keyshortcuts='Shift+Space'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-keyshortcuts.
element test
IAccessible2 property accKeyboardShortcut is Shift+Space
UIA property AcceleratorKey is "Shift+Space"
ATK property objectAttributes contains keyshortcuts:Shift+Space

aria-label

aria-label in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-label='hello world'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-label.
element test
IAccessible2 property accName is "hello world"
UIA property Name is "hello world"
ATK property name is "hello world"
AXAPI property AXDescription is "hello world"

aria-labelledby

aria-labelledby in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-labelledby='label'>content</div>
  <div id='label'>hello world</div>
then the element with id of 'test' should get its name from the element with id of 'label'.
element test
IAccessible2 property accName is "hello world"
relation IA2_RELATION_LABELLED_BY is [label]
UIA property Name is "hello world"
property LabeledBy is [label]
ATK property name is "hello world"
relation RELATION_LABELLED_BY is [label]
AXAPI property AXDescription is "hello world"
property AXTitleUIElement is label
element label
IAccessible2 relation IA2_RELATION_LABEL_FOR is [test]
ATK relation RELATION_LABEL_FOR is [test]

aria-level on non-heading

aria-level on non-heading in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='tree'>
    <div role='treeitem' id='test' aria-level='5'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-level on non-heading.
element test
IAccessible2 property objectAttributes contains level:5
property groupPosition contains groupLevel:5
UIA property AriaProperties.level is 5
ATK property objectAttributes contains level:5
AXAPI property AXDisclosureLevel is 4

aria-level on heading

aria-level on heading in the Core AAM

Associated changes since Core AAM 1.0:

  • 03-Nov-2014: Specified UIA mappings of aria-level when used in conjunction with role heading.
  • 21-Mar-2014: Added UIA.
if given
  <div role='heading' id='test' aria-level='2'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-level on heading.
element test
IAccessible2 property objectAttributes contains level:2
UIA property AriaProperties.level is 2
property StyleId_Heading is 2
ATK property objectAttributes contains level:2
AXAPI property AXValue is 2

aria-live=assertive

aria-live=assertive in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-live='assertive'>
    <div role='group' id='child'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-live='assertive'.
element test
IAccessible2 property objectAttributes contains live:assertive
property objectAttributes contains container-live:assertive
UIA property LiveSetting is "assertive"
ATK property objectAttributes contains live:assertive
property objectAttributes contains container-live:assertive
AXAPI property AXARIALive is "assertive"
element child
IAccessible2 property objectAttributes contains container-live:assertive
ATK property objectAttributes contains container-live:assertive

aria-live=polite

aria-live=polite in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-live='polite'>
    <div role='group' id='child'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-live='polite'.
element test
IAccessible2 property objectAttributes contains live:polite
property objectAttributes contains container-live:polite
UIA property LiveSetting is "polite"
ATK property objectAttributes contains live:polite
property objectAttributes contains container-live:polite
AXAPI property AXARIALive is "polite"
element child
IAccessible2 property objectAttributes contains container-live:polite
ATK property objectAttributes contains container-live:polite

aria-live=off

aria-live=off in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-live='off'>
    <div role='group' id='child'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-live='off'.
element test
IAccessible2 property objectAttributes contains live:off
property objectAttributes contains container-live:off
UIA property LiveSetting is "off"
ATK property objectAttributes contains live:off
property objectAttributes contains container-live:off
AXAPI property AXARIALive is "off"
element child
IAccessible2 property objectAttributes contains container-live:off
ATK property objectAttributes contains container-live:off

aria-modal=true NEW

aria-modal=true in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-modal is new to ARIA 1.1 and thus needs full testing
  • 11-Apr-2016: Added AX API mappings for aria-modal="true" and aria-modal="false".
  • 27-Nov-2014: Added mappings for aria-modal property.
if given
  <div role='group' id='group'>content</div>
  <div role='dialog' id='test' aria-modal='true'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-modal='true'.
element test
IAccessible2 property states contains IA2_STATE_MODAL
UIA property Window.IsModal is true
ATK property states contains STATE_MODAL
element group
AXAPI property accessible is false

aria-modal=false NEW

aria-modal=false in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-modal is new to ARIA 1.1 and thus needs full testing
  • 11-Apr-2016: Added AX API mappings for aria-modal="true" and aria-modal="false".
  • 27-Nov-2014: Added mappings for aria-modal property.
if given
  <div role='group' id='group'>content</div>
  <div role='dialog' id='test' aria-modal='false'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-modal='false'.
element test
IAccessible2 property states doesNotContain IA2_STATE_MODAL
UIA property Window.IsModal is false
ATK property states doesNotContain STATE_MODAL
element group
AXAPI property accessible is true

aria-multiline=true

aria-multiline=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='textbox' id='test' aria-multiline='true'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-multiline='true'.
element test
IAccessible2 property states contains IA2_STATE_MULTI_LINE
property states doesNotContain IA2_STATE_SINGLE_LINE
UIA property AriaProperties.multiline is true
ATK property states contains STATE_MULTI_LINE
property states doesNotContain STATE_SINGLE_LINE

aria-multiline=false

aria-multiline=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='textbox' id='test' aria-multiline='false'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-multiline='false'.
element test
IAccessible2 property states contains IA2_STATE_SINGLE_LINE
property states doesNotContain IA2_STATE_MULTI_LINE
ATK property states contains STATE_SINGLE_LINE
property states doesNotContain STATE_MULTI_LINE

aria-multiselectable=true

aria-multiselectable=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='grid' id='test' aria-multiselectable='true'>
    <div role='row'>
      <div role='cell'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-multiselectable='true'.
element test
MSAA property states contains STATE_SYSTEM_MULTISELECTABLE
property states contains STATE_SYSTEM_EXTSELECTABLE
UIA property Selection.CanSelectMultiple is true
ATK property states contains STATE_MULTISELECTABLE

aria-multiselectable=false

aria-multiselectable=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='grid' id='test' aria-multiselectable='false'>
    <div role='row'>
      <div role='cell'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-multiselectable='false'.
element test
MSAA property states doesNotContain STATE_SYSTEM_MULTISELECTABLE
property states doesNotContain STATE_SYSTEM_EXTSELECTABLE
ATK property states doesNotContain STATE_MULTISELECTABLE

aria-orientation=horizontal

aria-orientation=horizontal in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='scrollbar' id='test' aria-orientation='horizontal'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-orientation='horizontal'.
element test
IAccessible2 property states contains IA2_STATE_HORIZONTAL
property states doesNotContain IA2_STATE_VERTICAL
UIA property Orientation is horizontal
ATK property states contains STATE_HORIZONTAL
property states doesNotContain STATE_VERTICAL
AXAPI property AXOrientation is AXHorizontalOrientation

aria-orientation=vertical

aria-orientation=vertical in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='scrollbar' id='test' aria-orientation='vertical'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-orientation='vertical'.
element test
IAccessible2 property states contains IA2_STATE_VERTICAL
property states doesNotContain IA2_STATE_HORIZONTAL
UIA property Orientation is vertical
ATK property states contains STATE_VERTICAL
property states doesNotContain STATE_HORIZONTAL
AXAPI property AXOrientation is AXVerticalOrientation

aria-orientation=undefined NEW

aria-orientation is undefined in the Core AAM

Associated changes since Core AAM 1.0:

  • In ARIA 1.1, undefined became a supported value of aria-orientation. Thus this value needs full testing.
  • 21-Mar-2014: Added UIA.
if given
  <div role='scrollbar' id='test' aria-orientation='undefined'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-orientation='undefined'.
element test
ATK property states doesNotContain STATE_VERTICAL
property states doesNotContain STATE_HORIZONTAL
AXAPI property AXOrientation is AXUnknownOrientation

aria-owns may need manual verification

NOTE: The mappings for some platforms have an either/or condition, namely either modify the tree or use accessible relations. The automated testing tools don't yet have smarts for that sort of thing. Hence flagging this situation in the name of the test.

aria-owns in the Core AAM

Associated changes since Core AAM 1.0:

  • 07-Sep-2017: Add statement to ATK and MSAA/IA2 mappings for aria-owns indicating that user agents may modify the accessibility tree as an alternative to using accessible relations.
  • 31-Mar-2015: AX API mappings for aria-owns.
  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-owns='owned1 owned2'>content</div>
  <div role='group' id='owned1'>content</div>
  <div role='group' id='owned2'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-owns.
element test
IAccessible2 relation IA2_RELATION_NODE_PARENT_OF is [owned1, owned2]
UIA property Children is [owned1, owned2]
ATK relation RELATION_NODE_PARENT_OF is [owned1, owned2]
AXAPI property AXOwns is [owned1, owned2]
element owned1
IAccessible2 relation IA2_RELATION_NODE_CHILD_OF is [test]
UIA property Parent is test
ATK relation RELATION_NODE_CHILD_OF is [test]
element owned2
IAccessible2 relation IA2_RELATION_NODE_CHILD_OF is [test]
UIA property Parent is test
ATK relation RELATION_NODE_CHILD_OF is [test]

aria-placeholder NEW

aria-placeholder in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-placeholder is new to ARIA 1.1 and thus needs full testing.
  • 24-Oct-2016: Changed name of IA2 object property name for aria-placeholder to "placeholder-text" (was "placeholder").
  • 31-Jul-2015: Finalized all mappings of aria-placeholder.
  • 02-Jun-2015: MSAA+UIA Express and UIA mappings for aria-placeholder.
  • 28-Apr-2015: ATK/AT-SPI mappings for aria-placeholder.
if given
  <div role='textbox' id='test' aria-placeholder='hello world'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-placeholder.
element test
IAccessible2 property objectAttributes contains placeholder-text:hello world
UIA property AriaProperties.placeholder is "hello world"
ATK property objectAttributes contains placeholder-text:hello world
AXAPI property AXPlaceholderValue is "hello world"

aria-posinset

aria-posinset in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='list'>
    <div role='listitem' id='test' aria-posinset='2'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-posinset.
element test
IAccessible2 property objectAttributes contains posinset:2
property groupPosition contains positionInGroup:2
UIA property AriaProperties.posinset is 2
ATK property objectAttributes contains posinset:2
AXAPI property AXARIAPosInSet is 2

aria-pressed=true

aria-pressed=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 15-May-2014: Remove checkable:true object attribute from IA2 and ATK mappings
  • 21-Mar-2014: Added UIA.
if given
  <div role='button' id='test' aria-pressed='true'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-pressed='true'.
element test
MSAA property states contains STATE_SYSTEM_PRESSED
IAccessible2 property objectAttributes doesNotContain checkable:true
UIA property Toggle.ToggleState is On (1)
ATK property states contains STATE_PRESSED
property objectAttributes doesNotContain checkable:true
AXAPI property AXValue is 1

aria-pressed=mixed

aria-pressed=mixed in the Core AAM

Associated changes since Core AAM 1.0:

  • 04-Aug-2017: Correct MSAA mapping for aria-pressed="mixed", changing it from STATE_SYSTEM_PRESSED to STATE_SYSTEM_MIXED.
  • 21-Mar-2014: Added UIA.
if given
  <div role='button' id='test' aria-pressed='mixed'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-pressed='mixed'.
element test
MSAA property states contains STATE_SYSTEM_MIXED
UIA property Toggle.ToggleState is Indeterminate (2)
ATK property states contains STATE_INDETERMINATE
AXAPI property AXValue is 2

aria-pressed=false

aria-pressed=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='button' id='test' aria-pressed='false'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-pressed='false'.
element test
MSAA property states doesNotContain STATE_SYSTEM_PRESSED
UIA property Toggle.ToggleState is Off (3)
ATK property states doesNotContain STATE_PRESSED
AXAPI property AXValue is 0

aria-readonly=true on checkbox

aria-readonly=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 02-Aug-2017: For aria-readonly="true", add statement that ATK_STATE_CHECKABLE not be exposed on roles which support aria-checked.
  • 27-Apr-2017: Replaced deprecated AX API accessibilityIsAttributeSettable() with AXUIElementIsAttributeSettable().
  • 08-Aug-2016: Modified ATK/AT-SPI mappings of aria-readonly.
  • 21-Mar-2014: Added UIA.
if given
  <div role='checkbox' id='test' aria-readonly='true'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-readonly='true'.
element test
MSAA property states contains STATE_SYSTEM_READONLY
UIA property Value.IsReadOnly is true
ATK property states contains STATE_READ_ONLY
property states doesNotContain STATE_CHECKABLE
AXAPI result AXUIElementIsAttributeSettable(AXValue) is NO

aria-readonly=true on radiogroup

aria-readonly=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 02-Aug-2017: For aria-readonly="true", add statement that ATK_STATE_CHECKABLE not be exposed on roles which support aria-checked.
  • 27-Apr-2017: Replaced deprecated AX API accessibilityIsAttributeSettable() with AXUIElementIsAttributeSettable().
  • 08-Aug-2016: Modified ATK/AT-SPI mappings of aria-readonly.
  • 21-Mar-2014: Added UIA.
if given
  <div role='radiogroup' id='test' aria-readonly='true'>
    <div role='radio' id='radio'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-readonly='true'.
element test
MSAA property states contains STATE_SYSTEM_READONLY
UIA property Value.IsReadOnly is true
ATK property states contains STATE_READ_ONLY
AXAPI result AXUIElementIsAttributeSettable(AXValue) is NO
element radio
ATK property states doesNotContain STATE_CHECKABLE

aria-readonly=true on textbox

aria-readonly=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 27-Apr-2017: Replaced deprecated AX API accessibilityIsAttributeSettable() with AXUIElementIsAttributeSettable().
  • 08-Aug-2016: Modified ATK/AT-SPI mappings of aria-readonly.
  • 21-Mar-2014: Added UIA.
if given
  <div role='textbox' id='test' aria-readonly='true'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-readonly='true'.
element test
MSAA property states contains STATE_SYSTEM_READONLY
UIA property Value.IsReadOnly is true
ATK property states contains STATE_READ_ONLY
property states doesNotContain STATE_EDITABLE
AXAPI result AXUIElementIsAttributeSettable(AXValue) is NO

aria-readonly=false

aria-readonly=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 02-Aug-2017: Change mapping of aria-readonly="false" from exposing ATK_STATE_EDITABLE on textbox to clearing ATK_STATE_READ_ONLY.
  • 27-Apr-2017: Replaced deprecated AX API accessibilityIsAttributeSettable() with AXUIElementIsAttributeSettable().
  • 21-Mar-2014: Added UIA.
if given
  <div role='checkbox' id='test' aria-readonly='false'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-readonly='false'.
element test
MSAA property states doesNotContain STATE_SYSTEM_READONLY
IAccessible2 property states contains IA2_STATE_EDITABLE
UIA property Value.IsReadOnly is false
ATK property states doesNotContain STATE_READ_ONLY
AXAPI result AXUIElementIsAttributeSettable(AXValue) is YES

aria-readonly is unspecified on gridcell NEW

aria-readonly is unspecified on gridcell in the Core AAM

Associated changes since Core AAM 1.0:

  • Inheritance of the value of aria-readonly from the grid is new to ARIA 1.1.
  • 27-Apr-2017: Replaced deprecated AX API accessibilityIsAttributeSettable() with AXUIElementIsAttributeSettable().
if given
  <div role='grid' aria-readonly='true'>
    <div role='row'>
      <div role='gridcell' id='test'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-readonly inherited from the grid.
element test
MSAA property states contains STATE_SYSTEM_READONLY
UIA property Value.IsReadOnly is true
ATK property states contains STATE_READ_ONLY
property states doesNotContain STATE_EDITABLE
AXAPI result AXUIElementIsAttributeSettable(AXValue) is NO

aria-relevant

aria-relevant in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' id='test' aria-relevant='additions' aria-live='polite'>
    <div role='group' id='child'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-relevant.
element test
IAccessible2 property objectAttributes contains relevant:additions
property objectAttributes contains container-relevant:additions
UIA property AriaProperties.relevant is "additions"
ATK property objectAttributes contains relevant:additions
property objectAttributes contains container-relevant:additions
AXAPI property AXARIARelevant is "additions"
element child
IAccessible2 property objectAttributes contains container-relevant:additions
ATK property objectAttributes contains container-relevant:additions

aria-required=true

aria-required=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='combobox' id='test' aria-required='true'>
    <div role='textbox'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-required='true'.
element test
IAccessible2 property states contains IA2_STATE_REQUIRED
UIA property IsRequiredForForm is true
ATK property states contains STATE_REQUIRED
AXAPI property AXRequired is YES

aria-roledescription NEW

aria-roledescription in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-roledescription is new to ARIA 1.1 and thus needs full testing.
  • 03-Oct-2016: Added aria-roledescription mappings for empty and whitespace strings as well as error handling text.
  • 18-Aug-2015: Added mappings of aria-roledescription for MSAA+IA2, UIA, ATK/AT-SPI and AX API.
if given
  <div role='group' id='test' aria-roledescription='hello world'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-roledescription.
element test
IAccessible2 property localizedExtendedRole is "hello world"
UIA property LocalizedControlType is "hello world"
ATK property objectAttributes contains roledescription:hello world
AXAPI property AXRoleDescription is "hello world"

aria-roledescription is empty or whitespace characters NEW

aria-roledescription is empty or whitespace characters in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-roledescription is new to ARIA 1.1 and thus needs full testing.
  • 03-Oct-2016: Added aria-roledescription mappings for empty and whitespace strings as well as error handling text.
  • 18-Aug-2015: Added mappings of aria-roledescription for MSAA+IA2, UIA, ATK/AT-SPI and AX API.
if given
  <div role='group' id='test' aria-roledescription=' '>content</div>
then expose the element with id of 'test' with the platform mappings for aria-roledescription is empty or whitespace characters.
element test
UIA property Localized ControlType is Group
AXAPI property AXRoleDescription is "group"

aria-rowcount NEW

aria-rowcount in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-colcount and aria-rowcount are new to ARIA 1.1 and thus need full testing.
  • 07-Aug-2017: Update ATK mappings for indeterminate colcount and rowcount.
  • 20-Jan-2017: Added AX API mappings for aria-colcount and aria-rowcount.
  • 07-Dec-2016: Added UIA mappings for aria-colcount and aria-rowcount.
if given
  <div role='table' id='test' aria-rowcount='3'>
    <div role='row' id='row'>
      <div role='cell'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-rowcount.
element test
IAccessible2 property objectAttributes contains rowcount:3
UIA property Grid.RowCount is 3
ATK property objectAttributes contains rowcount:3
result atk_table_get_n_rows() is 3
AXAPI property AXARIARowCount is 3
element row
IAccessible2 property groupPosition contains similarItemsInGroup:3

aria-rowindex NEW

aria-rowindex in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-colindex and aria-rowindex are new to ARIA 1.1 and thus need full testing.
  • 20-Jan-2017: Added AX API mappings for aria-colindex and aria-rowindex.
  • 08-Sep-2016: Updated table properties for row and column for MSAA/IA2 and ATK/AT-SPI.
  • 03-Jan-2016: Added UIA mappings for aria-colindex and aria-rowindex. Added placeholders for the other AAPIs.
if given
  <div role='grid'>
    <div role='row' id='row'>
      <div role='cell' id='test' aria-rowindex='3'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-rowindex.
element test
IAccessible2 property objectAttributes contains rowindex:3
UIA property GridItem.Row is 2
ATK property objectAttributes contains rowindex:3
result atk_table_cell_get_position() contains row=2
AXAPI property AXARIARowIndex is 3
element row
IAccessible2 property groupPosition contains positionInGroup:3

aria-rowspan NEW

aria-rowspan in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-colspan and aria-rowspan are new to ARIA 1.1 and thus need full testing.
  • 20-Jan-2017: Added AX API mappings for aria-colspan and aria-rowspan.
  • 07-Dec-2016: Added UIA mappings for aria-colspan and aria-rowspan.
  • 08-Sep-2016: Added aria-colspan and aria-rowspan mappings.
if given
  <div role='grid'>
    <div role='row'>
      <div role='cell' id='test' aria-rowspan='2'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-rowspan.
element test
IAccessible2 property objectAttributes contains rowspan:2
property rowExtent is 2
UIA property GridItem.RowSpan is 2
ATK property objectAttributes contains rowspan:2
result atk_table_cell_get_row_column_span() contains row_span=2
AXAPI property AXRowIndexRange.length is 2

aria-selected=true

aria-selected=true in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='grid'>
    <div role='row'>
      <div role='gridcell' id='test' aria-selected='true'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-selected='true'.
element test
MSAA property states contains STATE_SYSTEM_SELECTABLE
property states contains STATE_SYSTEM_SELECTED
UIA property SelectionItem.IsSelected is true
ATK property states contains STATE_SELECTABLE
property states contains STATE_SELECTED
AXAPI property AXSelected is YES

aria-selected=false

aria-selected=false in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='grid'>
    <div role='row'>
      <div role='gridcell' id='test' aria-selected='false'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-selected='false'.
element test
MSAA property states contains STATE_SYSTEM_SELECTABLE
property states doesNotContain STATE_SYSTEM_SELECTED
UIA property SelectionItem.IsSelected is false
ATK property states contains STATE_SELECTABLE
property states doesNotContain STATE_SELECTED
AXAPI property AXSelected is NO

aria-setsize=3

aria-setsize in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='list'>
    <div role='listitem' id='test' aria-setsize='3'>content</div>
    <div role='listitem' aria-setsize='3'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-setsize.
element test
IAccessible2 property objectAttributes contains setsize:3
UIA property AriaProperties.setsize is 3
ATK property objectAttributes contains setsize:3
property states doesNotContain STATE_INDETERMINATE
AXAPI property AXARIASetSize is 3

aria-setsize=-1 NEW

aria-setsize in the Core AAM

Associated changes since Core AAM 1.0:

  • -1 was added as a valid value for aria-setsize in ARIA 1.1, thus full testing is needed.
if given
  <div role='list'>
    <div role='listitem' id='test' aria-setsize='-1'>content</div>
    <div role='listitem' aria-setsize='-1'>content</div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-setsize.
element test
IAccessible2 property objectAttributes contains setsize:-1
UIA property AriaProperties.setsize is -1
ATK property objectAttributes contains setsize:2
property states contains STATE_INDETERMINATE
AXAPI property AXARIASetSize is -1

aria-sort=ascending

aria-sort=ascending in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='grid'>
    <div role='row'>
      <div role='columnheader' id='test' aria-sort='ascending'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-sort='ascending'.
element test
IAccessible2 property objectAttributes contains sort:ascending
UIA property AriaProperties.sort is ascending
property ItemStatus is ascending
ATK property objectAttributes contains sort:ascending
AXAPI property AXSortDirection is AXAscendingSortDirection

aria-sort=descending

aria-sort=descending in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='grid'>
    <div role='row'>
      <div role='columnheader' id='test' aria-sort='descending'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-sort='descending'.
element test
IAccessible2 property objectAttributes contains sort:descending
UIA property AriaProperties.sort is descending
property ItemStatus is descending
ATK property objectAttributes contains sort:descending
AXAPI property AXSortDirection is AXDescendingSortDirection

aria-sort=other

aria-sort=other in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='grid'>
    <div role='row'>
      <div role='columnheader' id='test' aria-sort='other'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-sort='other'.
element test
IAccessible2 property objectAttributes contains sort:other
UIA property AriaProperties.sort is other
property ItemStatus is other
ATK property objectAttributes contains sort:other
AXAPI property AXSortDirection is AXUnknownSortDirection

aria-sort=none

aria-sort=none in the Core AAM

if given
  <div role='grid'>
    <div role='row'>
      <div role='columnheader' id='test' aria-sort='none'>content</div>
    </div>
  </div>
then expose the element with id of 'test' with the platform mappings for aria-sort='none'.
element test
IAccessible2 property objectAttributes contains sort:none
ATK property objectAttributes contains sort:none

aria-valuemax

aria-valuemax in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Fix name of UIA pattern for range roles (should be RangeValue; not Range).
  • 21-Mar-2014: Added UIA.
if given
  <div role='scrollbar' id='test' aria-valuemax='10'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-valuemax.
element test
IAccessible2 property maximumValue is 10
UIA property RangeValue.Maximum is 10
ATK result atk_value_get_maximum_value() is 10
AXAPI property AXMaxValue is 10

aria-valuemin

aria-valuemin in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Fix name of UIA pattern for range roles (should be RangeValue; not Range).
  • 21-Mar-2014: Added UIA.
if given
  <div role='scrollbar' id='test' aria-valuemin='2'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-valuemin.
element test
IAccessible2 property minimumValue is 2
UIA property RangeValue.Minimum is 2
ATK result atk_value_get_minimum_value() is 2
AXAPI property AXMinValue is 2

aria-valuenow

aria-valuenow in the Core AAM

Associated changes since Core AAM 1.0:

  • 17-Aug-2017: Fix name of UIA pattern for range roles (should be RangeValue; not Range).
  • 21-Mar-2014: Added UIA.
if given
  <div role='scrollbar' id='test' aria-valuenow='5'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-valuenow.
element test
IAccessible2 property currentValue is 5
property accValue is 5
UIA property RangeValue.Value is 5
ATK result atk_value_get_current_value() is 5
AXAPI property AXValue is 5

aria-valuetext

aria-valuetext in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='slider' id='test' aria-valuetext='hello world'>content</div>
then expose the element with id of 'test' with the platform mappings for aria-valuetext.
element test
IAccessible2 property accValue is "hello world"
property objectAttributes contains valuetext:hello world
UIA property Value.Value is "hello world"
ATK property objectAttributes contains valuetext:hello world
AXAPI property AXValueDescription is "hello world"

State and Property Accessible Event Tests

aria-activedescendant value changes (TODO)

aria-busy value changes

aria-busy event in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-May-2014: Added additional AX API mapping for aria-busy (before there was no notification).
  • 21-Mar-2014: Added UIA.
if given
   <div role='group' id='test'>content</div>
then emit the platform accessibility events for changes to the value of aria-busy.
attribute test:aria-busy true
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
UIA event type is PropertyChangedEvent
ATK event type is object:state-changed:busy
event detail1 is 1
AXAPI event type is AXElementBusyChanged
attribute test:aria-busy false
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
UIA event type is PropertyChangedEvent
ATK event type is object:state-changed:busy
event detail1 is 0
AXAPI event type is AXElementBusyChanged

aria-checked value changes

aria-checked event in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
   <div role='checkbox' id='test'>content</div>
then emit the platform accessibility events for changes to the value of aria-checked.
attribute test:aria-checked true
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
UIA event type is TogglePattern.ToggleStateProperty
ATK event type is object:state-changed:checked
event detail1 is 1
AXAPI event type is AXValueChanged
attribute test:aria-checked false
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
UIA event type is TogglePattern.ToggleStateProperty
ATK event type is object:state-changed:checked
event detail1 is 0
AXAPI event type is AXValueChanged

aria-current value changes

aria-current event in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-current is new to ARIA 1.1 and thus needs full testing.
if given
  <div role="list">
    <div id="test" role="listitem">1</li>
    <div role="listitem">2</li>
  </div>
then emit the platform accessibility events for changes to the value of aria-current.
attribute test:aria-current true
element test
IAccessible2 event type is IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED
UIA event type is PropertyChangedEvent
ATK event type is object:state-changed:active
event detail1 is 1
attribute test:aria-current false
element test
IAccessible2 event type is IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED
UIA event type is PropertyChangedEvent
ATK event type is object:state-changed:active
event detail1 is 0

aria-disabled value changes

aria-disabled event in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA (but the mapping is no event, so nothing we can reliably test).
if given
   <div role='checkbox' id='test'>content</div>
then emit the platform accessibility events for changes to the value of aria-disabled.
attribute test:aria-disabled true
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
ATK event type is object:state-changed:enabled
event detail1 is 0
event type is object:state-changed:sensitive
event detail1 is 0

aria-dropeffect value changes

aria-dropeffect event in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA (but the mapping is no event, so nothing we can reliably test).
if given
  <div role='group' id='test'>content</div>
then emit the platform accessibility events for changes to the value of aria-dropeffect.
attribute test:aria-dropeffect copy
element test
IAccessible2 event type is IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED
ATK event type is object:property-change

aria-grabbed value changes

aria-grabbed event in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA (but the mapping is no event, so nothing we can reliably test).
if given
   <div role='group' id='test'>content</div>
then emit the platform accessibility events for changes to the value of aria-grabbed.
attribute test:aria-grabbed true
element test
MSAA event type is EVENT_OBJECT_SELECTION
IAccessible2 event type is IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED
ATK event type is object:property-change

aria-hidden value changes

aria-hidden event in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
   <div role='checkbox' id='test'>content</div>
then emit the platform accessibility events for changes to the value of aria-hidden.
attribute test:aria-hidden true
element test
IAccessible2 event type is IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED
UIA event type is StructureChangedEvent
ATK event type is object:property-change
AXAPI event type is AXUIElementDestroyed
attribute test:aria-hidden false
element test
IAccessible2 event type is IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED
UIA event type is StructureChangedEvent
ATK event type is object:property-change
AXAPI event type is AXUIElementCreated

aria-invalid value changes

aria-invalid event in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA (but the mapping is no event, so nothing we can reliably test).
if given
   <div role='textbox' id='test'>content</div>
then emit the platform accessibility events for changes to the value of aria-invalid.
attribute test:aria-invalid true
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
ATK event type is object:state-changed:invalid-entry
event detail1 is 1
AXAPI event type is AXInvalidStatusChanged
attribute test:aria-invalid false
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
ATK event type is object:state-changed:invalid-entry
event detail1 is 0
AXAPI event type is AXInvalidStatusChanged

aria-expanded value changes

aria-expanded event in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='menu' id='test'>
    <div role='menuitem'>content</div>
  </div>then emit the platform accessibility events for changes to the value of aria-expanded.
attribute test:aria-expanded true
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
UIA event type is ExpandCollapsePattern.ExpandCollapseStateProperty
ATK event type is object:state-changed:expanded
event detail1 is 1
AXAPI event type is AXRowExpanded
event type is AXRowCountChanged
attribute test:aria-expanded false
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
UIA event type is ExpandCollapsePattern.ExpandCollapseStateProperty
ATK event type is object:state-changed:expanded
event detail1 is 0
AXAPI event type is AXRowCollapsed
event type is AXRowCountChanged

aria-pressed value changes

aria-pressed event in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA (but the mapping is no event, so nothing we can reliably test).
if given
   <div role='button' id='test'>content</div>
then emit the platform accessibility events for changes to the value of aria-pressed.
attribute test:aria-pressed true
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
ATK event type is object:state-changed:pressed
event detail1 is 1
attribute test:aria-pressed false
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
ATK event type is object:state-changed:pressed
event detail1 is 0

aria-readonly value changes

aria-readonly event in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA (but the mapping is no event, so nothing we can reliably test).
if given
   <div role='textbox' id='test'>content</div>
then emit the platform accessibility events for changes to the value of aria-readonly.
attribute test:aria-readonly true
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
ATK event type is object:state-changed:read-only
event detail1 is 1
attribute test:aria-readonly false
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
ATK event type is object:state-changed:read-only
event detail1 is 0

aria-required value changes

aria-required event in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA (but the mapping is no event, so nothing we can reliably test).
if given
   <div role='textbox' id='test'>content</div>
then emit the platform accessibility events for changes to the value of aria-required.
attribute test:aria-required true
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
ATK event type is object:state-changed:required
event detail1 is 1
attribute test:aria-required false
element test
MSAA event type is EVENT_OBJECT_STATECHANGE
ATK event type is object:state-changed:required
event detail1 is 0

aria-selected value changes(TODO)

aria-valuenow value changes

aria-valuenow event in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
   <div role='slider' id='test'>content</div>
then emit the platform accessibility events for changes to the value of aria-valuenow.
attribute test:aria-valuenow 10
element test
MSAA event type is EVENT_OBJECT_VALUECHANGE
UIA event type is ValuePattern.ValueProperty
ATK event type is object:property-change:accessible-value
AXAPI event type is AXValueChanged

aria-valuetext value changes

aria-valuetext event in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA (but the mapping is no event, so nothing we can reliably test).
if given
   <div role='slider' id='test'>content</div>
then emit the platform accessibility events for changes to the value of aria-valuetext.
attribute test:aria-valuetext great
element test
MSAA event type is EVENT_OBJECT_VALUECHANGE
ATK event type is object:property-change:accessible-value
AXAPI event type is AXValueChanged

Relations (Referenced Elements) Tests

N.B. The Core AAM maps ARIA "relations" (properties which reference another element) to platform relations. The State and Property Tests above include assertions for platform relations and, where appropriate, reverse relations. As a result, there is no need for a dedicated set of tests for this area.

Accessibility Tree Tests

Note: Tests here are to cover sections 5.1.1 and 5.1.2. In some cases, the content in those sections is redundant to what is in mapping tables (and thus already covered in the tests above). Things already covered include:

  • Elements with none or presentation as the first mappable role MUST be excluded when no other condition (e.g. being focused) necessitates inclusion.
  • Elements with none or presentation as the first mappable role MUST be included when a specified condition (e.g. being focused) necessitates inclusion.
  • Elements with aria-hidden="true" and their descendants SHOULD be excluded.
  • Elements that may fire an accessibility API event MUST be included.
  • Elements which have a mappable role attribute string, and have not already been excluded due to the rules in 5.1.1, MUST be included.
  • Elements that may fire an accessibility event, if they have not been excluded due to the rules in 5.1.1, MUST be included.

Exclude element hidden with CSS display:none

Excluding Elements from the Accessibility Tree in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='button' style='display:none;'>content</div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude element hidden with CSS visibility:hidden

Excluding Elements from the Accessibility Tree in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='button' style='visibility:hidden;'>content</div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude element hidden with HTML5 hidden

Excluding Elements from the Accessibility Tree in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='button' hidden>content</div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of button

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='button'>
    <div id='test'>content</div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of checkbox NEW

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • In ARIA 1.1, checkbox was added to the list of roles which have presentational children.
  • 03-Jan-2017: Updated the list of roles with "Children Presentational" characteristic.
  • 21-Mar-2014: Added UIA.
if given
  <div role='checkbox'>
    <div id='test'>content</div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of img

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='img'>
    <div id='test'>content</div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of math

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='math'>
    <div id='test'>content</div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of menuitemcheckbox NEW

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • In ARIA 1.1, menuitemcheckbox was added to the list of roles which have presentational children.
  • 03-Jan-2017: Updated the list of roles with "Children Presentational" characteristic.
  • 21-Mar-2014: Added UIA.
if given
  <div role='menu'>
    <div role='menuitemcheckbox'>
      <div id='test'>content</div>
    </div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of menuitemradio NEW

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • In ARIA 1.1, menuitemradio was added to the list of roles which have presentational children.
  • 03-Jan-2017: Updated the list of roles with "Children Presentational" characteristic.
  • 21-Mar-2014: Added UIA.
if given
  <div role='menu'>
    <div role='menuitemradio'>
      <div id='test'>content</div>
    </div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of option NEW

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • In ARIA 1.1, option was added to the list of roles which have presentational children.
  • 03-Jan-2017: Updated the list of roles with "Children Presentational" characteristic.
  • 21-Mar-2014: Added UIA.
if given
  <div role='listbox'>
    <div role='option'>
      <div id='test'>content</div>
    </div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of progressbar

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='progressbar'>
    <div id='test'>content</div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of radio NEW

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • In ARIA 1.1, radio was added to the list of roles which have presentational children.
  • 03-Jan-2017: Updated the list of roles with "Children Presentational" characteristic.
  • 21-Mar-2014: Added UIA.
if given
  <div role='radio'>
    <div id='test'>content</div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of scrollbar

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='scrollbar'>
    <div id='test'>content</div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of separator

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='separator'>
    <div id='test'>content</div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of slider

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='slider'>
    <div id='test'>content</div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of switch NEW

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • In ARIA 1.1, switch was added to the list of roles which have presentational children.
  • 03-Jan-2017: Updated the list of roles with "Children Presentational" characteristic.
  • 21-Mar-2014: Added UIA.
if given
  <div role='switch'>
    <div id='test'>content</div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Exclude presentational children of tab NEW

Excluding Elements from the Accessibility Tree in the Core AAM

Note: This exclusion is a "SHOULD"; not a "MUST".

Associated changes since Core AAM 1.0:

  • In ARIA 1.1, tab was added to the list of roles which have presentational children.
  • 03-Jan-2017: Updated the list of roles with "Children Presentational" characteristic.
  • 21-Mar-2014: Added UIA.
if given
  <div role='tablist'>
    <div role='tab'>
      <div id='test'>content</div>
    </div>
  </div>
then the element with id of 'test' should be excluded from the accessibility tree
element test
MSAA property accessible is false
UIA property accessible is false
ATK property accessible is false
AXAPI property accessible is false

Include element referenced by global aria-controls

Including Elements in the Accessibility Tree in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' aria-controls='test'>content</div>
  <div id='test'>hello world</div>
then the element with id of 'test' should be included in the accessibility tree
element test
MSAA property accessible is true
UIA property accessible is true
ATK property accessible is true
AXAPI property accessible is true

Include element referenced by global aria-describedby

Including Elements in the Accessibility Tree in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' aria-describedby='test'>content</div>
  <div id='test'>hello world</div>
then the element with id of 'test' should be included in the accessibility tree
element test
MSAA property accessible is true
UIA property accessible is true
ATK property accessible is true
AXAPI property accessible is true

Include element referenced by global aria-details NEW

Including Elements in the Accessibility Tree in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-details is new to ARIA 1.1.
  • 21-Mar-2014: Added UIA.
if given
  <div role='group' aria-details='test'>content</div>
  <div id='test'>hello world</div>
then the element with id of 'test' should be included in the accessibility tree
element test
MSAA property accessible is true
UIA property accessible is true
ATK property accessible is true
AXAPI property accessible is true

Include element referenced by global aria-errormessage NEW

Including Elements in the Accessibility Tree in the Core AAM

Associated changes since Core AAM 1.0:

  • aria-errormessage is new to ARIA 1.1.
  • 21-Mar-2014: Added UIA.
if given
  <div role='group' aria-errormessage='test' aria-invalid='true'>content</div>
  <div id='test'>hello world</div>
then the element with id of 'test' should be included in the accessibility tree
element test
MSAA property accessible is true
UIA property accessible is true
ATK property accessible is true
AXAPI property accessible is true

Include element referenced by global aria-flowto

Including Elements in the Accessibility Tree in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' aria-flowto='test'>content</div>
  <div id='test'>hello world</div>
then the element with id of 'test' should be included in the accessibility tree
element test
MSAA property accessible is true
UIA property accessible is true
ATK property accessible is true
AXAPI property accessible is true

Include element referenced by global aria-labelledby

Including Elements in the Accessibility Tree in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' aria-labelledby='test'>content</div>
  <div id='test'>hello world</div>
then the element with id of 'test' should be included in the accessibility tree
element test
MSAA property accessible is true
UIA property accessible is true
ATK property accessible is true
AXAPI property accessible is true

Include element referenced by global aria-owns

Including Elements in the Accessibility Tree in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' aria-owns='test'>content</div>
  <div id='test'>hello world</div>
then the element with id of 'test' should be included in the accessibility tree
element test
MSAA property accessible is true
UIA property accessible is true
ATK property accessible is true
AXAPI property accessible is true

Include element that is focusable

Including Elements in the Accessibility Tree in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div id='test' tabindex='0'>content</div>
then the element with id of 'test' should be included in the accessibility tree
element test
MSAA property accessible is true
UIA property accessible is true
ATK property accessible is true
AXAPI property accessible is true

Include element with ID inside element with aria-activedescendant

Including Elements in the Accessibility Tree in the Core AAM

Associated changes since Core AAM 1.0:

  • 21-Mar-2014: Added UIA.
if given
  <div role='group' aria-activedescendant='child' tabindex='0'>
    <div id='child'>content</div>
    <div id='test'>content</div>
  </div>
then the element with id of 'test' should be included in the accessibility tree
element test
MSAA property accessible is true
UIA property accessible is true
ATK property accessible is true
AXAPI property accessible is true

Accessible Event Tests for Document Content Changes

Text Removed (TODO)

Text Inserted (TODO)

Text Changed (TODO)

Subtree Hidden (TODO)

Subtree Removed (TODO)

Subtree Shown (TODO)

Subtree Inserted (TODO)

Subtree Moved (TODO)

Subtree Changed (TODO)

Live Region Text Removed (TODO)

Live Region Text Inserted (TODO)

Live Region Text Changed (TODO)

Live Region Subtree Hidden (TODO)

Live Region Subtree Removed (TODO)

Live Region Subtree Shown (TODO)

Live Region Subtree Inserted (TODO)

Live Region Subtree Moved (TODO)

Live Region Subtree Changed (TODO)

Error Message Text Removed NEW (TODO)

Error Message Text Inserted NEW (TODO)

Error Message Text Changed NEW (TODO)

Other ChangeLog entries for which dedicated tests are not needed for 1.1

ChangeLog entries which are normative and have associated testing requirements are listed above under the test(s) which cover that entry. The rest can be found here.

"Changes" to things which no longer exist

  • The "text" role was added to ARIA 1.1, but was later removed.
    • 08-Jun-2016: Removed role text.
    • 22-Feb-2016: IA2 mapping of role="text" changed to ROLE_SYSTEM_STATICTEXT from IA2_TEXT_FRAME.
    • 27-Nov-2015: Added UIA mapping of role="text" as a Text control pattern; and ATK/AT-SPI mapping as ROLE_STATIC.
    • 28-Sep-2015: Added IA2 mapping of role="text".
    • 27-Nov-2014: Added mappings for role text.
  • ARIA lacks a means to implement the popup-for ATK relation type.
    • 14-Mar-2017: Undid the 1.1 addition of RELATION_POPUP_FOR to ATK/AT-SPI mappings of aria-haspopup. While the addition is correct in terms of platform expectations, the ARIA spec provides no means through which user agents could reliably implement this.
    • 12-Sep-2016: Added RELATION_POPUP_FOR to ATK/AT-SPI mappings of aria-haspopup, for ARIA 1.1. N.B. This change has subsequently been undone. See entry for 14-Mar-2017.

Things in the ChangeLog which are non-normative and/or not testable

  • mult. dates: Entries related to "updating default values" when these changes were strictly to the "context" and didn't impact the actual mappings via platform accessibility APIs.
  • 01-Aug-2017: Remove explicit "do not expose STATE_EDITABLE" for roles which are by definition not editable from the ATK mappings.
  • 28-Sep-2015: Removed all MSAA+UIA Express mappings.
  • 11-Nov-2014: Added informative section on relationship between ATK and AT-SPI.
  • 27-Oct-2014: Moved text alternative computation section to its own document.