Blog
Wild & Free Tools

WCAG Heading Levels Explained: What the Guidelines Actually Require

Last updated: February 2026 6 min read
Quick Answer

Table of Contents

  1. WCAG 1.3.1 vs 2.4.6: What Each Covers
  2. Most Common WCAG Heading Violations
  3. Skipping Heading Levels in Depth
  4. How to Test for WCAG Heading Compliance
  5. Fix Checklist for Heading Compliance
  6. Frequently Asked Questions
WCAG compliance for headings is governed by two distinct success criteria — and most teams only know one of them. Understanding both is essential for a passing audit. WCAG 2.4.6 (Headings and Labels) is widely cited, but it is WCAG 1.3.1 (Info and Relationships) that catches the structural errors like skipped levels and misused heading tags. This guide explains what each criterion requires, how they overlap, and what constitutes a real violation versus a common misconception.

WCAG 1.3.1 vs 2.4.6: What Each Criterion Covers

**WCAG 1.3.1 — Info and Relationships (Level A)** This criterion requires that information conveyed through visual formatting is also available in the underlying structure. In practice: if text is visually presented as a heading, it must be marked up as a heading element. If content is a top-level section heading, it must use a higher-level heading tag than its subsections. Violations under 1.3.1 include: - Using bold or large text as a heading substitute (no heading tag at all) - Skipping heading levels (e.g., H2 followed by H4 with no H3) - Nesting headings in a way that misrepresents the actual structure - Using heading tags purely for visual size, with no structural intent **WCAG 2.4.6 — Headings and Labels (Level AA)** This criterion requires that headings and labels — when present — are descriptive. It does not require you to use headings at all. But if you do use a heading, the heading text must accurately describe the content in the section that follows. Violations under 2.4.6 include: - Heading text like "Section 1," "More Info," or "Click Here" with no descriptive content - Empty heading tags - Headings that describe the wrong section (e.g., copied from another page without updating) The key distinction: 1.3.1 governs structure and markup; 2.4.6 governs meaning and description.

The Most Common WCAG Heading Violations in Real Audits

**1. Skipped heading levels (1.3.1 violation)** The most frequently caught structural issue. Going from an H2 directly to an H4 — even if the H3 level was simply unused — misrepresents the document hierarchy. Screen readers announce heading levels numerically, so users navigating by heading will hear "heading level 4" after "heading level 2" with no explanation of the missing tier. **2. Non-descriptive heading text (2.4.6 violation)** Headings like "Overview," "Details," or "More" appear on nearly every site audit. A screen reader user who navigates by heading list will see a list of "Overview, Details, More" with no context about what any section covers. **3. Empty headings (1.3.1 + 2.4.6 violation)** A heading tag with no text content or only whitespace fails both criteria. It still creates a heading node in the accessibility tree, which screen readers announce — then speak nothing. **4. Visual text presented as a heading without markup (1.3.1 violation)** A common CMS pattern: a large bold div styled to look like an H2. Visually correct, structurally broken. Assistive technology ignores the visual cue entirely. **5. Multiple H1 tags with ambiguous purpose (1.3.1 borderline)** Not technically prohibited, but when both H1 tags are used for the page title and a section title with equal prominence, the structural relationship is ambiguous — which can be interpreted as a 1.3.1 failure during a manual audit. Sell Custom Apparel — We Handle Printing & Free Shipping

Skipping Heading Levels: Why It Is a WCAG Violation

The HTML spec does not require sequential heading levels in the same way that WCAG does, which causes confusion. You can technically write valid HTML with an H2 followed by an H4. But WCAG 1.3.1 is not about HTML validity — it is about whether the structure conveys accurate information. When you skip a heading level, you are implying there is a structural relationship between the H2 and H4 that does not involve any H3 intermediate tier. That is almost never what the author intended, and it almost never reflects the actual content structure. Screen readers present headings as a navigable outline; a skipped level in that outline is a structural hole. The most common root cause of skipped levels is CSS-driven heading choices. A developer uses H4 because it looks like the right visual size — not because the content is four levels deep. The fix is not to add a fake H3 in between; the fix is to use the structurally correct heading level and apply CSS to make it look the way you want.

