Why headings matter

Headings (H1-H6) are one of the most important accessibility features. They provide:

Research findings

WebAIM's screen reader user surveys consistently show that navigating by headings is the primary way users explore web pages. 67.5% of users report navigating by headings "always" or "often" (WebAIM Survey #10, 2024).

Core rules for headings

1. Use only one H1 per page

The H1 should be the main page title. It tells users what the page is about.

โœ“ Correct

<h1>Course Registration</h1>
<h2>Spring 2026 Schedule</h2>
<h2>How to Register</h2>

โœ— Incorrect

<h1>University of Arizona</h1>
<h1>Course Registration</h1>
<h1>Spring 2026</h1>

2. Don't skip heading levels

Go from H1 โ†’ H2 โ†’ H3 in order. Never jump from H1 to H3 or H2 to H5.

โœ“ Correct hierarchy

H1: Page Title
  H2: Major Section
    H3: Subsection
    H3: Subsection
  H2: Another Section
    H3: Subsection

โœ— Skipped levels

H1: Page Title
  H3: Section (skipped H2!)
    H5: Topic (skipped H4!)
  H2: Another Section

3. Headings must describe content

Each heading should clearly describe the section that follows it.

4. Use headings for structure, not styling

Don't choose heading levels based on how they look. Use CSS for visual styling.

โœ“ Correct approach

<h2>Contact Information</h2>
/* Style with CSS */
h2 { font-size: 1.5rem; }

โœ— Incorrect approach

<!-- H4 used because it's smaller -->
<h4>Contact Information</h4>
<!-- But this breaks hierarchy -->

Headings in HTML

Basic HTML heading elements

<h1>Main Page Title</h1>
<h2>Major Section</h2>
<h3>Subsection</h3>
<h4>Sub-subsection</h4>
<h5>Minor section</h5>
<h6>Smallest heading</h6>

Common mistakes

ARIA and headings

You can add heading roles with ARIA, but native HTML is preferred:

<!-- Native (preferred) -->
<h2>Section Title</h2>

<!-- ARIA (use only when necessary) -->
<div role="heading" aria-level="2">Section Title</div>

Headings in content management systems

WordPress / Drupal / CMS Rich Text

  1. Select your heading text
  2. Look for a "Paragraph" or "Format" dropdown
  3. Choose "Heading 2", "Heading 3", etc.
  4. Note: H1 is usually the page title, so start content with H2

Brightspace (D2L)

  1. In the HTML Editor, select your text
  2. Click the Format dropdown
  3. Choose the appropriate heading level

Microsoft Word (for web content authors)

Use Word's Styles gallery (Home tab) to apply Heading 1, Heading 2, etc. These will transfer when copying to web editors.

Headings in documents

Microsoft Word

Google Docs

PowerPoint / Google Slides

Testing heading structure

Browser extensions

Screen reader testing

Document testing

Real-world examples

Good example: Course syllabus page

H1: ENGL 101: Introduction to Academic Writing
  H2: Course Description
  H2: Learning Outcomes
  H2: Required Materials
    H3: Textbooks
    H3: Software
  H2: Grading
    H3: Assignments
    H3: Participation
  H2: Schedule
    H3: Week 1
    H3: Week 2
  H2: Policies
    H3: Attendance
    H3: Academic Integrity

Good example: Department home page

H1: Department of Chemistry
  H2: About Us
  H2: Academic Programs
    H3: Undergraduate
    H3: Graduate
    H3: Research
  H2: People
    H3: Faculty
    H3: Staff
    H3: Graduate Students
  H2: News & Events
  H2: Contact

Quick checklist

Resources