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.
Background sources
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
- Ask if every public template has header/nav/main/footer landmarks.
- Request one accessibility tree screenshot for a key page.
- Ensure only one primary main region per page.
- 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
- Use semantic HTML landmarks in shared layout templates.
- Keep exactly one
<main>per page. - Add ARIA landmark roles only when semantic elements are not practical.
- Avoid redundant/duplicative landmark noise.
- 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
- W3C WAI: Page regions tutorial
- WCAG 2.2: Info and relationships
- ARIA Authoring Practices: Landmark regions
- MDN: ARIA landmark roles
Need a semantic-layout checklist for your template engine/components? Send support your shared layout markup.