← Rule catalog
lowrequiredstructured

Poor heading hierarchy

HEADING_HIERARCHY_POOR · v1.0

What it detects

Pages with zero or multiple <h1> tags, or a heading level skip (e.g. h2 straight to h4).

Why it matters

A clean, ordered heading outline is how agents and accessibility tools build a table of contents and locate the section relevant to their task; a broken hierarchy makes that navigation unreliable.

How to fix

- Extract the page's heading outline (`h1`-`h6`) and check for: zero `<h1>` tags, more than one `<h1>`, or a level skip (e.g. jumping from `<h2>` straight to `<h4>`). - Ensure exactly one `<h1>` per page (the page/product title) and that subsequent headings descend one level at a time (h1 → h2 → h3, no gaps). - Fix template components that hardcode heading levels regardless of nesting depth (a common cause of skips in CMS-driven pages). - Verify: run an accessibility/heading-outline linter (e.g. axe-core, `pa11y`) against the rendered page and confirm no "heading order" violations.

References

Last reviewed: 2026-09-01 · rule v1.0