From 61dd7d14dafd2b04deef30606141b35ec1c91f68 Mon Sep 17 00:00:00 2001 From: Valerie Young Date: Thu, 28 May 2026 13:46:44 -0700 Subject: [PATCH 01/22] Add Computed Accessibility Properties section --- core-aam/index.html | 630 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 630 insertions(+) diff --git a/core-aam/index.html b/core-aam/index.html index 71c7b8a21..314d0ad9d 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -6445,6 +6445,42 @@

General rules

+
+

Computed Accessibility Properties

+

+ The computed accessibility properties of an element are a cross-platform key/value pairs of strings that represent the states and attributes of any accessible object in the accessibility tree. The computed accessibility properties is used primarily for the purposes of developer tools and specification conformance and interoperability testing. +

+

+ For all ARIA states and properties that do not have a value that is a ID Reference or ID Reference List, the key of the computed accessibility property is the name of the state or property after aria-. For all host languages with states and properties that map to an ARIA state and property, the key of the computed accessibility property is the same as the ARIA state and property. +

+

+ Similarly, the value of the computed accessibility property is the ARIA state or attribute's value when the ARIA state or attribute is a valid value. Any host language state or property that maps to the ARIA state or property similarly should use the ARIA value. +

+ +

+ When the state or property is required on a role but not present, expose the property with the appropriate Fallback values for missing required attributes. +

+ +

+ When the state or property is both (1) not required on a given role and (2) missing, undefined, or set to a invalid token, it should not appear in the computed accessibility properties. TODO: Is this true even when the state or property default of something other than undefined? For example, aria-busy, aria-atomic, aria-disabled, aria-modal, aria-readonly have a default value of "false" and that is mapped here. aria-multiline and aria-required have a default value of "false" but are not mapped here. +

+

State and Property Mapping Tables

@@ -6469,6 +6505,12 @@

aria-activedescendant

aria-activedescendant + + Computed Accessibility Property + + TODO + + MSAA + IAccessible2 See Focus Changes. @@ -6506,6 +6548,12 @@

aria-atomic=true

>=true + + Computed Accessibility Property + + atomic: true + + MSAA + IAccessible2 @@ -6564,6 +6612,12 @@

aria-atomic=false

>=false + + Computed Accessibility Property + + atomic: false
TODO: do browsers actually surface this? + + MSAA + IAccessible2 @@ -6624,6 +6678,12 @@

aria-autocomplete=inl >=inline, list, or both + + Computed Accessibility Property + + autocomplete: inline|list|both + + MSAA + IAccessible2 @@ -6670,6 +6730,12 @@

aria-autocomplete=none=none + + Computed Accessibility Property + + Do not expose autocomplete. + + MSAA + IAccessible2 @@ -6711,6 +6777,12 @@

aria-braillelabel

aria-braillelabel + + Computed Accessibility Property + + braillelabel: <value> + + MSAA + IAccessible2 @@ -6752,6 +6824,12 @@

aria-brailleroledescription

aria-brailleroledescription + + Computed Accessibility Property + + brailleroledescription: <value> + + MSAA + IAccessible2 @@ -6793,6 +6871,12 @@

aria-brailleroledescriptionaria-brailleroledescription is undefined or the empty string + + Computed Accessibility Property + + Do not expose brailleroledescription. + + MSAA + IAccessible2 @@ -6835,6 +6919,12 @@

aria-busy=true

>=true + + Computed Accessibility Property + + busy: true + + MSAA + IAccessible2 @@ -6877,6 +6967,12 @@

aria-busy=false

>=false + + Computed Accessibility Property + + busy: false
TODO: do browsers expose this? + + MSAA + IAccessible2 @@ -6919,6 +7015,12 @@

aria-checked=true

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

aria-checked=false

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

aria-checked=mixed

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

aria-checked is undefined

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

aria-colcount

aria-colcount + + Computed Accessibility Property + + colcount: <value> + + MSAA + IAccessible2 @@ -7152,6 +7278,12 @@

aria-colindex

aria-colindex + + Computed Accessibility Property + + colindex: <value> + + MSAA + IAccessible2 @@ -7196,6 +7328,12 @@

aria-colindextext

aria-colindextext + + Computed Accessibility Property + + colindextext: <value> + + MSAA + IAccessible2 @@ -7237,6 +7375,12 @@

aria-colspan

aria-colspan + + Computed Accessibility Property + + colspan: <value> + + MSAA + IAccessible2 @@ -7281,6 +7425,12 @@

aria-controls

aria-controls + + Computed Accessibility Property + + No exposed property.
TODO: verify. + + MSAA + IAccessible2 @@ -7326,6 +7476,12 @@

