2.4.10 Section Headings
Level AAA · added in WCAG 2.0
When your content is organized into sections, give each section a heading. This level AAA criterion covers sections within writing, such as articles and help pages, not user interface controls.
Who it helps
Screen reader users jump between headings to scan a page and find the part they need. People with reading or attention difficulties can see the structure at a glance and read one section at a time.
How to meet it
- Split long text into sections by topic, and start each one with a heading that names the topic.
- Mark headings up with h1 to h6 in a logical order. The markup itself is required by 1.3.1, while 2.4.10 asks that the headings exist.
- Use subheadings for sub-topics instead of bold paragraphs.
- You don't need headings for content that isn't divided into sections, such as a short note or one paragraph.
- Level AAA isn't required by most laws or policies, which point to AA. It's still worth meeting, and it is easy to do for most articles.
Examples
<main>
<h1>Billing help</h1>
<p>To change your plan, open Settings and choose Plan.</p>
<p>Invoices are emailed on the first of each month.</p>
<p>To get a refund, contact support within 30 days.</p>
</main><main>
<h1>Billing help</h1>
<h2>Change your plan</h2>
<p>To change your plan, open Settings and choose Plan.</p>
<h2>Invoices</h2>
<p>Invoices are emailed on the first of each month.</p>
<h2>Refunds</h2>
<p>To get a refund, contact support within 30 days.</p>
</main>Can a scanner detect this?
No
axe-core has no rule for this criterion. Rules like page-has-heading-one check heading markup, but no script can decide where one topic ends and the next begins. You need to read the content and judge whether its sections have headings.
No automated rule tests this criterion. Check it by hand.
Common mistakes
- Using bold or large text as a heading without heading markup, which also fails 1.3.1.
- Writing vague headings like "More info" that don't describe the section, which fails 2.4.6.
- Using one heading for a long page that covers many separate topics.
- Skipping heading levels for visual size instead of styling the right level with CSS.
Related criteria
Check your own page
See which automated WCAG checks your page fails, with the failing elements and how to fix them.
Reviewed November 2, 2026