diff --git a/core-aam/index.html b/core-aam/index.html index 71c7b8a21..bf383b38a 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -6445,6 +6445,86 @@

General rules

+
+

Computed Accessibility Properties

+

+ The computed accessibility properties are a set of platform-independent key/value pairs of strings that represent the states and properties of any accessible object in the accessibility tree. The computed accessibility properties are exposed primarily for the purposes of developer tools, specification conformance, and interoperability testing. +

+

+ The term accessibility node will be used to refer to a node with the computed accessibility properties defined here. These platform-independent, implementation-defined accessibility nodes are expected to back all of the platform-specific accessible objects that a user agent exposes in supported accessibility APIs. +The tree of accessibility nodes follows the same rules as the accessibility tree and it is an exactly parallel structure to the platform accessibility API trees except where the Core-AAM specifies a difference for a specific accessibility API. +

+
+

Computed Accessibility Properties derived from ARIA States and Attributes

+

+ To see if an ARIA state or property should be surfaced, and the name of the key and its expected value, check the "Computed Accessibility Property" row of the tables below. Not all ARIA states and properties will be surfaced in the computed accessibility properties. If a host language feature maps to an ARIA state or property, use the key and value specified here. However, the final value in the accessibility tree can be affected by multiple things, including but not limited to the following: default IDL values for the DOM attribute, default ARIA values when used on specific ARIA roles, and host language features with conflicting semantics, depending on whether the host language overrides the ARIA value. These final computed properties values do not always align with IDL reflection of the ARIA attribute. +

+

For both of the following examples, the computed accessibility properties will include `checked: true`.

+ +

+ When the ARIA state or property is required on a role but the attribute is missing, undefined, or set to an invalid token, user agents MUST expose the property with the appropriate fallback values for missing required attributes. When an ARIA state or property has a implicit value for role and the attribute is missing, undefined, or set to an invalid token, user agents MUST expose the default value for the role. +

+ +

+ When the ARIA state or property does not have a default value other than undefined, is not required on a given role, and is missing, undefined, or set to an invalid token, user agents MUST NOT include it in the computed accessibility properties. When a state or property has a default value other than undefined, is supported but not required on a given role, and is not mapped on any platforms, user agents MUST NOT include it in the computed accessibility properties. If the state or property with the previous conditions is mapped on one or more platforms, user agents MAY include it in the computed accessibility properties. +

+

+
+
+

Additional Computed Accessibility Properties

+

For the purposes of developer tools, specification conformance, and interoperability testing, the set of Computed Accessibility Properties exposed for an accessible object also includes information about the relationship between accessibility nodes in the accessibility tree. In order to surface this information, the term accessibility node ID is used to refer to an implementation-defined unique ID used as a handle to an accessibility node. (TODO: add something about the stability of this ID? How long it should be available for?) The following keys and values MUST be included in the Computed Accessibility Properties:

+
+
+ accessibilityID +
+
+

+ The accessibility node ID of this accessibility node. +

+
+
parent
+
+

+ The accessibility node ID of the parent of this accessibility node in the accessibility tree. +

+
+
+ children +
+
+

+ A list of accessibility node IDs representing the child nodes of this accessibility node in the accessibility tree. +

+
+
+ +

Additionally, other properties besides those derived from ARIA states and properties MUST be exposed in the computed accessibility properties. These include:

+
+
+ role +
+
+

+ See computed role. +

+
+
+
+

State and Property Mapping Tables

@@ -6469,6 +6549,12 @@

aria-activedescendant

aria-activedescendant + MSAA + IAccessible2 See Focus Changes. @@ -6506,6 +6592,12 @@

aria-atomic=true

>=true + MSAA + IAccessible2 @@ -6564,6 +6656,12 @@

aria-atomic=false

>=false + MSAA + IAccessible2 @@ -6624,6 +6722,12 @@

aria-autocomplete=inl >=inline, list, or both + MSAA + IAccessible2 @@ -6670,6 +6774,12 @@

aria-autocomplete=none=none + MSAA + IAccessible2 @@ -6711,6 +6821,12 @@

