Skip to main content
Perceivly: Perceivly home

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

Examples

Fails:A long help article with several topics and no headings
<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>
Passes:The same article with a heading for each topic
<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

Official W3C explanation of 2.4.10

Check your own page

See which automated WCAG checks your page fails, with the failing elements and how to fix them.

Enter a page address, for example example.com/shop.

Reviewed November 2, 2026