Skip to content

Plain guides to WCAG, alt text and screen readers

Contrast checker

Success criteria

WCAG 2.4.6 Headings and Labels That Describe

Headings and labels must describe their topic or purpose in clear words

  • Level AA
  • WCAG 2.0
  • Operable
  • Checked 7 Nov 2026

WCAG 2.4.6 requires that headings and labels, when you use them, describe the topic or purpose of the content or control they belong to, so "Section 2" or "Field 1" fails while "How refunds work" and "Phone number" pass. This AA rule judges only the words, not whether headings exist.

We explain what counts as a label, who relies on clear wording, the rewrites auditors ask for most, a before and after form, a reading routine, and how the rule fits with structure rules. The full set of AA rules is on WCAG 2.2 AA.

Quick facts

  • Level

    AA
  • Added in

    WCAG 2.0
  • Principle

    Operable, guideline 2.4 Navigable
  • Judges

    The wording of headings and labels, not their presence
  • Presence is

    1.3.1 for markup, 3.3.2 for form labels, 2.4.10 (AAA) for section headings
  • Fast test

    Read the heading list and field labels out of context

WCAG 2.4.6 judges wording, not existence

Many teams read this rule as "pages must have headings". It does not say that. It says that when you do use headings and labels, they must describe the topic or purpose of what they introduce. A page with no headings can pass 2.4.6. A page with ten headings called Section can fail it.

Whether headings are present and marked up in code is a separate question, handled by info and relationships. Whether a form gives labels at all is handled by labels or instructions. This rule only checks the words.

Describe does not mean long. "Shipping" is a fine heading for a section about shipping. Short and clear beats long and complete.

What counts as a heading or a label

Headings are the titles of sections of content, normally h1 to h6, but also any text that visually works as a heading.

Labels are the visible text that names a component: the text beside a form field, the words on a button, the caption of a toggle, the name on a tab. If a person reads it to know what a control is for, it is a label for this rule.

The rule applies to the visible words. Hidden accessible names are judged under other criteria, such as name, role and value.

Who relies on descriptive headings and labels

  • Screen reader users jump through a list of headings, so each one has to make sense without the text under it.
  • People with cognitive or learning disabilities use headings to understand how a page is organised and where they are.
  • People with low vision scan headings at high zoom to find the part they need.
  • Everyone filling in forms makes fewer mistakes when labels say exactly what to type.
  • Translators and support teams also benefit, because clear headings make content easier to reuse.

Vague headings and labels we rewrite most

Failing wording and better wording
WhereVagueDescriptive
Section headingSection 2How refunds work
Repeated headingMore info (four times)Opening hours, Parking, Accessibility, Contact
Form labelField 1Phone number
Form labelDateDate of birth (DD MM YYYY)
ButtonSubmitSend application
ToggleOnEmail me about new orders
Tab labelTab 3Delivery and returns

Not every short label fails. Submit on a one-field search form is clear. The test is whether a person would know what the control or section is for.

Before and after: a contact form

Fails: the heading and labels do not say what the form or fields are for.

<h2>Form</h2>
<label for="a">Input</label>
<input id="a" type="text" autocomplete="name">
<button type="submit">Go</button>

Passes: the heading names the task, and each label and button says what it does.

<h2>Ask our support team</h2>
<label for="a">Your name</label>
<input id="a" type="text" autocomplete="name">
<button type="submit">Send question</button>

A quick 2.4.6 wcag review

This is a reading exercise. Content designers and editors are often better at it than developers.

  1. Extract the outline. List all headings on the page with a heading viewer extension or a screen reader's heading list.
  2. Read headings as a table of contents. Ask whether each heading, read alone, tells you what the section below it is about.
  3. Spot duplicates. Flag headings that repeat word for word on the same page when the sections differ, such as several called Overview.
  4. Walk the form fields. Tab through every field and read its visible label: does it say what to enter, without relying on placeholder text?
  5. Check buttons and controls. Read the text of each button and control and confirm it describes the action, such as Send message rather than OK.
  6. Note vague wording. Record each unclear heading or label with a suggested rewrite, since the fix is usually a few words.

Read the heading list aloud to a colleague who has not seen the page. If they cannot guess what each section contains, the headings need work.

Where this rule ends and its neighbours begin

How 2.4.6 relates to nearby criteria
CriterionLevelQuestion it asks
1.3.1AAre visual headings and labels marked up in the code?
3.3.2AAre labels or instructions provided where input is needed?
2.4.6AAIs the wording of existing headings and labels descriptive?
2.4.10AAAAre headings used to organise the content into sections?
2.5.3ADoes the accessible name contain the visible label text?

A bold line that reads "Delivery options" but is coded as a paragraph passes this rule and fails 1.3.1. An h2 that reads "Info" passes 1.3.1 and fails this one. W3C explains the scope in Understanding Headings and Labels.

Questions people ask

What does 2.4.6 wcag require?

Headings and labels must describe the topic or purpose of the content or control they belong to. The level is AA, and the rule dates back to WCAG 2.0. Adding headings or labels where none exist is a job for other criteria.

Does every page need headings to pass 2.4.6?

No. If there are no headings, this rule has nothing to judge. Requiring headings for sections is the AAA rule 2.4.10, and marking up visual headings is 1.3.1.

Are button names covered by headings and labels?

Yes, visible text on buttons and other controls works as a label. Words like Go or Click are vague unless the context makes the action obvious.

Can two headings on a page have the same text?

Yes, if they introduce sections that really are about the same thing in different places, such as Price under each product. It becomes a problem when identical headings hide different topics.

Is placeholder text a label under 2.4.6?

Placeholder text disappears when someone types, so it is a weak label and usually fails 3.3.2 on its own. Use a visible label element, then make its wording descriptive for 2.4.6.