Section Headings
Use headings to organise content. Where a page has distinct sections, each section needs a real heading element (`<h1>`–`<h6>`) — not styled paragraphs that just look like headings.
What it asks
When a page is divided into sections, each section must have a programmatic heading. The SC doesn’t require every page to be broken into sections — short single-purpose pages (a login screen) are fine without subheadings. But where sections exist, they need real <h1>–<h6> markup so assistive technology can build a heading outline.
This SC sits at AAA, but the underlying practice — using real headings — is also implied by 1.3.1 (Info and Relationships) at A, so most accessible sites pass it incidentally.
How to meet it
- Use
<h1>for the page title (once per page) and step down through<h2>,<h3>for nested sections without skipping levels. - Replace
<div class="heading">and styled<p>“headings” with real heading tags. - Make every distinct section of long-form content (an article, a documentation page, a settings panel with tabs) start with a heading.
- For card components that act as collections of similar sections, give each card a heading at the appropriate level.
- Validate the heading outline with the HTML5 outline algorithm (axe DevTools, headingsMap browser extension, or the W3C validator).
Common failures
- Bold paragraphs masquerading as headings — typographically convincing, invisible to a screen reader’s heading list.
- Heading levels skipped (
<h1>jumps to<h4>) because the CMS team picked levels by font size rather than hierarchy. - Multiple
<h1>elements on a single page (acceptable in HTML5 outlines but breaks navigation in most assistive tech). - Every section labelled
<h2>regardless of nesting depth, flattening the outline. - Hero text marked up as an
<h1>while the actual page title sits below it as an<h2>.
Why it matters
For screen-reader users, the heading outline is the table of contents. JAWS and NVDA expose it in a dialog (Insert+F6 in JAWS); VoiceOver exposes it in the rotor. A page with no headings, or with headings only for visual emphasis, leaves those users scrolling line-by-line. Even at AA-only commitment, treating section headings as a baseline writing rule pays back across SEO, content reuse, and editor sanity.