Skip to main content
← πŸ“„ HTML & the platformΒ·Module A5 Β· Lesson 11
TaskBuild a properly-headed page outline. <h1>Annual Report 2025</h1>, <h2>Summary</h2>, <h2>Financials</h2>, <h3>Q1</h3>, <h3>Q2</h3>, <h2>Conclusion</h2>. No level-skips.

Heading-only navigation: design for the screen-reader user

75 XP6 min
Theory

A power-user pattern

Screen-reader users can press a single key to jump from heading to heading (H in JAWS/NVDA, VO+Command+H in VoiceOver). The page outline IS their navigation.

That means a well-headed page is navigable in seconds. A page with mislabeled or skipped headings is unusable.

Test your page like a SR user

Imagine you can ONLY see headings. Could you understand:

  • What page you're on?
  • What sections exist?
  • What's the order?
  • Where to find a specific topic?

If the answer is no, your headings need work.

Common mistakes

  • Using `<h2>` for visual sizing, not semantic level. Use CSS to make small text big; don't promote an h4 to h2 just because you want it large.
  • Skipping levels going down. h1 β†’ h3 leaves the screen-reader user wondering "did I miss something between?"
  • No h1. Every page should have exactly one h1 that names the page.
  • All sections `<h2>` (no h3/h4). OK at first, but as your section grows it'll need sub-sections. Plan ahead.

The "outline" view

Most modern dev tools have a "show document outline" feature. Run it on your page. If it doesn't resemble a table of contents you'd write by hand, fix.

πŸ”’

Sign up to start coding

Theory is open to everyone. The interactive editor, live preview, and check are unlocked with a 7-day free trial β€” card required, cancel anytime.

Sign up β€” free trial β†’

First 10 lessons in each track are free. No card needed for those.

← PreviousNext lesson β†’

Get one Python or web tip a day β€” by email

Short, hand-written, no spam. Unsubscribe in one click.