From eb69944edf0b855f8681d281762c5338784b75ed Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Tue, 30 Jun 2026 17:40:50 +0200 Subject: [PATCH 01/18] Create heading-inspector https://github.com/quatico-solutions/heading-inspector https://chromewebstore.google.com/detail/heading-inspector/adneglmkionfaljjmoaedemiahchfjej?pli=1 --- pages/setup/helper-tools/browser-extensions/heading-inspector | 1 + 1 file changed, 1 insertion(+) create mode 100644 pages/setup/helper-tools/browser-extensions/heading-inspector diff --git a/pages/setup/helper-tools/browser-extensions/heading-inspector b/pages/setup/helper-tools/browser-extensions/heading-inspector new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/pages/setup/helper-tools/browser-extensions/heading-inspector @@ -0,0 +1 @@ + From 2e89b7f117b04bd9653062049ed34e4fdbf2259d Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Tue, 30 Jun 2026 17:41:56 +0200 Subject: [PATCH 02/18] Delete pages/setup/helper-tools/browser-extensions/heading-inspector how in the world do me create a folder via github web... --- pages/setup/helper-tools/browser-extensions/heading-inspector | 1 - 1 file changed, 1 deletion(-) delete mode 100644 pages/setup/helper-tools/browser-extensions/heading-inspector diff --git a/pages/setup/helper-tools/browser-extensions/heading-inspector b/pages/setup/helper-tools/browser-extensions/heading-inspector deleted file mode 100644 index 8b137891..00000000 --- a/pages/setup/helper-tools/browser-extensions/heading-inspector +++ /dev/null @@ -1 +0,0 @@ - From 92edb9f500700fe33528a47ef3e22c64f15b1bc4 Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Tue, 30 Jun 2026 17:42:50 +0200 Subject: [PATCH 03/18] Create README.md got it --- .../helper-tools/browser-extensions/heading-inspector/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 pages/setup/helper-tools/browser-extensions/heading-inspector/README.md diff --git a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md @@ -0,0 +1 @@ + From 68878cf1283ba923ff68a10824f87b39d8a32c5a Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Tue, 30 Jun 2026 17:59:52 +0200 Subject: [PATCH 04/18] Update README.md added skeleton for the extension page --- .../heading-inspector/README.md | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md index 8b137891..457a031e 100644 --- a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md +++ b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md @@ -1 +1,27 @@ +--- +navigation_title: "Heading Inspector" +position: 3 +--- + +# Heading Inspector + +**Inspired by the bookmarklet [h123](https://www.accessibility-developer-guide.com/setup/helper-tools/bookmarklets/h123/) we covered earlier, this chrome extension displays the heading structure** + +[[_TOC_]] + +## Installation + +Go to the [Chrome Web Store]([https://hinderlingvolkart.github.io/h123](https://chromewebstore.google.com/detail/heading-inspector/adneglmkionfaljjmoaedemiahchfjej?pli=1)) and install the extension on your browser. + +## Usage + +tbd... + +![The h123 bookmarklet in action](_media/the-h123-bookmarklet-in-action.png) + +tbd useful features: + +- tbd +- tbd +- tbd From 6e6be0c766009d425c74232e574e205509200bdd Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Tue, 30 Jun 2026 18:00:34 +0200 Subject: [PATCH 05/18] Update README.md testing link behavior in markdown --- .../helper-tools/browser-extensions/heading-inspector/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md index 457a031e..71004a68 100644 --- a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md +++ b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md @@ -11,7 +11,7 @@ position: 3 ## Installation -Go to the [Chrome Web Store]([https://hinderlingvolkart.github.io/h123](https://chromewebstore.google.com/detail/heading-inspector/adneglmkionfaljjmoaedemiahchfjej?pli=1)) and install the extension on your browser. +Go to the [Chrome Web Store]([https://hinderlingvolkart.github.io/h123](https://chromewebstore.google.com/detail/heading-inspector) and install the extension on your browser. ## Usage From 5e6b8282b7a3e5b7a3356f19bd9042e63f1bfe8f Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Tue, 30 Jun 2026 18:01:05 +0200 Subject: [PATCH 06/18] Update README.md fixed wrong link formatting --- .../helper-tools/browser-extensions/heading-inspector/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md index 71004a68..c598f7ef 100644 --- a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md +++ b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md @@ -11,7 +11,7 @@ position: 3 ## Installation -Go to the [Chrome Web Store]([https://hinderlingvolkart.github.io/h123](https://chromewebstore.google.com/detail/heading-inspector) and install the extension on your browser. +Go to the [Chrome Web Store](https://chromewebstore.google.com/detail/heading-inspector) and install the extension on your browser. ## Usage From 6a5acad1a2cb7b9939ac0dd128b75c80174e4533 Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Wed, 1 Jul 2026 09:41:16 +0200 Subject: [PATCH 07/18] Update README.md text draft --- .../browser-extensions/heading-inspector/README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md index c598f7ef..e0d5a7e0 100644 --- a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md +++ b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md @@ -5,17 +5,24 @@ position: 3 # Heading Inspector -**Inspired by the bookmarklet [h123](https://www.accessibility-developer-guide.com/setup/helper-tools/bookmarklets/h123/) we covered earlier, this chrome extension displays the heading structure** +**Inspired by the bookmarklet [h123](https://www.accessibility-developer-guide.com/setup/helper-tools/bookmarklets/h123/), this Chrome extension displays the heading structure of a webpage based on Chrome's accessibility tree. As a result, the outline shown by the extension reliably matches the outline announced by screen readers. Similar tools mostly rely on a page's DOM to outline headings, which can cause headings to be missed or misreported. The Heading Structure extension is built and maintained by [Quantico](https://github.com/quatico-solutions/heading-inspector).** [[_TOC_]] ## Installation -Go to the [Chrome Web Store](https://chromewebstore.google.com/detail/heading-inspector) and install the extension on your browser. +Go to the [Chrome Web Store](https://chromewebstore.google.com/detail/heading-inspector/adneglmkionfaljjmoaedemiahchfjej) and install the extension. ## Usage -tbd... +Toggle the heading outline panel for that page with one click on the toolbar icon +- The panel lists all headings with their level, indented by depth. +- Green square = correct heading order. +- Red octagon = sequence error (e.g. h4 directly after h2) — distinguished by both colour and shape so it is robust under colour-blindness and greyscale. +- Click a heading to scroll to it on the page with a highlight flash. +- Click Close or the extension icon again to hide. +- Follows navigation within the same site. Once you open the panel on a tab it stays with you as you walk that site — following links, submitting forms, or navigating a single-page app all re-populate the outline for the new page automatically. +- Leaving the site (a different origin) stops the follow, and the panel does not reopen until you click the icon again on the new site. This keeps the audit loop going without re-clicking on every page. ![The h123 bookmarklet in action](_media/the-h123-bookmarklet-in-action.png) From ed1e7bc02461c2afbbb7ad1715b5ec2543ebe09f Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Wed, 1 Jul 2026 09:42:11 +0200 Subject: [PATCH 08/18] Create test.png trying to add an image --- .../browser-extensions/heading-inspector/_media/test.png | 1 + 1 file changed, 1 insertion(+) create mode 100644 pages/setup/helper-tools/browser-extensions/heading-inspector/_media/test.png diff --git a/pages/setup/helper-tools/browser-extensions/heading-inspector/_media/test.png b/pages/setup/helper-tools/browser-extensions/heading-inspector/_media/test.png new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/pages/setup/helper-tools/browser-extensions/heading-inspector/_media/test.png @@ -0,0 +1 @@ + From 7167f14474bee7c72a588bc189996d28e73c3070 Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Wed, 1 Jul 2026 09:44:28 +0200 Subject: [PATCH 09/18] add media added a screenshot of the heading outline panel --- .../_media/heading-structure-extension.png | Bin 0 -> 34821 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pages/setup/helper-tools/browser-extensions/heading-inspector/_media/heading-structure-extension.png diff --git a/pages/setup/helper-tools/browser-extensions/heading-inspector/_media/heading-structure-extension.png b/pages/setup/helper-tools/browser-extensions/heading-inspector/_media/heading-structure-extension.png new file mode 100644 index 0000000000000000000000000000000000000000..07c3cbd43d79a532e091188658513fe2332d1035 GIT binary patch literal 34821 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 Date: Wed, 1 Jul 2026 09:51:45 +0200 Subject: [PATCH 10/18] Delete pages/setup/helper-tools/browser-extensions/heading-inspector/_media/test.png delete test image which I used to create the media folder via github web --- .../browser-extensions/heading-inspector/_media/test.png | 1 - 1 file changed, 1 deletion(-) delete mode 100644 pages/setup/helper-tools/browser-extensions/heading-inspector/_media/test.png diff --git a/pages/setup/helper-tools/browser-extensions/heading-inspector/_media/test.png b/pages/setup/helper-tools/browser-extensions/heading-inspector/_media/test.png deleted file mode 100644 index 8b137891..00000000 --- a/pages/setup/helper-tools/browser-extensions/heading-inspector/_media/test.png +++ /dev/null @@ -1 +0,0 @@ - From 5001c9b380bff1dc1f02713dd6d64100d69d2630 Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Wed, 1 Jul 2026 09:52:55 +0200 Subject: [PATCH 11/18] Update README.md added screenshot of the heading outline panel --- .../browser-extensions/heading-inspector/README.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md index e0d5a7e0..d51e5a9f 100644 --- a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md +++ b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md @@ -24,11 +24,4 @@ Toggle the heading outline panel for that page with one click on the toolbar ico - Follows navigation within the same site. Once you open the panel on a tab it stays with you as you walk that site — following links, submitting forms, or navigating a single-page app all re-populate the outline for the new page automatically. - Leaving the site (a different origin) stops the follow, and the panel does not reopen until you click the icon again on the new site. This keeps the audit loop going without re-clicking on every page. -![The h123 bookmarklet in action](_media/the-h123-bookmarklet-in-action.png) - -tbd useful features: - -- tbd -- tbd -- tbd - +![The heading structure extension in action](_media/heading-structure-extension.png) From 06cadef5b3f9ee59556dfd35db55b4fe3a21c3dc Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Wed, 1 Jul 2026 10:01:52 +0200 Subject: [PATCH 12/18] Update README.md moved image --- .../browser-extensions/heading-inspector/README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md index d51e5a9f..8e7cb1cb 100644 --- a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md +++ b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md @@ -15,13 +15,14 @@ Go to the [Chrome Web Store](https://chromewebstore.google.com/detail/heading-in ## Usage -Toggle the heading outline panel for that page with one click on the toolbar icon +Toggle the heading outline panel for a page with one click on the toolbar icon. The panel will appear on the right side of the viewport. + +![The heading structure extension in action](_media/heading-structure-extension.png) + - The panel lists all headings with their level, indented by depth. -- Green square = correct heading order. -- Red octagon = sequence error (e.g. h4 directly after h2) — distinguished by both colour and shape so it is robust under colour-blindness and greyscale. +- A green square indicates correct heading order. +- A red octagon indicates sequence errors (e.g. h4 directly after h2) — distinguished by both colour and shape so it is robust under colour-blindness and greyscale. - Click a heading to scroll to it on the page with a highlight flash. - Click Close or the extension icon again to hide. - Follows navigation within the same site. Once you open the panel on a tab it stays with you as you walk that site — following links, submitting forms, or navigating a single-page app all re-populate the outline for the new page automatically. - Leaving the site (a different origin) stops the follow, and the panel does not reopen until you click the icon again on the new site. This keeps the audit loop going without re-clicking on every page. - -![The heading structure extension in action](_media/heading-structure-extension.png) From 114c747f48354133f72aabd380118e0b16690413 Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Wed, 1 Jul 2026 10:13:22 +0200 Subject: [PATCH 13/18] Update README.md added note to the headingsmap extension for a more reliable alternative on Chrome --- .../setup/helper-tools/browser-extensions/headingsmap/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pages/setup/helper-tools/browser-extensions/headingsmap/README.md b/pages/setup/helper-tools/browser-extensions/headingsmap/README.md index 1bd3485d..3293af5b 100644 --- a/pages/setup/helper-tools/browser-extensions/headingsmap/README.md +++ b/pages/setup/helper-tools/browser-extensions/headingsmap/README.md @@ -8,6 +8,8 @@ card_text: "It generates an index of any web document structured with headings a **HeadingsMap generates an index of any web document structured with headings and sections. It shows the headings structure, the errors in the structure (ie. incorrect levels), and it works as HTML5 Outliner too.** +This extension outlines headings and sections based on a pages DOM. In certain scenarios headings might be missed or misinterpreted, for example when dealing with shadow DOMs. For a more reliable tool check out the heading inspector extension for Chrome: [Heading Inspector](https://www.accessibility-developer-guide.com/setup/helper-tools/browser-extensions/heading-inspector/) + ## Installation **Firefox**
From a28bcf0cf182b80a2b75774a6b0e872d5c1ae219 Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Wed, 1 Jul 2026 10:17:40 +0200 Subject: [PATCH 14/18] Update README.md added note for a more reliable alternative on Chrome --- pages/setup/helper-tools/bookmarklets/h123/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pages/setup/helper-tools/bookmarklets/h123/README.md b/pages/setup/helper-tools/bookmarklets/h123/README.md index 8b23bb42..fe0177c0 100644 --- a/pages/setup/helper-tools/bookmarklets/h123/README.md +++ b/pages/setup/helper-tools/bookmarklets/h123/README.md @@ -7,6 +7,8 @@ position: 2 **This bookmarklet provides an efficient way to display the current webpage's heading outline, very close to how screen readers do. In addition, it has some pretty useful features like displaying potentially incorrectly hidden headings.** +This extension outlines headings and sections based on a pages DOM. In certain scenarios headings might be missed or misinterpreted, for example when dealing with shadow DOMs. For a more reliable tool check out the heading inspector extension for Chrome: [Heading Inspector](https://www.accessibility-developer-guide.com/setup/helper-tools/browser-extensions/heading-inspector/) + [[_TOC_]] ## Installation From ae2d1e806a7fcfe9c8bdfde88987b78cb0c0c685 Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Wed, 1 Jul 2026 10:18:05 +0200 Subject: [PATCH 15/18] Update README.md typo --- pages/setup/helper-tools/bookmarklets/h123/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/setup/helper-tools/bookmarklets/h123/README.md b/pages/setup/helper-tools/bookmarklets/h123/README.md index fe0177c0..8bb49bbb 100644 --- a/pages/setup/helper-tools/bookmarklets/h123/README.md +++ b/pages/setup/helper-tools/bookmarklets/h123/README.md @@ -7,7 +7,7 @@ position: 2 **This bookmarklet provides an efficient way to display the current webpage's heading outline, very close to how screen readers do. In addition, it has some pretty useful features like displaying potentially incorrectly hidden headings.** -This extension outlines headings and sections based on a pages DOM. In certain scenarios headings might be missed or misinterpreted, for example when dealing with shadow DOMs. For a more reliable tool check out the heading inspector extension for Chrome: [Heading Inspector](https://www.accessibility-developer-guide.com/setup/helper-tools/browser-extensions/heading-inspector/) +This bookmarklet outlines headings and sections based on a pages DOM. In certain scenarios headings might be missed or misinterpreted, for example when dealing with shadow DOMs. For a more reliable tool check out the heading inspector extension for Chrome: [Heading Inspector](https://www.accessibility-developer-guide.com/setup/helper-tools/browser-extensions/heading-inspector/) [[_TOC_]] From f52166c28b9766e9314794f2ed7bf2bdb1c1c631 Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Mon, 3 Aug 2026 11:25:32 +0200 Subject: [PATCH 16/18] Update README.md differences are less significant as previously thought --- pages/setup/helper-tools/bookmarklets/h123/README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/pages/setup/helper-tools/bookmarklets/h123/README.md b/pages/setup/helper-tools/bookmarklets/h123/README.md index 8bb49bbb..8b23bb42 100644 --- a/pages/setup/helper-tools/bookmarklets/h123/README.md +++ b/pages/setup/helper-tools/bookmarklets/h123/README.md @@ -7,8 +7,6 @@ position: 2 **This bookmarklet provides an efficient way to display the current webpage's heading outline, very close to how screen readers do. In addition, it has some pretty useful features like displaying potentially incorrectly hidden headings.** -This bookmarklet outlines headings and sections based on a pages DOM. In certain scenarios headings might be missed or misinterpreted, for example when dealing with shadow DOMs. For a more reliable tool check out the heading inspector extension for Chrome: [Heading Inspector](https://www.accessibility-developer-guide.com/setup/helper-tools/browser-extensions/heading-inspector/) - [[_TOC_]] ## Installation From 62805c347aefba91c66d27b3912bf488497e41f0 Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Mon, 3 Aug 2026 11:26:43 +0200 Subject: [PATCH 17/18] Update README.md removed section referring to the headings inspector, since differences are less significant as previously thought --- .../setup/helper-tools/browser-extensions/headingsmap/README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/pages/setup/helper-tools/browser-extensions/headingsmap/README.md b/pages/setup/helper-tools/browser-extensions/headingsmap/README.md index 3293af5b..1bd3485d 100644 --- a/pages/setup/helper-tools/browser-extensions/headingsmap/README.md +++ b/pages/setup/helper-tools/browser-extensions/headingsmap/README.md @@ -8,8 +8,6 @@ card_text: "It generates an index of any web document structured with headings a **HeadingsMap generates an index of any web document structured with headings and sections. It shows the headings structure, the errors in the structure (ie. incorrect levels), and it works as HTML5 Outliner too.** -This extension outlines headings and sections based on a pages DOM. In certain scenarios headings might be missed or misinterpreted, for example when dealing with shadow DOMs. For a more reliable tool check out the heading inspector extension for Chrome: [Heading Inspector](https://www.accessibility-developer-guide.com/setup/helper-tools/browser-extensions/heading-inspector/) - ## Installation **Firefox**
From 8b0d7d2d8579871381af462c06de18cb231185f0 Mon Sep 17 00:00:00 2001 From: RA11y1 Date: Mon, 3 Aug 2026 11:46:34 +0200 Subject: [PATCH 18/18] Update README.md rewrote the intro text. No reference to h123 anymore, no need to tell as it seems kinda obvious. Mentioned the edge case for javascript set heading roles for a specific case where this extension adds value --- .../helper-tools/browser-extensions/heading-inspector/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md index 8e7cb1cb..539b084b 100644 --- a/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md +++ b/pages/setup/helper-tools/browser-extensions/heading-inspector/README.md @@ -5,7 +5,7 @@ position: 3 # Heading Inspector -**Inspired by the bookmarklet [h123](https://www.accessibility-developer-guide.com/setup/helper-tools/bookmarklets/h123/), this Chrome extension displays the heading structure of a webpage based on Chrome's accessibility tree. As a result, the outline shown by the extension reliably matches the outline announced by screen readers. Similar tools mostly rely on a page's DOM to outline headings, which can cause headings to be missed or misreported. The Heading Structure extension is built and maintained by [Quantico](https://github.com/quatico-solutions/heading-inspector).** +**Unlike similar heading outline tools that parse a page's DOM, this extension reads the accessibility tree directly, catching edge cases—like headings assigned via JavaScript—that DOM-based tools can miss. The Heading Structure extension is built and maintained by [Quantico](https://github.com/quatico-solutions/heading-inspector).** [[_TOC_]]