aria-current with non-false allow aria-current with non-false allowed value + + Computed Accessibility Property + + current: <value> + + MSAA + IAccessible2 @@ -7369,6 +7525,12 @@

aria-current with unrecognize aria-current with unrecognized value + + Computed Accessibility Property + + current: true + + MSAA + IAccessible2 @@ -7412,6 +7574,12 @@

aria-current is false or aria-current is false or undefined + + Computed Accessibility Property + + Do not expose current. + + MSAA + IAccessible2 @@ -7453,6 +7621,12 @@

aria-describedby

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

aria-description

aria-description + + Computed Accessibility Property + + description: <value> + + MSAA + IAccessible2 @@ -7560,6 +7740,12 @@

aria-details

aria-details + + Computed Accessibility Property + + TODO + + MSAA + IAccessible2 @@ -7606,6 +7792,12 @@

aria-disabled=true

>=true + + Computed Accessibility Property + + disabled: true + + MSAA + IAccessible2 @@ -7650,6 +7842,12 @@

aria-disabled=false

>=false + + Computed Accessibility Property + + disabled: false + + MSAA + IAccessible2 @@ -7694,6 +7892,12 @@

>=copy, move, link, execute, or popup + + Computed Accessibility Property + + dropeffect: copy|move|link|execute|popup
TODO: What to do about deprecated attributes? + + MSAA + IAccessible2 @@ -7736,6 +7940,12 @@

