Skip to content

Structure & headings

The Page Has No Main Content Area Marked Up

Screen reader users can't jump straight to the page's main content, so they must wade through the header and menus on every page.

landmark-one-mainBest practiceBest practice — not a WCAG requirement, but it helps people all the same.

Status
ModerateModerate — An annoyance, with a workaround.CurrentScanners run this rule today.
Owner
DesignDevTest
Audit
AutomatedA scanner finds it, and a clean scan means it's fixed.
Save as PDF (opens in a new tab)

Why it matters

A <main> element marks where the page's real content starts. It's a "landmark": a signpost screen readers can jump to with one key.

Without it, people must step through the logo, search and menu on every page. That's slow and tiring, and it's easy to get lost.

Who it affects

Who it affects, and how much
WhoWhat they experienceImpact
Screen reader usersThey press the landmark key and hear "no main landmark", then must step through the whole header.High impact
Low-vision users (magnification)Affected only if they also use a screen reader, as many do.Partial impact
Keyboard-only usersSome browser extensions let them jump to the main area, but only if it's marked up.Partial impact

Business & product impact

Business & product impact, with how much each claim weighs
AreaWhyImpact
LegalThis rule is a best practice, not a WCAG requirement. But a `<main>` element is a common, easy way to meet WCAG's "skip repeated blocks" requirement at Level A.Moderate impact
SEOSearch engines may use it as a small hint about content. Don't sell it as an SEO win.Low impact
Brand trustScreen reader users notice when every page makes them start from the top.Moderate impact
Cost to fixUsually a one-line change in the shared page layout. Fix it once and every page benefits.High impact

Fixing it in code

Wrap the page's main content

Don't

<header>…</header>
<div class="content">
  <h1>Our services</h1>
</div>
<footer>…</footer>

A screen reader says: “No main landmark found”

Do

<header>…</header>
<main>
  <h1>Our services</h1>
</main>
<footer>…</footer>

A screen reader says: “Main landmark, heading level 1, Our services”

<main> creates a landmark that screen readers can jump to.

Only one main per page

Don't

<main>
  <h1>News</h1>
</main>
<main>
  <h2>Related stories</h2>
</main>

A screen reader says: “Main landmark … main landmark”

Do

<main>
  <h1>News</h1>
  <section aria-labelledby="rel">
    <h2 id="rel">Related stories</h2>
  </section>
</main>

A screen reader says: “Main landmark, heading level 1, News”

One clear main area leaves no doubt where the content starts.

Designer's handoff note

On each page layout, draw a box around the main content and label it "main". Mark the header, navigation and footer too.

Quick test

Tool

NVDA (opens in a new tab) (free for Windows)

Checklist

Pass
You hear "main landmark" once, and it lands on the page's real content.
Fail
You never hear "main landmark", or you hear it more than once.

What a green scan still misses

A scanner checks that one main landmark exists. It can't tell whether it wraps the right content, or leaves real content outside it.

Reference

Rule ID
landmark-one-main
Raised by
  • axe-core: “Document should have one main landmark”
WCAG
Best practice — not a WCAG requirement
Last reviewed
14 October 2026