ARIA Landmark Roles Missing — Page Navigation Broken for Screen Readers

88.8% of screen reader users find headings and landmarks very or somewhat useful for navigation (WebAIM Survey #10, 2024). Without landmarks, navigating your site requires listening to every element sequentially — there's no way to jump to the main content, search bar, or footer. Semantic HTML5 elements (nav, main, aside, footer) automatically create landmarks.

Start here

Before You Fix It: What This Check Means

Landmark regions define navigable page structure for screen-reader shortcut workflows. In plain terms, this tells you whether people using keyboards or assistive tech can use the page reliably. Scavo looks for semantic landmarks and ARIA landmark roles.

Why this matters in practice: issues here can block completion for assistive-tech users and create compliance exposure.

How to use this result: treat this as directional evidence, not final truth. Automated checks do not replace complete manual assistive-technology validation. First, confirm the issue in live output: verify with keyboard flow and at least one assistive-technology pass Then ship one controlled change: Use semantic HTML landmarks in shared layout templates. Finally, re-scan the same URL to confirm the result improves.

TL;DR: Key page regions (header, nav, main, footer) lack ARIA landmarks, forcing screen reader users to listen to everything linearly.

88.8% of screen reader users find headings and landmarks very or somewhat useful for navigation (WebAIM Survey #10, 2024). Without landmarks, navigating your site requires listening to every element sequentially — there's no way to jump to the main content, search bar, or footer. Semantic HTML5 elements (nav, main, aside, footer) automatically create landmarks.

What Scavo checks (plain English)

Scavo looks for semantic landmarks and ARIA landmark roles.

Semantic elements checked:

  • <main>, <nav>, <header>, <footer>, <aside>

ARIA roles checked:

  • banner, navigation, main, contentinfo, complementary, search, form, region

How Scavo scores this check

Result behavior:

  • Pass: at least 3 landmarks, includes main region, and few missing core landmarks
  • Warning: multiple <main> elements detected (anti-pattern)
  • Info: some landmarks present but incomplete structure
  • Warning: no landmarks found

In your scan report, this appears under What failed / What needs attention / What is working for landmark_roles, followed by Recommended next steps and Technical evidence (for developers) when needed.

  • Scan key: landmark_roles
  • Category: ACCESSIBILITY

Why fixing this matters

Landmarks reduce navigation friction for screen reader users on complex pages. Missing structure makes orientation harder and slows task completion.

This is also a design-system quality marker: consistent layout semantics improve accessibility and maintainability across templates.

Common reasons this check flags

  • Layout built with generic <div> wrappers only.
  • Multiple nested <main> elements introduced by component composition.
  • Landmark roles missing on custom structural containers.
  • Template variants drifting from base layout semantics.

If you are not technical

  1. Ask if every public template has header/nav/main/footer landmarks.
  2. Request one accessibility tree screenshot for a key page.
  3. Ensure only one primary main region per page.
  4. Re-scan and confirm coverage improves.

Technical handoff message

Copy and share this with your developer.

Scavo flagged Landmark Roles (landmark_roles). Please ensure semantic page regions are present and consistent (header/nav/main/footer), avoid multiple <main> elements, and verify landmark navigation with assistive tools.

If you are technical

  1. Use semantic HTML landmarks in shared layout templates.
  2. Keep exactly one <main> per page.
  3. Add ARIA landmark roles only when semantic elements are not practical.
  4. Avoid redundant/duplicative landmark noise.
  5. Validate with screen-reader landmark navigation shortcuts.

How to verify

  • Inspect DOM for semantic landmark elements.
  • Confirm exactly one main landmark per page.
  • Test landmark navigation in NVDA/VoiceOver/JAWS workflow.
  • Re-run Scavo and ensure warning/info drops.

What this scan cannot confirm

  • It does not validate full heading hierarchy quality.
  • It does not test every dynamic template state.
  • It does not replace manual screen-reader walkthroughs.

Owner checklist

  • [ ] Assign owner for semantic layout standards.
  • [ ] Enforce one-main-region rule in template review.
  • [ ] Add accessibility QA checklist for landmarks per page type.
  • [ ] Recheck after layout/component architecture changes.

FAQ

Can ARIA roles replace semantic HTML elements?

They can help, but native semantic elements are preferred where possible.

Is more landmarks always better?

No. Too many redundant landmarks can create navigation noise.

Why is multiple <main> a warning?

A page should have one primary content region for clear orientation.

What should we fix first?

Add missing core landmarks and remove duplicate main regions.

Sources


Need a semantic-layout checklist for your template engine/components? Send support your shared layout markup.

More checks in this area

aria_labels

ARIA Labels Missing on Interactive Elements

When interactive elements don't have accessible labels, screen readers announce them as "button" or "link" with no context — forcing blind users to guess what each control does. Notable accessibility settlements include Bashin's $2M settlement and accessiBe's $1M FTC settlement (Accessibility.Works, 2024). Proper ARIA labels are foundational accessibility requirements under WCAG 2.1.

Open guide
color_contrast

Colour Contrast Too Low — Fails WCAG AA Requirements

Approximately 8% of males and 0.5% of females have colour vision deficiency — roughly 1 in 12 men worldwide (Vision Center). WCAG AA requires a minimum 4.5:1 contrast ratio for normal text. Low contrast also affects everyone reading on mobile screens in bright sunlight. With over 5,100 ADA web accessibility lawsuits filed in 2025 — a 20% increase from 2024 (EcomBack) — contrast failures are actionable legal risk.

Open guide
form_labels

Form Inputs Missing Associated Labels

When a label isn't programmatically associated with its input (via for/id or wrapping), screen readers don't announce what the field is for, and voice control users can't say "click email field." Form label errors are among the most commonly cited issues in accessibility audits, and they're straightforward to fix — just add matching for and id attributes.

Open guide