aria-braillelabel

aria-braillelabel + MSAA + IAccessible2 @@ -6752,6 +6868,12 @@

aria-brailleroledescription

aria-brailleroledescription + MSAA + IAccessible2 @@ -6793,6 +6915,12 @@

aria-brailleroledescriptionaria-brailleroledescription is undefined or the empty string + MSAA + IAccessible2 @@ -6835,6 +6963,12 @@

aria-busy=true

>=true + MSAA + IAccessible2 @@ -6877,6 +7011,12 @@

aria-busy=false

>=false + MSAA + IAccessible2 @@ -6919,6 +7059,12 @@

aria-checked=true

>=true + + Computed Accessibility Property + + checked: true + + MSAA + IAccessible2 @@ -6969,6 +7115,12 @@

aria-checked=false

>=false + + Computed Accessibility Property + + checked: false + + MSAA + IAccessible2 @@ -7018,6 +7170,12 @@

aria-checked=mixed

>=mixed + + Computed Accessibility Property + + checked: mixed + + MSAA + IAccessible2 @@ -7067,6 +7225,12 @@

aria-checked is undefined

aria-checked is undefined + + Computed Accessibility Property + + Do not expose checked. + + MSAA + IAccessible2 @@ -7108,6 +7272,12 @@

aria-colcount

aria-colcount + MSAA + IAccessible2 @@ -7152,6 +7322,12 @@

aria-colindex

aria-colindex + MSAA + IAccessible2 @@ -7196,6 +7372,12 @@

aria-colindextext

aria-colindextext + MSAA + IAccessible2 @@ -7237,6 +7419,12 @@

aria-colspan

aria-colspan + MSAA + IAccessible2 @@ -7281,6 +7469,12 @@

aria-controls

aria-controls + MSAA + IAccessible2 @@ -7326,6 +7520,12 @@

aria-current with non-false allow aria-current with non-false allowed value + MSAA + IAccessible2 @@ -7369,6 +7569,12 @@

aria-current with unrecognize aria-current with unrecognized value + MSAA + IAccessible2 @@ -7412,6 +7618,12 @@

aria-current is false or aria-current is false or undefined + MSAA + IAccessible2 @@ -7453,6 +7665,12 @@

aria-describedby

aria-describedby + MSAA + IAccessible2 @@ -7509,6 +7727,12 @@

aria-description

aria-description + + Computed Accessibility Property + + description: <value> where value is calculated according to the Accessible Name and Description specification + + MSAA + IAccessible2 @@ -7560,6 +7784,12 @@

aria-details

aria-details + MSAA + IAccessible2 @@ -7606,6 +7836,12 @@

aria-disabled=true

>=true + MSAA + IAccessible2 @@ -7650,6 +7886,12 @@

aria-disabled=false

>=false + MSAA + IAccessible2 @@ -7694,6 +7936,12 @@

>=copy, move, link, execute, or popup + MSAA + IAccessible2 @@ -7736,6 +7984,12 @@

