From 2e561d146c07a37226fd82e4dd03ae1ffd5c9b21 Mon Sep 17 00:00:00 2001 From: Keith Cirkel Date: Thu, 14 Aug 2025 13:01:17 +0100 Subject: [PATCH 1/5] [html-aam] Set heading level based on HTML computed heading level --- html-aam/index.html | 110 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 108 insertions(+), 2 deletions(-) diff --git a/html-aam/index.html b/html-aam/index.html index 218b62dcd..9ab9d69b5 100644 --- a/html-aam/index.html +++ b/html-aam/index.html @@ -2666,8 +2666,13 @@

`h1`, `h2`, `h3`, `h4`, `h5`, and `h6`

[[wai-aria-1.2]] - `heading` role, with the `aria-level` property set to the number in the element's tag - name. + `heading` role, with the `aria-level` property set to + the computed heading level; this is the number from the element's tag name (e.g., 2 for `h2`), adjusted + by any `headingoffset` or `headingreset` attributes in scope. +
+ If an explicit `aria-level` attribute is specified on the element, it takes priority over the implicit `aria-level` value derived from + the computed heading level. +
@@ -11154,6 +11159,107 @@

`headers`

+

`headingoffset`

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
HTML Specification`headingoffset`
Element(s) + Global attribute +
[[WAI-ARIA-1.2]]Adjusts the `aria-level` property of in-scope heading elements by the specified offset value.
+ MSAA + IAccessible2 + +
Not mapped
+
UIA +
Not mapped
+
[[ATK]] +
Not mapped
+
AX +
Not mapped
+
Comments
+

`headingreset`

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
HTML Specification`headingreset`
Element(s) + Global attribute +
[[WAI-ARIA-1.2]] + Resets the `aria-level` property of in-scope heading elements to the specified base level before applying any + offset. +
+ MSAA + IAccessible2 + +
Not mapped
+
UIA +
Not mapped
+
[[ATK]] +
Not mapped
+
AX +
Not mapped
+
Comments

`height`

From 2cea8b4d9c83dc557dd1ab11124c2076a2bbce48 Mon Sep 17 00:00:00 2001 From: Keith Cirkel Date: Mon, 26 Jan 2026 18:22:58 +0000 Subject: [PATCH 2/5] Fix URLs Co-authored-by: Scott O'Hara --- html-aam/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/html-aam/index.html b/html-aam/index.html index 9ab9d69b5..9a51512b5 100644 --- a/html-aam/index.html +++ b/html-aam/index.html @@ -11169,7 +11169,7 @@

`headingoffset`

@@ -11218,7 +11218,7 @@

`headingreset`

From 7d1ae7fb52128116723c4d6b84db0c1f13b3d992 Mon Sep 17 00:00:00 2001 From: Keith Cirkel Date: Fri, 12 Jun 2026 09:28:18 +0100 Subject: [PATCH 3/5] Change note to normative --- html-aam/index.html | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/html-aam/index.html b/html-aam/index.html index 9a51512b5..5c76f0cdc 100644 --- a/html-aam/index.html +++ b/html-aam/index.html @@ -2669,10 +2669,8 @@

`h1`, `h2`, `h3`, `h4`, `h5`, and `h6`

`heading` role, with the `aria-level` property set to the computed heading level; this is the number from the element's tag name (e.g., 2 for `h2`), adjusted by any `headingoffset` or `headingreset` attributes in scope. -
- If an explicit `aria-level` attribute is specified on the element, it takes priority over the implicit `aria-level` value derived from - the computed heading level. -
+

If an explicit `aria-level` attribute is specified on the element, user agents MUST use that value instead of the implicit `aria-level` value derived from + the computed heading level.

From c3879024b10a96b8731736ae3d873121684190c1 Mon Sep 17 00:00:00 2001 From: Keith Cirkel Date: Fri, 12 Jun 2026 09:32:32 +0100 Subject: [PATCH 4/5] Adjust link to point to heading level, not just offset --- html-aam/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html-aam/index.html b/html-aam/index.html index 5c76f0cdc..4cd1fa6ff 100644 --- a/html-aam/index.html +++ b/html-aam/index.html @@ -2667,7 +2667,7 @@

`h1`, `h2`, `h3`, `h4`, `h5`, and `h6`

Element(s) - Global attribute + HTML elements
Element(s) - Global attribute + HTML elements
[[wai-aria-1.2]] `heading` role, with the `aria-level` property set to - the computed heading level; this is the number from the element's tag name (e.g., 2 for `h2`), adjusted + the computed heading level; this is the number from the element's tag name (e.g., 2 for `h2`), adjusted by any `headingoffset` or `headingreset` attributes in scope.

If an explicit `aria-level` attribute is specified on the element, user agents MUST use that value instead of the implicit `aria-level` value derived from the computed heading level.

From 606f065ddc799c3ec757fb38b7c30586d9deb6e8 Mon Sep 17 00:00:00 2001 From: Keith Cirkel Date: Fri, 12 Jun 2026 09:32:40 +0100 Subject: [PATCH 5/5] Add note around implicit capping --- html-aam/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/html-aam/index.html b/html-aam/index.html index 4cd1fa6ff..fd0d36c0c 100644 --- a/html-aam/index.html +++ b/html-aam/index.html @@ -2671,6 +2671,7 @@

`h1`, `h2`, `h3`, `h4`, `h5`, and `h6`

by any `headingoffset` or `headingreset` attributes in scope.

If an explicit `aria-level` attribute is specified on the element, user agents MUST use that value instead of the implicit `aria-level` value derived from the computed heading level.

+

The computed heading level algorithm caps the implicit `aria-level` value at 9.