How to Test Your Pages for WCAG Heading Compliance

You do not need a paid accessibility scanner to check heading compliance. The free heading validator catches every structural issue listed above: **What to test for:** - Missing or duplicate H1 (1.3.1) - Skipped heading levels at any point in the document (1.3.1) - Empty heading tags (1.3.1 + 2.4.6) - Headings used in navigation or header areas where they distort the page outline (1.3.1) - Non-descriptive heading text (2.4.6 — requires human review; no tool catches this automatically) **Steps:** 1. Open your page in a browser. 2. Right-click and select "View Page Source." 3. Copy the full HTML source. 4. Paste into the heading validator at wildandfreetools.com. 5. Review the visual outline. Look for gaps in level numbers, empty entries, and headings that appear in unexpected positions. 6. Manually scan the heading text for descriptiveness — the tool shows you the text; you judge whether it is meaningful. For a complete WCAG 2.4.6 audit, automated tools handle the structural checks. The descriptiveness check is always manual — no tool can determine whether "Overview" is descriptive enough in your specific context.

Heading Compliance Fix Checklist

Use this checklist after running the validator: **Structure (1.3.1)** - [ ] Exactly one H1 per page - [ ] H1 appears before any H2 - [ ] No level skipping at any point (H2 never jumps to H4 without H3 between) - [ ] No empty heading tags - [ ] All text that is visually a heading uses an actual heading tag - [ ] No heading tags used purely for visual sizing **Descriptiveness (2.4.6)** - [ ] Every heading describes the content of the section that follows it - [ ] No heading is identical to another heading on the same page unless the sections are truly parallel - [ ] No generic labels like "More," "Details," or "Other" Conformance level target: all 1.3.1 violations are Level A (must fix for WCAG 2.1 AA conformance). All 2.4.6 violations are Level AA (must fix for WCAG 2.1 AA conformance). Both are required for Section 508 and EN 301 549 compliance.

Test Your Headings for WCAG Compliance

Paste your page HTML into the free heading validator. It catches every structural violation — skipped levels, empty headings, duplicate H1 — in seconds.

Open Free Heading Validator

Frequently Asked Questions

Does WCAG require me to use headings at all?

WCAG 2.4.6 only applies "where headings are used" — it does not mandate their use. However, WCAG 2.4.1 (Bypass Blocks) does require a way to skip repeated navigation, and headings are the most common mechanism. In practice, any multi-section page without headings will likely fail a manual audit for navigation and structure.

Is H1 > H3 (skipping H2) a WCAG violation?

Yes. Jumping from H1 directly to H3 skips a heading level and violates WCAG 1.3.1. The document structure implies a tier of content between the H1 and H3 that is unrepresented. The fix is to add an H2 for the major section or change the H3 to an H2 if the skip was a hierarchy error.

What WCAG level are heading violations?

WCAG 1.3.1 (Info and Relationships) is Level A — the baseline conformance level. WCAG 2.4.6 (Headings and Labels) is Level AA. For WCAG 2.1 AA conformance (the most common legal standard), both must pass.

Can automated tools catch all WCAG heading violations?

Automated tools reliably catch structural violations: skipped levels, empty headings, multiple H1s. They cannot reliably catch 2.4.6 descriptiveness violations because determining whether "Benefits" is a descriptive heading requires understanding the context. Automated checks catch around 30-40% of all WCAG heading failures; the rest require human review.

Daniel Foster
Daniel Foster Accessibility & UX Writer

Daniel has spent six years as an independent accessibility consultant auditing websites for WCAG compliance.

More articles by Daniel →
Launch Your Own Clothing Brand — No Inventory, No Risk