landmark-one-main

Page should have a main landmark

manualconfidence: mediumseverity: minoroperable

Checks that the page has at least one main landmark (role="main" or <main>).

Applies to. Always applicable to any HTML document with a <body> element: "does the page have a main landmark" is a whole-page concern, matching bypass-blocks-present's pattern of evaluating the document directly.

Expectation. At least one main landmark (role="main" or <main>), exposed to assistive technology, exists on the page. A page with none gives AT users no landmark to jump straight to for the primary content.

Examples

can't tell
<body>
<header>Site</header>
<p>Primary content, no landmark.</p>
</body>

No `<main>` or `role="main"` anywhere on the page.

n/a
<body>
<main>Primary content</main>
</body>

A `<main>` landmark exists, so there is nothing to flag.

View source