Skip to content
Pandus

WCAG 2.4.6 Headings and Labels

Updated October 14, 2026 · 3 min read

Level
AA · WCAG 2.0
EN 301 549
9.2.4.6
What the checker tests
Manual review: an automated tool cannot check this criterion reliably.
Official text
Understanding 2.4.6 Headings and Labels (W3C, in English)

Success criterion 2.4.6 helps people understand what a page contains and find the part they need. Screen reader users jump from heading to heading, people with cognitive disabilities rely on clear headings to follow the structure, and everyone fills in a form faster when field labels say exactly what is expected. It is level AA and part of EN 301 549 (clause 9.2.4.6).

What the criterion requires

Headings and labels describe topic or purpose.

Important details from W3C:

  • the criterion does not require headings or labels to exist — it requires that the ones present are descriptive;
  • a label is text shown to all users that identifies a component (not only the HTML <label> element);
  • labels can be short, as long as they clearly identify the content;
  • headings and labels must also be marked up correctly so assistive technology can find them — that part belongs to 1.3.1 Info and Relationships.

Typical failures on an online shop

  • vague section headings such as "More", "Info" or "Section 2" on a product page;
  • several identical headings ("Details") on one page that cover different things;
  • form fields labelled "Name" when first and last name are separate, or "Number" with no hint whether it is a phone or house number;
  • a coupon field labelled only "Code";
  • headings used for styling — big text such as "Free shipping!" marked as <h2> while real section titles are plain <div> text.

How to check it

Automated: there is no axe-core rule for this criterion. Software can detect that a heading or label exists, but not whether it describes the content, so it needs a manual check. Related problems such as missing form labels (1.3.1, 4.1.2) and skipped heading levels (best practice) are reported by our checker under their own rules in the rule library.

By hand: list the headings of a page (a screen reader's headings list or a browser extension does this). Read them alone: do they give an outline of the page? Then go through each form — newsletter, account, checkout — and read every label without looking at the field. Would you know what to type?

How to fix it

  • Write headings that name the content: "Size and fit", "Delivery and returns", "Customer reviews (24)".
  • Keep one <h1> per page that matches the page's main topic, and nest h2/h3 logically.
  • Make labels specific: "Email address", "Phone number (for the courier)", "Discount code".
  • Use real heading elements for section titles and plain styled text for decoration.

Frequently asked questions

Does WCAG 2.4.6 require headings on every page?

No. W3C states that 2.4.6 does not require headings or labels. It requires that the headings and labels you have describe their topic or purpose. Other criteria, such as 1.3.1 and 3.3.2, cover when structure and labels are needed.

Does WCAG require a strict heading order?

WCAG 2.2 has no success criterion that forbids skipping heading levels. A logical order (h1, then h2, then h3) is a strong best practice, and our checker reports skipped levels as a best-practice issue, not as a 2.4.6 failure.

What is a label in WCAG?

Text or another component with a text alternative that is shown to all users to identify a component, for example the visible text next to a form field. It is not limited to the HTML label element.