# Heading order pass rate: the metric that finds skipped levels

Source: https://complymetric.com/blog/2026-11-06-heading-order-pass-rate-skipped-levels.html

Most accessibility dashboards track contrast failures and missing alt text because scanners count them easily. Heading order is different. A page that jumps from an H1 to an H3 has a broken outline, and no scanner flags it as a failure, because the headings are all present and all styled. The failure is structural, and it only shows up when a screen reader user tries to navigate by headings and finds a level missing.

Measure it as a rate. Count the pages where every heading level follows the previous one without skipping, divide by the pages checked, and that is the heading order pass rate. A site at 100 percent has an outline a screen reader can trust. A site at 60 percent has an outline that lies to its users on four pages in ten, and nobody noticed, because the metric was never on the dashboard.

## Why skipped levels happen

Skipped levels happen because headings are chosen for how they look, not for what they mean. A designer picks an H3 because the H2 style is too big for the section, and the outline breaks. A content editor copies a section from another page and pastes it under a different parent, and the outline breaks. A component library ships a card with an H3 inside, and the card lands on a page where the parent is an H1, and the outline breaks. Three different causes, one metric that catches all of them.

The fix is to separate meaning from appearance. The heading level is the outline. The visual size is CSS. An H2 can look like an H3 if the design needs it, and the outline stays intact. Teams that learn this stop skipping levels within a week. Teams that do not keep shipping broken outlines and wondering why their heading navigation complaints never stop.

## What the rate tells you that a count does not

A count of heading issues tells you how many pages have a problem. A pass rate tells you whether the problem is getting better or worse, and whether the team that owns the templates is fixing it or the team that owns the content is breaking it faster. Track the rate weekly, split it by template and by content team, and the pattern appears: the template with the card component, the team that pastes sections, the page type that always skips.

Set the target at 100 percent, because there is no honest reason for a page to skip a heading level. An H1 followed by an H3 is never a design choice. It is a mistake that survived review, and the rate is what makes the mistake visible before a user reports it.

## The check to add this week

Add heading order to the dashboard next to contrast and alt text, and run it on the ten most visited pages first. If the pass rate is under 90 percent, the fix is in the templates, not in the content, and it is a CSS change, not a rewrite. Fix the templates, watch the rate climb, and keep it there. An outline that screen reader users can trust is the cheapest accessibility win on the dashboard, because it costs a class name.

Keep reading: [Focus visible pass rate: a metric that catches what contrast ratios miss](2026-11-05-focus-visible-pass-rate-metric.md), [Keyboard trap incident rate as a metric](2026-11-04-keyboard-trap-incident-rate-metric.md).

## Frequently asked questions

### What is a heading order pass rate?

The share of pages where every heading level follows the previous one without skipping, for example H1 then H2 then H3. A page that jumps from H1 to H3 fails, even though all the headings are present and styled.

### Which WCAG criterion covers skipped heading levels?

Heading order is part of 1.3.1 Info and Relationships and 2.4.6 Headings and Labels. The headings must convey the page structure, and a skipped level misrepresents that structure to screen reader users who navigate by headings.

### Why do teams skip heading levels?

Usually for appearance: an H3 is picked because the H2 style looks too big. The fix is to separate meaning from appearance, using CSS to size a heading while keeping its real level in the outline.

### Should the target be 100 percent?

Yes. There is no honest reason for a page to skip a heading level. It is a mistake that survived review, and the rate is what makes it visible before a user reports it.
