Skip to main content
Perceivable WCAG 1.3.1

Heading Structure

One <h1> per page. Headings in logical order without skipping levels (h1→h2→h3, never h1→h3). Screen reader users navigate by heading — 67.5% use headings to find information.

In plain terms

Use headings in order, like a document outline — screen-reader users jump between them to scan a page, the way sighted users skim.

Why this matters

Two-thirds of screen-reader users navigate a page by jumping between headings. Skipped levels or fake headings (just bold text) break that map, forcing them to wade through everything.

How to detect

Quick check

View the heading outline (a headings extension or DevTools). Is there exactly one <h1>? Do levels descend without skipping (h2→h3, not h2→h4)? Is anything that looks like a heading actually marked up as one?