aria-dropeffect=none (depr >=none + MSAA + IAccessible2 @@ -7779,6 +8033,12 @@

aria-errormessage

aria-errormessage + MSAA + IAccessible2 @@ -7825,6 +8085,12 @@

aria-expanded=true

>=true + MSAA + IAccessible2 @@ -7869,6 +8135,12 @@

aria-expanded=false

>=false + MSAA + IAccessible2 @@ -7912,6 +8184,12 @@

aria-expanded is undefined

aria-expanded is undefined + MSAA + IAccessible2 @@ -7953,6 +8231,12 @@

aria-flowto

aria-flowto + MSAA + IAccessible2 @@ -7999,6 +8283,12 @@

aria-grabbed=true

>=true + MSAA + IAccessible2 @@ -8041,6 +8331,12 @@

aria-grabbed=false

>=false + MSAA + IAccessible2 @@ -8082,6 +8378,12 @@

aria-grabbed is undefined

aria-grabbed is undefined + MSAA + IAccessible2 @@ -8124,6 +8426,12 @@

aria-haspopup=true

>=true + MSAA + IAccessible2 @@ -8175,6 +8483,12 @@

aria-haspopup=false

>=false + MSAA + IAccessible2 @@ -8218,6 +8532,12 @@

aria-haspopup=dialog

>=dialog + MSAA + IAccessible2 @@ -8270,6 +8590,12 @@

aria-haspopup=grid

>=grid + MSAA + IAccessible2 @@ -8322,6 +8648,12 @@

aria-haspopup=listbox

=listbox + MSAA + IAccessible2 @@ -8374,6 +8706,12 @@

aria-haspopup=menu

>=menu + MSAA + IAccessible2 @@ -8426,6 +8764,12 @@

aria-haspopup=tree

>=tree + MSAA + IAccessible2 @@ -8478,6 +8822,12 @@

aria-hidden=true on unfocused >=true on unfocused element + MSAA + IAccessible2 @@ -8524,6 +8874,12 @@

aria-hidden=true >=true when element is focused or fires an accessibility event + MSAA + IAccessible2 @@ -8574,6 +8930,12 @@

aria-hidden=false

>=false + MSAA + IAccessible2 @@ -8616,6 +8978,12 @@

aria-invalid=true

>=true + MSAA + IAccessible2 @@ -8662,6 +9030,12 @@

aria-invalid=false

>=false + MSAA + IAccessible2 @@ -8704,6 +9078,12 @@

aria-invalid=spelling=spelling or grammar + MSAA + IAccessible2 @@ -8749,6 +9129,12 @@

aria-invalid with unrecognize aria-invalid with unrecognized value + MSAA + IAccessible2 @@ -8794,6 +9180,12 @@

aria-keyshortcuts

aria-keyshortcuts + MSAA + IAccessible2 @@ -8835,6 +9227,12 @@

aria-label

aria-label + + Computed Accessibility Property + + label: <value> + + MSAA + IAccessible2 @@ -8884,6 +9282,12 @@

aria-labelledby

aria-labelledby + + Computed Accessibility Property + + label: <value> where value is calculated according to the Accessible Name and Description specification. + + MSAA + IAccessible2 @@ -8942,6 +9346,12 @@

aria-level on non-heading

aria-level on non-heading + + Computed Accessibility Property + + level: <value> + + MSAA + IAccessible2 @@ -8994,6 +9404,12 @@

aria-level on heading

aria-level on heading + + Computed Accessibility Property + + level: <value> + + MSAA + IAccessible2 @@ -9038,6 +9454,12 @@

aria-live=assertive

>=assertive + MSAA + IAccessible2 @@ -9096,6 +9518,12 @@

aria-live=polite

>=polite + MSAA + IAccessible2 @@ -9154,6 +9582,12 @@

aria-live=off

>=off + MSAA + IAccessible2 @@ -9207,6 +9641,12 @@

aria-modal=true

>=true + MSAA + IAccessible2 @@ -9251,6 +9691,12 @@

aria-modal=false

>=false + MSAA + IAccessible2 @@ -9295,6 +9741,12 @@

aria-multiline=true

>=true + + Computed Accessibility Property + + multiline: true + + MSAA + IAccessible2 @@ -9345,6 +9797,12 @@

aria-multiline=false

>=false + + Computed Accessibility Property + + multiline: false + + MSAA + IAccessible2 @@ -9395,6 +9853,12 @@

aria-multiselectable=true=true + MSAA + IAccessible2 @@ -9447,6 +9911,12 @@

aria-multiselectable=false< >=false + MSAA + IAccessible2 @@ -9491,6 +9961,12 @@

aria-orientation=horizonta >=horizontal + + Computed Accessibility Property + + orientation: horizontal + + MSAA + IAccessible2 @@ -9537,6 +10013,12 @@

aria-orientation=vertical=vertical + + Computed Accessibility Property + + orientation: vertical + + MSAA + IAccessible2 @@ -9582,6 +10064,12 @@

aria-orientation is undefined

aria-orientation is undefined + + Computed Accessibility Property + + Do not expose orientation. + + MSAA + IAccessible2 @@ -9624,6 +10112,12 @@

aria-owns

aria-owns + MSAA + IAccessible2 @@ -9679,6 +10173,12 @@

aria-placeholder

aria-placeholder + MSAA + IAccessible2 @@ -9720,6 +10220,12 @@

aria-posinset

aria-posinset + MSAA + IAccessible2 @@ -9770,6 +10276,12 @@

aria-pressed=true

>=true + + Computed Accessibility Property + + pressed: true + + MSAA + IAccessible2 @@ -9824,6 +10336,12 @@

aria-pressed=mixed

>=mixed + + Computed Accessibility Property + + pressed: mixed + + MSAA + IAccessible2 @@ -9878,6 +10396,12 @@

aria-pressed=false

>=false + + Computed Accessibility Property + + pressed: false + + MSAA + IAccessible2 @@ -9929,6 +10453,12 @@

aria-pressed is undefined

aria-pressed is undefined + + Computed Accessibility Property + + Do not expose pressed. + + MSAA + IAccessible2 @@ -9971,6 +10501,12 @@

aria-readonly=true

>=true + MSAA + IAccessible2 @@ -10029,6 +10565,12 @@

aria-readonly=false

>=false + MSAA + IAccessible2 @@ -10081,6 +10623,12 @@

aria-readonly is unspeci aria-readonly is unspecified on gridcell + MSAA + IAccessible2 @@ -10134,6 +10682,12 @@

aria-relevant

aria-relevant + MSAA + IAccessible2 @@ -10190,6 +10744,12 @@

aria-required=true

>=true + + Computed Accessibility Property + + required: true + + MSAA + IAccessible2 @@ -10232,6 +10792,12 @@

aria-required=false

>=false + + Computed Accessibility Property + + Do not expose required. + + MSAA + IAccessible2 @@ -10273,6 +10839,12 @@

aria-roledescription

aria-roledescription + + Computed Accessibility Property + + roledescription: <value> + + MSAA + IAccessible2 @@ -10314,6 +10886,12 @@

aria-roledescription is und aria-roledescription is undefined or the empty string + + Computed Accessibility Property + + Do not expose roledescription. + + MSAA + IAccessible2 @@ -10361,6 +10939,12 @@

aria-rowcount

aria-rowcount + MSAA + IAccessible2 @@ -10405,6 +10989,12 @@

aria-rowindex

aria-rowindex + MSAA + IAccessible2 @@ -10449,6 +11039,12 @@

aria-rowindextext

aria-rowindextext + MSAA + IAccessible2 @@ -10490,6 +11086,12 @@

aria-rowspan

aria-rowspan + MSAA + IAccessible2 @@ -10535,6 +11137,12 @@

aria-selected=true

>=true + + Computed Accessibility Property + + selected: true + + MSAA + IAccessible2 @@ -10585,6 +11193,12 @@

aria-selected=false

>=false + + Computed Accessibility Property + + selected: false + + MSAA + IAccessible2 @@ -10632,6 +11246,12 @@

aria-selected is undefined

aria-selected is undefined + + Computed Accessibility Property + + Do not expose selected. + + MSAA + IAccessible2 @@ -10673,6 +11293,12 @@

aria-setsize

aria-setsize + MSAA + IAccessible2 @@ -10729,6 +11355,12 @@

aria-sort=ascending

>=ascending + MSAA + IAccessible2 @@ -10776,6 +11408,12 @@

aria-sort=descending

>=descending + MSAA + IAccessible2 @@ -10823,6 +11461,12 @@

aria-sort=other

>=other + MSAA + IAccessible2 @@ -10870,6 +11514,12 @@

aria-sort=none

>=none + MSAA + IAccessible2 @@ -10911,6 +11561,12 @@

aria-valuemax

aria-valuemax + MSAA + IAccessible2 @@ -10960,6 +11616,12 @@

aria-valuemin

aria-valuemin + MSAA + IAccessible2 @@ -11009,6 +11671,12 @@

aria-valuenow

aria-valuenow + MSAA + IAccessible2 @@ -11059,6 +11727,12 @@

aria-valuetext

aria-valuetext + MSAA + IAccessible2