- Success Criterion 2.4.6
- Conformance level AA
Heading That Actually Describes the Section Before It
2.4.6 — Headings and Labels
Scenario
Setting
A calendar app's event-creation form
What’s wrong
Headings describing the previous section due to placement errors.
Example
<h2>Event Details</h2>
<input placeholder="Title">
<input type="datetime-local">
<h2>Reminders</h2>
<!-- reminders fields actually sit above, under Event Details; this heading now sits right before the guest fields -->
<input type="email" placeholder="Invite guest by email"> Why it matters
A user jumping to the Reminders heading lands right before the guest invite field instead of any reminder setting, since the heading was misplaced during an edit.
How to test
Compare each heading to the content that actually follows it: if a heading describes the previous section due to a placement error, it fails.
How to fix
Whenever a form's fields get reordered, double check every heading still sits directly above its real content.
<h2>Event Details</h2>
<input placeholder="Title">
<input type="datetime-local">
<h2>Set Reminders</h2>
<select><option>15 minutes before</option></select>
<h2>Invite Guests</h2>
<input type="email" placeholder="Invite guest by email"> Outcome
A user jumps to Invite Guests and lands exactly on the guest email field, not a leftover reminders label.
Who is affected
Screen reader users relying on headings to jump to a section land in the wrong content entirely.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Heading or Label That Fails to Describe Its Own Purpose
- Generic Section Heading Like ‘Introduction’ That Says Nothing
- Identical Headings Repeated Over Completely Different Content
- Form Label Like ‘Field 1’ That Doesn’t Describe Its Purpose
- Same Label Used for Two Different Fields on One Form
- Clever Marketing Heading That Hides What a Section Actually Does