Skip to main content
Perceivly: Perceivly home

2.4.6 Headings and Labels

Level AA · added in WCAG 2.0

When you use headings and labels, they must describe the topic of the section or the purpose of the control. This criterion does not require headings or labels, only that the ones you have are clear.

Who it helps

Screen reader users jump between headings and form fields, so vague text leaves them guessing. People with cognitive disabilities and anyone skimming a page find content faster with descriptive headings and labels.

How to meet it

Examples

Fails:Headings that do not describe their sections
<h2>Section 1</h2>
<p>Our plans start at $12 per month...</p>
<h2>More info</h2>
<p>You can cancel at any time from Settings...</p>
Fails:Labels that do not explain what to enter
<label for="f1">Field 1</label>
<input id="f1" type="text">
<label for="f2">Date</label>
<input id="f2" type="text">
Passes:Headings that name each topic
<h2>Pricing</h2>
<p>Our plans start at $12 per month...</p>
<h2>How to cancel your plan</h2>
<p>You can cancel at any time from Settings...</p>
Passes:Labels that say what each field needs
<label for="f1">Company name</label>
<input id="f1" type="text" autocomplete="organization">
<label for="f2">Delivery date (MM/DD/YYYY)</label>
<input id="f2" type="text">

Can a scanner detect this?

No

Whether a heading or label is descriptive is a judgment about meaning, so axe-core has no rule for this criterion. Tools can find missing labels or empty headings under other criteria, but a person must read the text.

No automated rule tests this criterion. Check it by hand.

Common mistakes

Official W3C explanation of 2.4.6

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