From 09f4b8a8d97964c0e51672295965566dfa88c44b Mon Sep 17 00:00:00 2001 From: Valerie Young Date: Mon, 15 May 2023 18:22:27 +0000 Subject: [PATCH] Add computed role section and mappings (#167) SHA: b7aaf0f98d2f81fa18251654218c9cd5cfe12e12 Reason: push, by spectranaut Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- index.html | 682 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 579 insertions(+), 103 deletions(-) diff --git a/index.html b/index.html index 2f8aca6..559fb81 100644 --- a/index.html +++ b/index.html @@ -436,7 +436,7 @@

Core Accessibility API Mappings 1.2

This document is governed by the 2 November 2021 W3C Process Document. -

+

1. Introduction

This section is non-normative.

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

@@ -585,15 +585,21 @@

Core Accessibility API Mappings 1.2

  • ATK/AT-SPI: expose as an object attribute pair (xml-roles:"string")
  • -

    4.4.2 Role Mapping Table

    +

    4.4.2 Computed Role

    + +

    The computed role of an element is a string that represents the role of the element for the purposes of specification comformance testing. When an element has a role but is not contained in the required context (for example, a role listitem used on an element outside of a list), the computed role of the element is unspecified.

    +
    Note

    User agents can provide this role string, for example, in response to the WebDriver function getComputedRole.

    +
    +

    4.4.3 Role Mapping Table

    -
    Note

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

    +
    Note

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

    alert
    alert
    MSAA + IAccessible2 +
    alert
    alert
    Computed Role +

    alert

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_ALERT
    Event: The user agent SHOULD fire EVENT_SYSTEM_ALERT. [Note 2]
    UIA @@ -2439,7 +2729,9 @@

    Core Accessibility API Mappings 1.2

    AXRole: AXGroup
    AXSubrole: AXApplicationAlert
    Event: The user agent SHOULD fire a system alert event. [Note 2] -
    alertdialog
    alertdialog
    MSAA + IAccessible2 +
    alertdialog
    alertdialog
    Computed Role +

    alertdialog

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_DIALOG
    Event: The user agent SHOULD fire EVENT_SYSTEM_ALERT. [Note 2]
    UIA @@ -2453,7 +2745,9 @@

    Core Accessibility API Mappings 1.2

    AXRole: AXGroup
    AXSubrole: AXApplicationAlertDialog
    Event: The user agent SHOULD fire a system alert event. [Note 2] -
    application
    application
    MSAA + IAccessible2 +
    application
    application
    Computed Role +

    application

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_APPLICATION
    UIA Control Type: Pane
    @@ -2463,7 +2757,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXWebApplication
    -
    article
    article
    MSAA + IAccessible2 +
    article
    article
    Computed Role +

    article

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_DOCUMENT
    State: STATE_SYSTEM_READONLY
    Object Attribute: xml-roles:article @@ -2476,7 +2772,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXDocumentArticle
    -
    banner
    banner
    MSAA + IAccessible2 +
    banner
    banner
    Computed Role +

    banner

    +
    MSAA + IAccessible2 Role: IA2_ROLE_LANDMARK
    Object Attribute: xml-roles:banner
    UIA @@ -2490,7 +2788,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXLandmarkBanner
    -
    blockquote
    blockquote
    MSAA + IAccessible2 +
    blockquote
    blockquote
    Computed Role +

    blockquote

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GROUPING
    Role: IA2_ROLE_BLOCK_QUOTE
    UIA @@ -2501,7 +2801,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: <nil>
    -
    button with default values for aria-pressed and aria-haspopup
    button with default values for aria-pressed and aria-haspopup
    MSAA + IAccessible2 +
    button with default values for aria-pressed and aria-haspopup
    button with default values for aria-pressed and aria-haspopup
    Computed Role +

    button

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_PUSHBUTTON
    UIA Control Type: Button @@ -2510,7 +2812,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXButton
    AXSubrole: <nil>
    -
    button with non-false value for aria-haspopup
    button with non-false value for aria-haspopup
    MSAA + IAccessible2 +
    button with non-false value for aria-haspopup
    button with non-false value for aria-haspopup
    Computed Role +

    button

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_BUTTONMENU
    UIA Control Type: Button @@ -2519,7 +2823,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXPopUpButton
    AXSubrole: <nil>
    -
    button with defined value for aria-pressed
    button with defined value for aria-pressed
    MSAA + IAccessible2 +
    button with defined value for aria-pressed
    button with defined value for aria-pressed
    Computed Role +

    button

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_PUSHBUTTON
    Role: IA2_ROLE_TOGGLE_BUTTON
    UIA @@ -2529,7 +2835,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXCheckBox
    AXSubrole: AXToggle
    -
    caption
    caption
    MSAA + IAccessible2 +
    caption
    caption
    Computed Role +

    caption

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GROUPING
    Role: IA2_ROLE_CAPTION
    UIA @@ -2539,7 +2847,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: <nil>
    -
    cell
    cell
    MSAA + IAccessible2 +
    cell
    cell
    Computed Role +

    cell

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_CELL
    Interface: IAccessibleTableCell
    UIA @@ -2553,7 +2863,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXCell
    AXSubrole: <nil>
    -
    checkbox
    checkbox
    MSAA + IAccessible2 +
    checkbox
    checkbox
    Computed Role +

    checkbox

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_CHECKBUTTON
    See also: aria-checked in the State and Property Mapping Table
    UIA @@ -2566,7 +2878,9 @@

    Core Accessibility API Mappings 1.2

    AXRole: AXCheckBox
    AXSubrole: <nil>
    See also: aria-checked in the State and Property Mapping Table -
    code
    code
    MSAA + IAccessible2 +
    code
    code
    Computed Role +

    code

    +
    MSAA + IAccessible2 Role: IA2_ROLE_TEXT_FRAME
    Object Attribute: xml-roles:code
    UIA @@ -2578,7 +2892,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXCodeStyleGroup
    -
    columnheader
    columnheader
    MSAA + IAccessible2 +
    columnheader
    columnheader
    Computed Role +

    columnheader

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_COLUMNHEADER
    Interface: IAccessibleTableCell
    UIA @@ -2592,7 +2908,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXCell
    AXSubrole: <nil>
    -
    combobox
    combobox
    MSAA + IAccessible2 +
    combobox
    combobox
    Computed Role +

    combobox

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_COMBOBOX
    State: STATE_SYSTEM_HASPOPUP
    State: STATE_SYSTEM_COLLAPSED if aria-expanded is not "true" @@ -2605,7 +2923,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXComboBox
    AXSubrole: <nil>
    -
    comment
    comment
    MSAA + IAccessible2 +
    comment
    comment
    Computed Role +

    comment

    +
    MSAA + IAccessible2 Role: IA2_ROLE_COMMENT
    Object Attribute: xml-roles:comment
    UIA @@ -2616,7 +2936,9 @@

    Core Accessibility API Mappings 1.2

    Object Attribute: xml-roles:comment
    AX API[Note 1] AXRole: AXGroup
    -
    complementary
    complementary
    MSAA + IAccessible2 +
    complementary
    complementary
    Computed Role +

    complementary

    +
    MSAA + IAccessible2 Role: IA2_ROLE_LANDMARK
    Object Attribute: xml-roles:complementary
    UIA @@ -2630,7 +2952,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXLandmarkComplementary
    -
    contentinfo
    contentinfo
    MSAA + IAccessible2 +
    contentinfo
    contentinfo
    Computed Role +

    contentinfo

    +
    MSAA + IAccessible2 Role: IA2_ROLE_LANDMARK
    Object Attribute: xml-roles:contentinfo
    UIA @@ -2644,7 +2968,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXLandmarkContentInfo
    -
    definition
    definition
    MSAA + IAccessible2 +
    definition
    definition
    Computed Role +

    definition

    +
    MSAA + IAccessible2 Object Attribute: xml-roles:definition
    UIA Control Type: Group
    @@ -2655,7 +2981,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXDefinition
    -
    deletion
    deletion
    MSAA + IAccessible2 +
    deletion
    deletion
    Computed Role +

    deletion

    +
    MSAA + IAccessible2 Role: IA2_ROLE_CONTENT_DELETION
    UIA Control Type: Text
    @@ -2667,7 +2995,9 @@

    Core Accessibility API Mappings 1.2

    AXRole: AXGroup
    AXSubrole: AXDeleteStyleGroup
    AXAttributedStringForTextMarkerRange: contains AXIsSuggestedDeletion = 1; for all text contained in a deletion -
    dialog
    dialog
    MSAA + IAccessible2 +
    dialog
    dialog
    Computed Role +

    dialog

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_DIALOG
    UIA Control Type: Pane @@ -2677,7 +3007,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXApplicationDialog
    -
    directory
    directory
    MSAA + IAccessible2 +
    directory
    directory
    Computed Role +

    list

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_LIST
    UIA Control Type: List @@ -2686,7 +3018,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXList
    AXSubrole: AXContentList
    -
    document
    document
    MSAA + IAccessible2 +
    document
    document
    Computed Role +

    document

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_DOCUMENT
    State: STATE_SYSTEM_READONLY
    UIA @@ -2696,7 +3030,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXDocument
    -
    emphasis
    emphasis
    MSAA + IAccessible2 +
    emphasis
    emphasis
    Computed Role +

    emphasis

    +
    MSAA + IAccessible2 Role: IA2_ROLE_TEXT_FRAME
    Object Attribute: xml-roles:emphasis
    UIA @@ -2708,7 +3044,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXEmphasisStyleGroup
    -
    feed
    feed
    MSAA + IAccessible2 +
    feed
    feed
    Computed Role +

    feed

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GROUPING
    Object Attribute: xml-roles:feed
    UIA @@ -2720,7 +3058,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXApplicationGroup
    -
    figure
    figure
    MSAA + IAccessible2 +
    figure
    figure
    Computed Role +

    figure

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GROUPING
    Object Attribute: xml-roles:figure
    UIA @@ -2732,7 +3072,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: <nil>
    -
    form with an accessible name
    form with an accessible name
    MSAA + IAccessible2 +
    form with an accessible name
    form with an accessible name
    Computed Role +

    form

    +
    MSAA + IAccessible2 Role: IA2_ROLE_FORM
    Object Attribute: xml-roles:form
    UIA @@ -2745,7 +3087,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXLandmarkForm
    -
    form without an accessible name
    form without an accessible name
    MSAA + IAccessible2 +
    form without an accessible name
    form without an accessible name
    Computed Role +

    form

    +
    MSAA + IAccessible2 Do not expose the element as a landmark. Use the native host language role of the element instead.
    UIA Do not expose the element as a landmark. Use the native host language role of the element instead. @@ -2753,7 +3097,9 @@

    Core Accessibility API Mappings 1.2

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

    generic

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GROUPING
    Role: IA2_ROLE_SECTION
    UIA @@ -2763,7 +3109,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: <nil>
    -
    grid
    grid
    MSAA + IAccessible2 +
    grid
    grid
    Computed Role +

    grid

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_TABLE
    Object Attribute: xml-roles:grid
    Interface: IAccessibleTable2
    @@ -2786,7 +3134,9 @@

    Core Accessibility API Mappings 1.2

    AXColumnHeaderUIElements: a list of pointers to the columnheader elements
    AXHeader: a pointer to the row or group containing those columnheader elements
    AXRowHeaderUIElements: a list of pointers to the rowheader elements -
    gridcell
    gridcell
    MSAA + IAccessible2 +
    gridcell
    gridcell
    Computed Role +

    gridcell

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_CELL
    Interface: IAccessibleTableCell
    UIA @@ -2802,7 +3152,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXCell
    AXSubrole: <nil>
    -
    group
    group
    MSAA + IAccessible2 +
    group
    group
    Computed Role +

    group

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GROUPING
    UIA Control Type: Group @@ -2811,7 +3163,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXApplicationGroup
    -
    heading
    heading
    MSAA + IAccessible2 +
    heading
    heading
    Computed Role +

    heading

    +
    MSAA + IAccessible2 Role: IA2_ROLE_HEADING
    Object Attribute: xml-roles:heading
    UIA @@ -2822,7 +3176,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXHeading
    AXSubrole: <nil>
    -
    img
    img
    MSAA + IAccessible2 +
    img
    img
    Computed Role +

    image

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GRAPHIC
    Interface: IAccessibleImage
    UIA @@ -2833,7 +3189,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXImage
    AXSubrole: <nil>
    -
    insertion
    insertion
    MSAA + IAccessible2 +
    insertion
    insertion
    Computed Role +

    insertion

    +
    MSAA + IAccessible2 Role: IA2_ROLE_CONTENT_INSERTION
    UIA Control Type: Text
    @@ -2845,7 +3203,9 @@

    Core Accessibility API Mappings 1.2

    AXRole: AXGroup
    AXSubrole: AXInsertStyleGroup
    AXAttributedStringForTextMarkerRange: contains AXIsSuggestedInsertion = 1; for all text contained in a insertion -
    link
    link
    MSAA + IAccessible2 +
    link
    link
    Computed Role +

    link

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_LINK
    State: STATE_SYSTEM_LINKED
    State: STATE_SYSTEM_LINKED on its descendants
    @@ -2859,7 +3219,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXLink
    AXSubrole: <nil>
    -
    list
    list
    MSAA + IAccessible2 +
    list
    list
    Computed Role +

    list

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_LIST
    State: STATE_SYSTEM_READONLY
    UIA @@ -2869,7 +3231,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXList
    AXSubrole: AXContentList
    -
    listbox not owned by or child of combobox
    listbox not owned by or child of combobox
    MSAA + IAccessible2 +
    listbox not owned by or child of combobox
    listbox not owned by or child of combobox
    Computed Role +

    listbox

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_LIST
    Method: IAccessible::accSelect()
    Method: IAccessible::get_accSelection() @@ -2883,7 +3247,9 @@

    Core Accessibility API Mappings 1.2

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

    listbox

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_LIST
    Method: IAccessible::accSelect()
    Method: IAccessible::get_accSelection() @@ -2897,7 +3263,9 @@

    Core Accessibility API Mappings 1.2

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

    listitem

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_LISTITEM
    State: STATE_SYSTEM_READONLY
    UIA @@ -2909,7 +3277,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: <nil>
    -
    log
    log
    MSAA + IAccessible2 +
    log
    log
    Computed Role +

    log

    +
    MSAA + IAccessible2 Object Attribute: xml-roles:log
    Object Attribute: container-live:polite
    Object Attribute: live:polite
    @@ -2927,7 +3297,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXApplicationLog
    -
    main
    main
    MSAA + IAccessible2 +
    main
    main
    Computed Role +

    main

    +
    MSAA + IAccessible2 Role: IA2_ROLE_LANDMARK
    Object Attribute: xml-roles:main
    UIA @@ -2940,7 +3312,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXLandmarkMain
    -
    mark
    mark
    MSAA + IAccessible2 +
    mark
    mark
    Computed Role +

    mark

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GROUPING
    Role: IA2_ROLE_MARK
    Object Attribute: xml-roles:mark @@ -2953,7 +3327,9 @@

    Core Accessibility API Mappings 1.2

    AXRole: AXGroup
    AXRoleDescription: highlight
    AXAttributedStringForTextMarkerRange: contains AXHighlight = 1; for all text contained in a mark -
    marquee
    marquee
    MSAA + IAccessible2 +
    marquee
    marquee
    Computed Role +

    marquee

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_ANIMATION
    Object Attribute: xml-roles:marquee
    Object Attribute: container-live:off
    @@ -2969,7 +3345,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXApplicationMarquee
    -
    math
    math
    MSAA + IAccessible2 +
    math
    math
    Computed Role +

    math

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_EQUATION
    UIA Control Type: Group
    @@ -2979,7 +3357,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXDocumentMath
    -
    menu
    menu
    MSAA + IAccessible2 +
    menu
    menu
    Computed Role +

    menu

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_MENUPOPUP
    Method: IAccessible::accSelect()
    Method: IAccessible::get_accSelection() @@ -2992,7 +3372,9 @@

    Core Accessibility API Mappings 1.2

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

    menubar

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_MENUBAR
    Method: IAccessible::accSelect()
    Method: IAccessible::get_accSelection() @@ -3005,7 +3387,9 @@

    Core Accessibility API Mappings 1.2

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

    menuitem

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_MENUITEM
    UIA Control Type: MenuItem @@ -3014,7 +3398,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXMenuItem
    AXSubrole: <nil>
    -
    menuitemcheckbox
    menuitemcheckbox
    MSAA + IAccessible2 +
    menuitemcheckbox
    menuitemcheckbox
    Computed Role +

    menuitemcheckbox

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_CHECKBUTTON or ROLE_SYSTEM_MENUITEM
    Role: IA2_ROLE_CHECK_MENU_ITEM
    See also: aria-checked in the State and Property Mapping Table @@ -3029,7 +3415,9 @@

    Core Accessibility API Mappings 1.2

    AXRole: AXMenuItem
    AXSubrole: <nil>
    See also: aria-checked in the State and Property Mapping Table -
    menuitemradio
    menuitemradio
    MSAA + IAccessible2 +
    menuitemradio
    menuitemradio
    Computed Role +

    menuitemradio

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_RADIOBUTTON or ROLE_SYSTEM_MENUITEM
    Role: IA2_ROLE_RADIO_MENU_ITEM
    See also: aria-checked in the State and Property Mapping Table @@ -3045,7 +3433,9 @@

    Core Accessibility API Mappings 1.2

    AXRole: AXMenuItem
    AXSubrole: <nil>
    See also: aria-checked in the State and Property Mapping Table -
    meter
    meter
    MSAA + IAccessible2 +
    meter
    meter
    Computed Role +

    meter

    +
    MSAA + IAccessible2 Role: IA2_ROLE_LEVEL_BAR
    Interface: IAcesssibleValue
    UIA @@ -3058,7 +3448,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXLevelIndicator
    AXSubrole: AXMeter
    -
    navigation
    navigation
    MSAA + IAccessible2 +
    navigation
    navigation
    Computed Role +

    navigation

    +
    MSAA + IAccessible2 Role: IA2_ROLE_LANDMARK
    Object Attribute: xml-roles:navigation
    UIA @@ -3071,7 +3463,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXLandmarkNavigation
    -
    none
    none
    MSAA + IAccessible2 +
    none
    none
    Computed Role +

    none

    +
    MSAA + IAccessible2

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

    UIA

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

    @@ -3079,7 +3473,9 @@

    Core Accessibility API Mappings 1.2

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

    AX API[Note 1]

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

    -
    note
    note
    MSAA + IAccessible2 +
    note
    note
    Computed Role +

    note

    +
    MSAA + IAccessible2 Role: IA2_ROLE_NOTE
    UIA Control Type: Group
    @@ -3089,7 +3485,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXDocumentNote
    -
    option not inside combobox
    option not inside combobox
    MSAA + IAccessible2 +
    option not inside combobox
    option not inside combobox
    Computed Role +

    option

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_LISTITEM
    See also: aria-checked in the State and Property Mapping Table
    UIA @@ -3103,7 +3501,9 @@

    Core Accessibility API Mappings 1.2

    AXRole: AXStaticText
    AXSubrole: <nil>
    See also: aria-checked in the State and Property Mapping Table -
    option inside combobox
    option inside combobox
    MSAA + IAccessible2 +
    option inside combobox
    option inside combobox
    Computed Role +

    option

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_LISTITEM
    See also: aria-checked in the State and Property Mapping Table
    UIA @@ -3117,7 +3517,9 @@

    Core Accessibility API Mappings 1.2

    AXRole: AXStaticText
    AXSubrole: <nil>
    See also: aria-checked in the State and Property Mapping Table -
    paragraph
    paragraph
    MSAA + IAccessible2 +
    paragraph
    paragraph
    Computed Role +

    paragraph

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GROUPING
    Role: IA2_ROLE_PARAGRAPH
    UIA @@ -3127,7 +3529,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: <nil>
    -
    presentation
    presentation
    MSAA + IAccessible2 +
    presentation
    presentation
    Computed Role +

    none

    +
    MSAA + IAccessible2

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

    UIA

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

    @@ -3135,7 +3539,9 @@

    Core Accessibility API Mappings 1.2

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

    AX API[Note 1]

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

    -
    progressbar
    progressbar
    MSAA + IAccessible2 +
    progressbar
    progressbar
    Computed Role +

    progressbar

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_PROGRESSBAR
    State: STATE_SYSTEM_READONLY
    Interface: IAcesssibleValue @@ -3149,7 +3555,9 @@

    Core Accessibility API Mappings 1.2

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

    radio

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_RADIOBUTTON
    See also: aria-checked in the State and Property Mapping Table
    UIA @@ -3164,7 +3572,9 @@

    Core Accessibility API Mappings 1.2

    AXRole: AXRadioButton
    AXSubrole: <nil>
    See also: aria-checked in the State and Property Mapping Table -
    radiogroup
    radiogroup
    MSAA + IAccessible2 +
    radiogroup
    radiogroup
    Computed Role +

    ragiogroup

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GROUPING
    UIA Control Type: List @@ -3173,7 +3583,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXRadioGroup
    AXSubrole: <nil>
    -
    region with an accessible name
    region with an accessible name
    MSAA + IAccessible2 +
    region with an accessible name
    region with an accessible name
    Computed Role +

    region

    +
    MSAA + IAccessible2 Role: IA2_ROLE_LANDMARK
    Object Attribute: xml-roles:region
    UIA @@ -3187,7 +3599,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXLandmarkRegion
    -
    region without an accessible name
    region without an accessible name
    MSAA + IAccessible2 +
    region without an accessible name
    region without an accessible name
    Computed Role +

    Use native host language role.

    +
    MSAA + IAccessible2 Do not expose the element as a landmark. Use the native host language role of the element instead.
    UIA Do not expose the element as a landmark. Use the native host language role of the element instead. @@ -3195,7 +3609,9 @@

    Core Accessibility API Mappings 1.2

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

    row

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_ROW
    UIA Control Type: DataItem
    @@ -3206,7 +3622,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXRow
    AXSubrole: <nil>
    -
    row inside treegrid
    row inside treegrid
    MSAA + IAccessible2 +
    row inside treegrid
    row inside treegrid
    Computed Role +

    treegrid

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_OUTLINEITEM
    UIA Control Type: DataItem
    @@ -3217,7 +3635,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXRow
    AXSubrole: <nil>
    -
    rowgroup
    rowgroup
    MSAA + IAccessible2 +
    rowgroup
    rowgroup
    Computed Role +

    rowgroup

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GROUPING
    UIA Control Type: Group @@ -3225,7 +3645,9 @@

    Core Accessibility API Mappings 1.2

    Role: ROLE_PANEL
    AX API[Note 1] Not mapped -
    rowheader
    rowheader
    MSAA + IAccessible2 +
    rowheader
    rowheader
    Computed Role +

    rowheader

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_ROWHEADER
    Interface: IAccessibleTableCell
    UIA @@ -3236,7 +3658,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXCell
    AXSubrole: <nil>
    -
    scrollbar
    scrollbar
    MSAA + IAccessible2 +
    scrollbar
    scrollbar
    Computed Role +

    scrollbar

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_SCROLLBAR
    Interface: IAcesssibleValue
    UIA @@ -3249,7 +3673,9 @@

    Core Accessibility API Mappings 1.2

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

    search

    +
    MSAA + IAccessible2 Role: IA2_ROLE_LANDMARK
    Object Attribute: xml-roles:search
    UIA @@ -3262,7 +3688,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXLandmarkSearch
    -
    searchbox
    searchbox
    MSAA + IAccessible2 +
    searchbox
    searchbox
    Computed Role +

    searchbox

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_TEXT
    Object Attribute: text-input-type:search
    UIA @@ -3275,7 +3703,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXTextField
    AXSubrole: AXSearchField
    -
    separator (non-focusable)
    separator (non-focusable)
    MSAA + IAccessible2 +
    separator (non-focusable)
    separator (non-focusable)
    Computed Role +

    seperator

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_SEPARATOR
    UIA Control Type: Separator @@ -3284,7 +3714,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXSplitter
    AXSubrole: <nil>
    -
    separator (focusable)
    separator (focusable)
    MSAA + IAccessible2 +
    separator (focusable)
    separator (focusable)
    Computed Role +

    seperator

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_SEPARATOR
    Interface: IAccessibleValue
    UIA @@ -3297,7 +3729,9 @@

    Core Accessibility API Mappings 1.2

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

    slider

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_SLIDER
    Interface: IAcesssibleValue
    UIA @@ -3310,7 +3744,9 @@

    Core Accessibility API Mappings 1.2

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

    spinbutton

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_SPINBUTTON
    Interface: IAcesssibleValue
    UIA @@ -3323,7 +3759,9 @@

    Core Accessibility API Mappings 1.2

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

    status

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_STATUSBAR
    Object Attribute: container-live:polite
    Object Attribute: live:polite
    @@ -3340,7 +3778,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXApplicationStatus
    -
    strong
    strong
    MSAA + IAccessible2 +
    strong
    strong
    Computed Role +

    strong

    +
    MSAA + IAccessible2 Role: IA2_ROLE_TEXT_FRAME
    Object Attribute: xml-roles:strong
    UIA @@ -3352,7 +3792,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXStrongStyleGroup
    -
    subscript
    subscript
    MSAA + IAccessible2 +
    subscript
    subscript
    Computed Role +

    subscript

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GROUPING
    Role: IA2_ROLE_TEXT_FRAME
    Text Attribute: text-position:sub @@ -3364,7 +3806,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXSubscriptStyleGroup
    -
    suggestion
    suggestion
    MSAA + IAccessible2 +
    suggestion
    suggestion
    Computed Role +

    suggestion

    +
    MSAA + IAccessible2 Role: IA2_ROLE_SUGGESTION
    Object Attribute: xml-roles:suggestion
    UIA @@ -3376,7 +3820,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXAttributedStringForTextMarkerRange: contains AXIsSuggestion = 1; for all text contained in a suggestion -
    superscript
    superscript
    MSAA + IAccessible2 +
    superscript
    superscript
    Computed Role +

    superscript

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GROUPING
    Role: IA2_ROLE_TEXT_FRAME
    Text Attribute: text-position:super @@ -3388,7 +3834,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXSuperscriptStyleGroup
    -
    switch
    switch
    MSAA + IAccessible2 +
    switch
    switch
    Computed Role +

    switch

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_CHECKBUTTON
    Role: IA2_ROLE_TOGGLE_BUTTON
    Object Attribute: xml-roles:switch
    @@ -3406,7 +3854,9 @@

    Core Accessibility API Mappings 1.2

    AXRole: AXCheckBox
    AXSubrole: AXSwitch
    See also: aria-checked in the State and Property Mapping Table -
    tab
    tab
    MSAA + IAccessible2 +
    tab
    tab
    Computed Role +

    tab

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_PAGETAB
    State: STATE_SYSTEM_SELECTED if focus is inside tabpanel associated with aria-labelledby
    UIA @@ -3417,7 +3867,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXRadioButton
    AXSubrole: AXTabButton
    -
    table
    table
    MSAA + IAccessible2 +
    table
    table
    Computed Role +

    table

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_TABLE
    Object Attribute: xml-roles:table
    Interface: IAccessibleTable2 @@ -3435,7 +3887,9 @@

    Core Accessibility API Mappings 1.2

    AXColumnHeaderUIElements: a list of pointers to the columnheader elements
    AXHeader: a pointer to the row or group containing those columnheader elements
    AXRowHeaderUIElements: a list of pointers to the rowheader elements -
    tablist
    tablist
    MSAA + IAccessible2 +
    tablist
    tablist
    Computed Role +

    tablist

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_PAGETABLIST
    Method: IAccessible::accSelect()
    Method: IAccessible::get_accSelection() @@ -3449,7 +3903,9 @@

    Core Accessibility API Mappings 1.2

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

    tabpanel

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_PANE or ROLE_SYSTEM_PROPERTYPAGE
    UIA Control Type: Pane @@ -3458,7 +3914,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXTabPanel
    -
    term
    term
    MSAA + IAccessible2 +
    term
    term
    Computed Role +

    term

    +
    MSAA + IAccessible2 Role: IA2_ROLE_TEXT_FRAME
    Object Attribute: xml-roles:term
    UIA @@ -3469,7 +3927,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXTerm
    -
    textbox when aria-multiline is false
    textbox when aria-multiline is false
    MSAA + IAccessible2 +
    textbox when aria-multiline is false
    textbox when aria-multiline is false
    Computed Role +

    textbox

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_TEXT
    State: IA2_STATE_SINGLE_LINE
    UIA @@ -3481,7 +3941,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXTextField
    AXSubrole: <nil>
    -
    textbox when aria-multiline is true
    textbox when aria-multiline is true
    MSAA + IAccessible2 +
    textbox when aria-multiline is true
    textbox when aria-multiline is true
    Computed Role +

    textbox

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_TEXT
    State: IA2_STATE_MULTI_LINE
    UIA @@ -3493,7 +3955,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXTextArea
    AXSubrole: <nil>
    -
    time
    time
    MSAA + IAccessible2 +
    time
    time
    Computed Role +

    time

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_GROUPING
    Object Attribute: xml-roles:time
    UIA @@ -3506,7 +3970,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXTimeGroup
    -
    timer
    timer
    MSAA + IAccessible2 +
    timer
    timer
    Computed Role +

    timer

    +
    MSAA + IAccessible2 Object Attribute: xml-roles:timer
    Object Attribute: container-live:off
    Object Attribute: live:off
    @@ -3523,7 +3989,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXApplicationTimer
    -
    toolbar
    toolbar
    MSAA + IAccessible2 +
    toolbar
    toolbar
    Computed Role +

    toolbar

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_TOOLBAR
    UIA Control Type: ToolBar @@ -3532,7 +4000,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXToolbar
    AXSubrole: <nil>
    -
    tooltip
    tooltip
    MSAA + IAccessible2 +
    tooltip
    tooltip
    Computed Role +

    tooltip

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_TOOLTIP
    UIA Control Type: ToolTip @@ -3541,7 +4011,9 @@

    Core Accessibility API Mappings 1.2

    AX API[Note 1] AXRole: AXGroup
    AXSubrole: AXUserInterfaceTooltip
    -
    tree
    tree
    MSAA + IAccessible2 +
    tree
    tree
    Computed Role +

    tree

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_OUTLINE
    Method: IAccessible::accSelect()
    Method: IAccessible::get_accSelection() @@ -3554,7 +4026,9 @@

    Core Accessibility API Mappings 1.2

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

    treegrid

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_OUTLINE
    Interface: IAccessibleTable2
    Method: IAccessible::accSelect()
    @@ -3569,7 +4043,9 @@

    Core Accessibility API Mappings 1.2

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

    treeitem

    +
    MSAA + IAccessible2 Role: ROLE_SYSTEM_OUTLINEITEM
    See also: aria-checked in the State and Property Mapping Table
    UIA @@ -3583,11 +4059,11 @@

    Core Accessibility API Mappings 1.2

    AXSubrole: AXOutlineRow
    See also: aria-checked in the State and Property Mapping Table
    -
    Note

    +

    Note

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

    -
    Note
    +
    Note

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

    @@ -3614,7 +4090,7 @@

    Core Accessibility API Mappings 1.2

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

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

    -
    Note

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

    +
    Note

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