Accessibility
Why heading levels should not skip
What 13x checks
This is rule accessibility.heading-order in the public registry: Heading levels do not skip. It runs on every audit, against the pages we actually fetched, and its result is derived from the response rather than estimated.
- Surface
- Accessibility
- Score weight
- 4 of the readiness score
- Scope
- Reported as skipped when the page renders only with JavaScript
- Applies
- To every site
Registry version 2026-07-30. Every rule is published, and the audit is deterministic — the same page produces the same finding every time.
The fix
The same text the audit hands you when this check fails on your own site.
Heading levels skip, e.g. h straight to h.
<!-- Skips h3 -->
<h2>Pricing</h2>
<h4>What is included</h4>
<!-- Sequential -->
<h2>Pricing</h2>
<h3>What is included</h3>Screen reader users navigate by jumping between headings, and the levels tell them how sections nest. A skipped level implies a section that is not there.
If you skipped a level because h3 looked too big, style it with a class and keep the element:
<h3 class="text-sm font-medium">What is included</h3>Does your site have this problem?
13x checks this and 112 others against your live URL in about 30 seconds. No account, and every finding comes with the fix for your framework.
No signup. Results in 30 seconds.
More accessibility checks
- How to label form fields accessiblyForm fields have labels
- How to write alt text for imagesImages have alt attributes
- Why my icon buttons have no accessible nameLinks and buttons have accessible names
- How to stop disabling pinch zoomPinch-zoom is not disabled
- Why my site needs a viewport meta tagViewport meta tag is present
- Do I need an accessibility statementAccessibility statement is published