aria-dropeffect=none (depr >=none + + Computed Accessibility Property + + dropeffect: none
TODO: What to do about deprecated attributes? + + MSAA + IAccessible2 @@ -7779,6 +7989,12 @@

aria-errormessage

aria-errormessage + + Computed Accessibility Property + + TODO + + MSAA + IAccessible2 @@ -7825,6 +8041,12 @@

aria-expanded=true

>=true + + Computed Accessibility Property + + expanded: true + + MSAA + IAccessible2 @@ -7869,6 +8091,12 @@

aria-expanded=false

>=false + + Computed Accessibility Property + + expanded: false + + MSAA + IAccessible2 @@ -7912,6 +8140,12 @@

aria-expanded is undefined

aria-expanded is undefined + + Computed Accessibility Property + + Do not expose expanded. + + MSAA + IAccessible2 @@ -7953,6 +8187,12 @@

aria-flowto

aria-flowto + + Computed Accessibility Property + + TODO + + MSAA + IAccessible2 @@ -7999,6 +8239,12 @@

aria-grabbed=true

>=true + + Computed Accessibility Property + + grabbed: true + + MSAA + IAccessible2 @@ -8041,6 +8287,12 @@

aria-grabbed=false

>=false + + Computed Accessibility Property + + grabbed: false + + MSAA + IAccessible2 @@ -8082,6 +8334,12 @@

aria-grabbed is undefined

aria-grabbed is undefined + + Computed Accessibility Property + + Do not expose grabbed. + + MSAA + IAccessible2 @@ -8124,6 +8382,12 @@

aria-haspopup=true

>=true + + Computed Accessibility Property + + haspopup: true + + MSAA + IAccessible2 @@ -8175,6 +8439,12 @@

aria-haspopup=false

>=false + + Computed Accessibility Property + + haspopup: false + + MSAA + IAccessible2 @@ -8218,6 +8488,12 @@

aria-haspopup=dialog

>=dialog + + Computed Accessibility Property + + haspopup: dialog + + MSAA + IAccessible2 @@ -8270,6 +8546,12 @@

aria-haspopup=grid

>=grid + + Computed Accessibility Property + + haspopup: grid + + MSAA + IAccessible2 @@ -8322,6 +8604,12 @@

aria-haspopup=listbox

=listbox + + Computed Accessibility Property + + haspopup: listbox + + MSAA + IAccessible2 @@ -8374,6 +8662,12 @@

aria-haspopup=menu

>=menu + + Computed Accessibility Property + + haspopup: menu + + MSAA + IAccessible2 @@ -8426,6 +8720,12 @@

aria-haspopup=tree

>=tree + + Computed Accessibility Property + + haspopup: tree + + MSAA + IAccessible2 @@ -8478,6 +8778,12 @@

aria-hidden=true on unfocused >=true on unfocused element + + Computed Accessibility Property + + No exposed property. + + MSAA + IAccessible2 @@ -8524,6 +8830,12 @@

aria-hidden=true >=true when element is focused or fires an accessibility event + + Computed Accessibility Property + + No exposed property. + + MSAA + IAccessible2 @@ -8574,6 +8886,12 @@

aria-hidden=false

>=false + + Computed Accessibility Property + + No exposed property. + + MSAA + IAccessible2 @@ -8616,6 +8934,12 @@

aria-invalid=true

>=true + + Computed Accessibility Property + + invalid: true + + MSAA + IAccessible2 @@ -8662,6 +8986,12 @@

aria-invalid=false

>=false + + Computed Accessibility Property + + invalid: false + + MSAA + IAccessible2 @@ -8704,6 +9034,12 @@

aria-invalid=spelling=spelling or grammar + + Computed Accessibility Property + + invalid: spelling|grammar + + MSAA + IAccessible2 @@ -8749,6 +9085,12 @@

aria-invalid with unrecognize aria-invalid with unrecognized value + + Computed Accessibility Property + + invalid: true + + MSAA + IAccessible2 @@ -8794,6 +9136,12 @@

aria-keyshortcuts

aria-keyshortcuts + + Computed Accessibility Property + + keyshortcuts: <value> + + MSAA + IAccessible2 @@ -8835,6 +9183,12 @@

aria-label

aria-label + + Computed Accessibility Property + + label: <value> + + MSAA + IAccessible2 @@ -8884,6 +9238,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 +9302,12 @@

aria-level on non-heading

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

aria-level on heading

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

aria-live=assertive

>=assertive + + Computed Accessibility Property + + live: assertive + + MSAA + IAccessible2 @@ -9096,6 +9474,12 @@

aria-live=polite

>=polite + + Computed Accessibility Property + + live: polite + + MSAA + IAccessible2 @@ -9154,6 +9538,12 @@

aria-live=off

>=off + + Computed Accessibility Property + + live: off + + MSAA + IAccessible2 @@ -9207,6 +9597,12 @@

aria-modal=true

>=true + + Computed Accessibility Property + + modal: true + + MSAA + IAccessible2 @@ -9251,6 +9647,12 @@

aria-modal=false

>=false + + Computed Accessibility Property + + modal: false + + MSAA + IAccessible2 @@ -9295,6 +9697,12 @@

aria-multiline=true

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

aria-multiline=false

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

aria-multiselectable=true=true + + Computed Accessibility Property + + multiselectable: true + + MSAA + IAccessible2 @@ -9447,6 +9867,12 @@

aria-multiselectable=false< >=false + + Computed Accessibility Property + + multiselectable: false + + MSAA + IAccessible2 @@ -9491,6 +9917,12 @@

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

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

aria-orientation is undefined

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

aria-owns

aria-owns + + Computed Accessibility Property + + No exposed property. + + MSAA + IAccessible2 @@ -9679,6 +10129,12 @@

aria-placeholder

aria-placeholder + + Computed Accessibility Property + + placeholder: <value> + + MSAA + IAccessible2 @@ -9720,6 +10176,12 @@

aria-posinset

aria-posinset + + Computed Accessibility Property + + posinset: <value> + + MSAA + IAccessible2 @@ -9770,6 +10232,12 @@

aria-pressed=true

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

aria-pressed=mixed

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

aria-pressed=false

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

aria-pressed is undefined

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

aria-readonly=true

>=true + + Computed Accessibility Property + + readonly: true + + MSAA + IAccessible2 @@ -10029,6 +10521,12 @@

aria-readonly=false

>=false + + Computed Accessibility Property + + readonly: false + + MSAA + IAccessible2 @@ -10081,6 +10579,12 @@

aria-readonly is unspeci aria-readonly is unspecified on gridcell + + Computed Accessibility Property + + readonly: <value> where <value> is calulated based on the inherit author-provided value for aria-readonly from the containing grid or treegrid. + + MSAA + IAccessible2 @@ -10134,6 +10638,12 @@

aria-relevant

aria-relevant + + Computed Accessibility Property + relevant: <value> + + + MSAA + IAccessible2 @@ -10190,6 +10700,12 @@

aria-required=true

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

aria-required=false

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

aria-roledescription

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

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

aria-rowcount

aria-rowcount + + Computed Accessibility Property + + rowcount: <value> + + MSAA + IAccessible2 @@ -10405,6 +10945,12 @@

aria-rowindex

aria-rowindex + + Computed Accessibility Property + + rowindex: <value> + + MSAA + IAccessible2 @@ -10449,6 +10995,12 @@

aria-rowindextext

aria-rowindextext + + Computed Accessibility Property + + rowindextext: <value> + + MSAA + IAccessible2 @@ -10490,6 +11042,12 @@

aria-rowspan

aria-rowspan + + Computed Accessibility Property + + rowspan: <value> + + MSAA + IAccessible2 @@ -10535,6 +11093,12 @@

aria-selected=true

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

aria-selected=false

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

aria-selected is undefined

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

aria-setsize

aria-setsize + + Computed Accessibility Property + + setsize: <value> + + MSAA + IAccessible2 @@ -10729,6 +11311,12 @@

aria-sort=ascending

>=ascending + + Computed Accessibility Property + + sort: ascending + + MSAA + IAccessible2 @@ -10776,6 +11364,12 @@

aria-sort=descending

>=descending + + Computed Accessibility Property + + sort: descending + + MSAA + IAccessible2 @@ -10823,6 +11417,12 @@

aria-sort=other

>=other + + Computed Accessibility Property + + sort: other + + MSAA + IAccessible2 @@ -10870,6 +11470,12 @@

aria-sort=none

>=none + + Computed Accessibility Property + + sort: none + + MSAA + IAccessible2 @@ -10911,6 +11517,12 @@

aria-valuemax

aria-valuemax + + Computed Accessibility Property + + valuemax: <value> + + MSAA + IAccessible2 @@ -10960,6 +11572,12 @@

aria-valuemin

aria-valuemin + + Computed Accessibility Property + + valuemin: <value> + + MSAA + IAccessible2 @@ -11009,6 +11627,12 @@

aria-valuenow

aria-valuenow + + Computed Accessibility Property + + valuenow: <value> + + MSAA + IAccessible2 @@ -11059,6 +11683,12 @@

aria-valuetext

aria-valuetext + + Computed Accessibility Property + + valuetext: <value> + + MSAA + IAccessible2 From f810b86290e8d8d12db199425416193d39f620c0 Mon Sep 17 00:00:00 2001 From: Valerie Young Date: Tue, 2 Jun 2026 14:16:20 -0700 Subject: [PATCH 02/22] Clean up --- core-aam/index.html | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/core-aam/index.html b/core-aam/index.html index 314d0ad9d..9e9618a4d 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -6448,10 +6448,10 @@

General rules

Computed Accessibility Properties

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

- For all ARIA states and properties that do not have a value that is a ID Reference or ID Reference List, the key of the computed accessibility property is the name of the state or property after aria-. For all host languages with states and properties that map to an ARIA state and property, the key of the computed accessibility property is the same as the ARIA state and property. + The key of the computed accessibility property is the name of the state or property after aria- for all ARIA states and properties that do not have a value that is a ID Reference or ID Reference List. For all host languages with states and properties that map to an ARIA state and property, the key of the computed accessibility property is the same as the ARIA state and property.

Similarly, the value of the computed accessibility property is the ARIA state or attribute's value when the ARIA state or attribute is a valid value. Any host language state or property that maps to the ARIA state or property similarly should use the ARIA value. @@ -6459,7 +6459,7 @@

Computed Accessibility Properties

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

- When the state or property is both (1) not required on a given role and (2) missing, undefined, or set to a invalid token, it should not appear in the computed accessibility properties. TODO: Is this true even when the state or property default of something other than undefined? For example, aria-busy, aria-atomic, aria-disabled, aria-modal, aria-readonly have a default value of "false" and that is mapped here. aria-multiline and aria-required have a default value of "false" but are not mapped here. + When the 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 a invalid token, user agents MUST NOT include it the computed accessibility properties. When a state or property has a default value other than undefined and is supported but not required on a given role, user agents MAY include it in the computed accessibility properties. +

+TODO: examples
+1. aria-description on button -- user agents MUST not include in computed accessibility properties
+2. aria-autocomplete on combobox has default of "none" -- user agent MAY include in the computed accessibility properties.
+
+Note: Many true false booleans have a default of "false", like aria-atomic, aria-busy, aria-disabled, aria-required, aria-multiselectable... All of these fall under the "MAY" be included.
+

@@ -6508,7 +6516,7 @@

aria-activedescendant

Computed Accessibility Property - TODO + Not mapped, or, referenced element should have `focus: true` ? @@ -6615,7 +6623,7 @@

aria-atomic=false

Computed Accessibility Property - atomic: false
TODO: do browsers actually surface this? + atomic: false @@ -6970,7 +6978,7 @@

aria-busy=false

Computed Accessibility Property - busy: false
TODO: do browsers expose this? + busy: false @@ -7428,7 +7436,7 @@

aria-controls

Computed Accessibility Property - No exposed property.
TODO: verify. + TODO: No exposed property? From 6a93c14d0dc2a4bd1c2cedfcc32b5ea782596759 Mon Sep 17 00:00:00 2001 From: Valerie Young Date: Tue, 2 Jun 2026 14:47:02 -0700 Subject: [PATCH 03/22] fix example --- core-aam/index.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core-aam/index.html b/core-aam/index.html index 9e9618a4d..2dbe05d5f 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -6479,6 +6479,8 @@

Computed Accessibility Properties

When the 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 a invalid token, user agents MUST NOT include it the computed accessibility properties. When a state or property has a default value other than undefined and is supported but not required on a given role, user agents MAY include it in the computed accessibility properties. +

From 1104e966f89ae705c7fc11d4344fd0cdba1334a1 Mon Sep 17 00:00:00 2001 From: Valerie Young Date: Wed, 3 Jun 2026 11:17:43 -0700 Subject: [PATCH 04/22] Update prose --- core-aam/index.html | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/core-aam/index.html b/core-aam/index.html index 2dbe05d5f..b94c66bb7 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -6448,14 +6448,11 @@

General rules

Computed Accessibility Properties

- The computed accessibility properties of an element are a cross-platform key/value pairs of strings that represent the states and attributes of any accessible object in the accessibility tree. The computed accessibility properties are used primarily for the purposes of developer tools, specification conformance, and interoperability testing. + The computed accessibility properties of an element are a cross-platform key/value pairs of strings that represent the states and attributes of any accessible object in the accessibility tree. The computed accessibility properties are used primarily for the purposes of developer tools, specification conformance, and interoperability testing. Not all ARIA states and attributes will be surfaced in the computed accessibility properties. To see if a state or attribute should be surfaced, and the name of the key and it's expected value, check the "Computed Accessibility Property" row of the tables below.

The key of the computed accessibility property is the name of the state or property after aria- for all ARIA states and properties that do not have a value that is a ID Reference or ID Reference List. For all host languages with states and properties that map to an ARIA state and property, the key of the computed accessibility property is the same as the ARIA state and property.

-

- Similarly, the value of the computed accessibility property is the ARIA state or attribute's value when the ARIA state or attribute is a valid value. Any host language state or property that maps to the ARIA state or property similarly should use the ARIA value. -

@@ -6483,8 +6480,8 @@

Computed Accessibility Properties

 TODO: examples
-1. aria-description on button -- user agents MUST not include in computed accessibility properties
-2. aria-autocomplete on combobox has default of "none" -- user agent MAY include in the computed accessibility properties.
+1. aria-description missing on button -- allowed but not required, user agents MUST not include in computed accessibility properties
+2. aria-checked missing on tree item -- allowed but not required, default of false. user agent MAY include in the computed accessibility properties.
 
 Note: Many true false booleans have a default of "false", like aria-atomic, aria-busy, aria-disabled, aria-required, aria-multiselectable... All of these fall under the "MAY" be included.
 
Date: Wed, 3 Jun 2026 11:37:37 -0700 Subject: [PATCH 05/22] comment out most rows --- core-aam/index.html | 296 ++++++++++++++++++++++---------------------- 1 file changed, 148 insertions(+), 148 deletions(-) diff --git a/core-aam/index.html b/core-aam/index.html index b94c66bb7..3a7a70d83 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -6513,12 +6513,12 @@

aria-activedescendant

aria-activedescendant - + MSAA + IAccessible2 See Focus Changes. @@ -6556,12 +6556,12 @@

aria-atomic=true

>=true - + MSAA + IAccessible2 @@ -6620,12 +6620,12 @@

aria-atomic=false

>=false - + MSAA + IAccessible2 @@ -6686,12 +6686,12 @@

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

aria-autocomplete=none=none - + MSAA + IAccessible2 @@ -6785,12 +6785,12 @@

aria-braillelabel

aria-braillelabel - + MSAA + IAccessible2 @@ -6832,12 +6832,12 @@

aria-brailleroledescription

aria-brailleroledescription - + MSAA + IAccessible2 @@ -6879,12 +6879,12 @@

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

aria-busy=true

>=true - + MSAA + IAccessible2 @@ -6975,12 +6975,12 @@

aria-busy=false

>=false - + MSAA + IAccessible2 @@ -7236,12 +7236,12 @@

aria-colcount

aria-colcount - + MSAA + IAccessible2 @@ -7286,12 +7286,12 @@

aria-colindex

aria-colindex - + MSAA + IAccessible2 @@ -7336,12 +7336,12 @@

aria-colindextext

aria-colindextext - + MSAA + IAccessible2 @@ -7383,12 +7383,12 @@

aria-colspan

aria-colspan - + MSAA + IAccessible2 @@ -7433,12 +7433,12 @@

aria-controls

aria-controls - + MSAA + IAccessible2 @@ -7484,12 +7484,12 @@

aria-current with non-false allow aria-current with non-false allowed value - + MSAA + IAccessible2 @@ -7533,12 +7533,12 @@

aria-current with unrecognize aria-current with unrecognized value - + MSAA + IAccessible2 @@ -7582,12 +7582,12 @@

aria-current is false or aria-current is false or undefined - + MSAA + IAccessible2 @@ -7629,12 +7629,12 @@

aria-describedby

aria-describedby - + MSAA + IAccessible2 @@ -7748,12 +7748,12 @@

aria-details

aria-details - + MSAA + IAccessible2 @@ -7800,12 +7800,12 @@

aria-disabled=true

>=true - + MSAA + IAccessible2 @@ -7850,12 +7850,12 @@

aria-disabled=false

>=false - + MSAA + IAccessible2 @@ -7900,12 +7900,12 @@

>=copy, move, link, execute, or popup - + MSAA + IAccessible2 @@ -7948,12 +7948,12 @@

aria-dropeffect=none (depr >=none - + MSAA + IAccessible2 @@ -7997,12 +7997,12 @@

aria-errormessage

aria-errormessage - + MSAA + IAccessible2 @@ -8049,12 +8049,12 @@

aria-expanded=true

>=true - + MSAA + IAccessible2 @@ -8099,12 +8099,12 @@

aria-expanded=false

>=false - + MSAA + IAccessible2 @@ -8148,12 +8148,12 @@

aria-expanded is undefined

aria-expanded is undefined - + MSAA + IAccessible2 @@ -8195,12 +8195,12 @@

aria-flowto

aria-flowto - + MSAA + IAccessible2 @@ -8247,12 +8247,12 @@

aria-grabbed=true

>=true - + MSAA + IAccessible2 @@ -8295,12 +8295,12 @@

aria-grabbed=false

>=false - + MSAA + IAccessible2 @@ -8342,12 +8342,12 @@

aria-grabbed is undefined

aria-grabbed is undefined - + MSAA + IAccessible2 @@ -8390,12 +8390,12 @@

aria-haspopup=true

>=true - + MSAA + IAccessible2 @@ -8447,12 +8447,12 @@

aria-haspopup=false

>=false - + MSAA + IAccessible2 @@ -8496,12 +8496,12 @@

aria-haspopup=dialog

>=dialog - + MSAA + IAccessible2 @@ -8554,12 +8554,12 @@

aria-haspopup=grid

>=grid - + MSAA + IAccessible2 @@ -8612,12 +8612,12 @@

aria-haspopup=listbox

=listbox - + MSAA + IAccessible2 @@ -8670,12 +8670,12 @@

aria-haspopup=menu

>=menu - + MSAA + IAccessible2 @@ -8728,12 +8728,12 @@

aria-haspopup=tree

>=tree - + MSAA + IAccessible2 @@ -8786,12 +8786,12 @@

aria-hidden=true on unfocused >=true on unfocused element - + MSAA + IAccessible2 @@ -8838,12 +8838,12 @@

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

aria-hidden=false

>=false - + MSAA + IAccessible2 @@ -8942,12 +8942,12 @@

aria-invalid=true

>=true - + MSAA + IAccessible2 @@ -8994,12 +8994,12 @@

aria-invalid=false

>=false - + MSAA + IAccessible2 @@ -9042,12 +9042,12 @@

aria-invalid=spelling=spelling or grammar - + MSAA + IAccessible2 @@ -9093,12 +9093,12 @@

aria-invalid with unrecognize aria-invalid with unrecognized value - + MSAA + IAccessible2 @@ -9144,12 +9144,12 @@

aria-keyshortcuts

aria-keyshortcuts - + MSAA + IAccessible2 @@ -9418,12 +9418,12 @@

aria-live=assertive

>=assertive - + MSAA + IAccessible2 @@ -9482,12 +9482,12 @@

aria-live=polite

>=polite - + MSAA + IAccessible2 @@ -9546,12 +9546,12 @@

aria-live=off

>=off - + MSAA + IAccessible2 @@ -9605,12 +9605,12 @@

aria-modal=true

>=true - + MSAA + IAccessible2 @@ -9655,12 +9655,12 @@

aria-modal=false

>=false - + MSAA + IAccessible2 @@ -9817,12 +9817,12 @@

aria-multiselectable=true=true - + MSAA + IAccessible2 @@ -9875,12 +9875,12 @@

aria-multiselectable=false< >=false - + MSAA + IAccessible2 @@ -10076,12 +10076,12 @@

aria-owns

aria-owns - + MSAA + IAccessible2 @@ -10137,12 +10137,12 @@

aria-placeholder

aria-placeholder - + MSAA + IAccessible2 @@ -10184,12 +10184,12 @@

aria-posinset

aria-posinset - + MSAA + IAccessible2 @@ -10465,12 +10465,12 @@

aria-readonly=true

>=true - + MSAA + IAccessible2 @@ -10529,12 +10529,12 @@

aria-readonly=false

>=false - + MSAA + IAccessible2 @@ -10587,12 +10587,12 @@

aria-readonly is unspeci aria-readonly is unspecified on gridcell - + MSAA + IAccessible2 @@ -10646,12 +10646,12 @@

aria-relevant

aria-relevant - + MSAA + IAccessible2 @@ -10903,12 +10903,12 @@

aria-rowcount

aria-rowcount - + MSAA + IAccessible2 @@ -10953,12 +10953,12 @@

aria-rowindex

aria-rowindex - + MSAA + IAccessible2 @@ -11003,12 +11003,12 @@

aria-rowindextext

aria-rowindextext - + MSAA + IAccessible2 @@ -11050,12 +11050,12 @@

aria-rowspan

aria-rowspan - + MSAA + IAccessible2 @@ -11257,12 +11257,12 @@

aria-setsize

aria-setsize - + MSAA + IAccessible2 @@ -11319,12 +11319,12 @@

aria-sort=ascending

>=ascending - + MSAA + IAccessible2 @@ -11372,12 +11372,12 @@

aria-sort=descending

>=descending - + MSAA + IAccessible2 @@ -11425,12 +11425,12 @@

aria-sort=other

>=other - + MSAA + IAccessible2 @@ -11478,12 +11478,12 @@

aria-sort=none

>=none - + MSAA + IAccessible2 @@ -11525,12 +11525,12 @@

aria-valuemax

aria-valuemax - + MSAA + IAccessible2 @@ -11580,12 +11580,12 @@

aria-valuemin

aria-valuemin - + MSAA + IAccessible2 @@ -11635,12 +11635,12 @@

aria-valuenow

aria-valuenow - + MSAA + IAccessible2 @@ -11691,12 +11691,12 @@

aria-valuetext

aria-valuetext - + MSAA + IAccessible2 From 4e11d5857dbbd62952c07b9beab40098de48b52c Mon Sep 17 00:00:00 2001 From: Valerie Young Date: Wed, 3 Jun 2026 14:11:52 -0700 Subject: [PATCH 06/22] Fix examples --- core-aam/index.html | 45 +++++++++++++++++---------------------------- 1 file changed, 17 insertions(+), 28 deletions(-) diff --git a/core-aam/index.html b/core-aam/index.html index 3a7a70d83..874fec0ca 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -6448,44 +6448,33 @@

General rules

Computed Accessibility Properties

- The computed accessibility properties of an element are a cross-platform key/value pairs of strings that represent the states and attributes of any accessible object in the accessibility tree. The computed accessibility properties are used primarily for the purposes of developer tools, specification conformance, and interoperability testing. Not all ARIA states and attributes will be surfaced in the computed accessibility properties. To see if a state or attribute should be surfaced, and the name of the key and it's expected value, check the "Computed Accessibility Property" row of the tables below. -

-

- The key of the computed accessibility property is the name of the state or property after aria- for all ARIA states and properties that do not have a value that is a ID Reference or ID Reference List. For all host languages with states and properties that map to an ARIA state and property, the key of the computed accessibility property is the same as the ARIA state and property. + The computed accessibility properties of an element are a cross-platform key/value pairs of strings that represent the states and attributes of any accessible object in the accessibility tree. The computed accessibility properties are used primarily for the purposes of developer tools, specification conformance, and interoperability testing. Not all ARIA states and attributes will be surfaced in the computed accessibility properties. To see if a state or attribute should be surfaced, and the name of the key and it's expected value, check the "Computed Accessibility Property" row of the tables below. If a host language state or property maps to an ARIA state or property, use the key and value specified here.

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

When the 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 a invalid token, user agents MUST NOT include it the computed accessibility properties. When a state or property has a default value other than undefined and is supported but not required on a given role, user agents MAY include it in the computed accessibility properties.

From 6ae11510b00512db4227499090d1a44d9e50b208 Mon Sep 17 00:00:00 2001 From: Valerie Young Date: Wed, 3 Jun 2026 14:13:21 -0700 Subject: [PATCH 07/22] breakup paragraph --- core-aam/index.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core-aam/index.html b/core-aam/index.html index 874fec0ca..82a6972d5 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -6448,7 +6448,10 @@

General rules

Computed Accessibility Properties

- The computed accessibility properties of an element are a cross-platform key/value pairs of strings that represent the states and attributes of any accessible object in the accessibility tree. The computed accessibility properties are used primarily for the purposes of developer tools, specification conformance, and interoperability testing. Not all ARIA states and attributes will be surfaced in the computed accessibility properties. To see if a state or attribute should be surfaced, and the name of the key and it's expected value, check the "Computed Accessibility Property" row of the tables below. If a host language state or property maps to an ARIA state or property, use the key and value specified here. + The computed accessibility properties of an element are a cross-platform key/value pairs of strings that represent the states and attributes of any accessible object in the accessibility tree. The computed accessibility properties are used primarily for the purposes of developer tools, specification conformance, and interoperability testing. +

+

+ Not all ARIA states and attributes will be surfaced in the computed accessibility properties. To see if a state or attribute should be surfaced, and the name of the key and it's expected value, check the "Computed Accessibility Property" row of the tables below. If a host language state or property maps to an ARIA state or property, use the key and value specified here.

- When the state or property is required on a role but the attribute is missing, undefined, or set to a invalid token, user agents MUST expose the property with the appropriate fallback values for missing required attributes. When a state or property has a implicit value for role and the attribute is missing, undefined, or set to a invalid token, user agents MUST expose the default value for the role. + When the 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 a 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 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 a invalid token, user agents MUST NOT include it the computed accessibility properties. When a state or property has a default value other than undefined and is supported but not required on a given role, user agents MAY include it in the computed accessibility properties. + When the 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 and is supported but not required on a given role, user agents MAY include it in the computed accessibility properties.

- When the 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 a 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 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 a 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 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 and is supported but not required on a given role, user agents MAY include it in the computed accessibility properties. + When the 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 and is supported but not required on a given role, user agents MAY include it in the computed accessibility properties.

From dc9d5da549e584afdfbe261c453add391d915aac Mon Sep 17 00:00:00 2001 From: Valerie Young Date: Fri, 5 Jun 2026 14:16:19 -0700 Subject: [PATCH 12/22] Add not mapped description --- core-aam/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-aam/index.html b/core-aam/index.html index ec404f68b..438431f08 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -6472,7 +6472,7 @@

Computed Accessibility Properties

- When the 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 and is supported but not required on a given role, user agents MAY include it in the computed accessibility properties. + When the 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 all 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.

- When the 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 all 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. + When the 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.

When the 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 a 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. @@ -6476,7 +6472,7 @@

Computed Accessibility Properties

From 2cf567b2cca1b5fc5a464fbb6af0918a1fc3c4f4 Mon Sep 17 00:00:00 2001 From: Valerie Young Date: Tue, 21 Jul 2026 11:23:31 -0700 Subject: [PATCH 15/22] Update description from James --- core-aam/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-aam/index.html b/core-aam/index.html index 58bc9b408..2922c4d56 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -6451,7 +6451,7 @@

Computed Accessibility Properties

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

- Not all ARIA states and attributes will be surfaced in the computed accessibility properties. To see if a state or attribute should be surfaced, and the name of the key and it's expected value, check the "Computed Accessibility Property" row of the tables below. If a host language state or property maps to an ARIA state or property, use the key and value specified here. + Not all ARIA states and attributes will be surfaced in the computed accessibility properties. To see if a state or attribute should be surfaced, and the name of the key and it's expected value, check the "Computed Accessibility Property" row of the tables below. If a host language state or property maps to an ARIA attribute, 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.

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:

+

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 @@ -7726,7 +7726,7 @@

aria-description

Computed Accessibility Property - description: <value> where value is calculated according to the Accessible Name and Description specification + description: <value> where value is calculated according to the Accessible Name and Description specification @@ -10679,9 +10679,9 @@

aria-relevant

From 931623869df416474b5521895a94ae346134f022 Mon Sep 17 00:00:00 2001 From: Valerie Young Date: Thu, 20 Aug 2026 15:40:37 -0700 Subject: [PATCH 22/22] Update definitions, feedback from Lola --- core-aam/index.html | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core-aam/index.html b/core-aam/index.html index baaf40275..bf383b38a 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -6448,7 +6448,11 @@

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. Because the term accessible object is used to refer to a node in a specific platform accessibility API, and the computed accessibility properties are properties of an intermediate platform-independent, implementation-defined abstraction used to back the various platform APIs, the term accessibility node will be used to refer to a node with the computed accessibility properties defined here. 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. + 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