Semantic HTML Accessibility Audit

Guide to auditing semantic HTML usage for WCAG 2.1 compliance. Covers heading hierarchy, landmark regions, lists, tables, and form markup for assistive technology support.

Component Audits

Detailed Explanation

Semantic HTML Accessibility Audit

Semantic HTML is the foundation of web accessibility. Using the correct HTML elements communicates structure, meaning, and relationships to assistive technologies without requiring ARIA attributes.

Why Semantics Matter for Accessibility

Screen readers use HTML semantics to:

  • Build a document outline from headings
  • Provide landmark-based navigation (header, nav, main, footer)
  • Announce list items and table cells correctly
  • Associate form labels with inputs
  • Identify interactive elements (buttons, links)

Heading Hierarchy Audit

Check that headings form a logical outline:

  • Only one <h1> per page (the page title)
  • Headings do not skip levels (h1 → h3 without h2)
  • Headings are used for structure, not for styling
  • Every section of content has an appropriate heading

Use the screen reader rotor (VoiceOver) or heading navigation (NVDA) to browse the heading structure.

Landmark Regions Audit

Verify the page uses HTML5 landmark elements:

  • <header> or role="banner" for the site header
  • <nav> or role="navigation" for navigation menus
  • <main> or role="main" for primary content
  • <footer> or role="contentinfo" for the site footer
  • <aside> or role="complementary" for sidebar content
  • <form> or role="form" for significant forms

Lists

  • Navigation menus use <ul> or <ol> with <li> items
  • Definition lists use <dl>, <dt>, <dd>
  • Nested lists are properly nested inside parent <li>

Tables

  • Data tables use <table>, <thead>, <tbody>, <th>, <td>
  • <th> has scope="col" or scope="row"
  • Complex tables use id/headers attributes
  • Layout tables are avoided (use CSS instead)

Common Semantic HTML Mistakes

  1. <div> or <span> used for interactive elements (use <button> or <a>)
  2. Headings used for visual styling only (use CSS classes instead)
  3. Lists not marked up as <ul>/<ol> (bulleted paragraphs)
  4. Missing <main> element (every page should have one)
  5. Multiple <nav> elements without aria-label to distinguish them

Use Case

Semantic HTML auditing is a foundational step in any accessibility review. It should be performed during code review and before more detailed ARIA or screen reader testing. Front-end developers should use semantic HTML by default and only add ARIA when native semantics are insufficient.

Try It — Accessibility Audit Checklist

Perceivable

0%(0/20 tested)
0 pass0 fail

Operable

0%(0/17 tested)
0 pass0 fail

Understandable

0%(0/10 tested)
0 pass0 fail

Robust

0%(0/3 tested)
0 pass0 fail
Level A:0/30 pass
Level AA:0/19 pass
Level AAA:0/1 pass

50 criteria shown · Click the status badge to cycle through Pass / Fail / N/A / Untested

Perceivable

Operable

Understandable

Robust

Open full tool