Glossary · Code

Landmark (ARIA landmark)

Definition: A landmark is a region of a page with a defined role – such as the header, navigation, main content or footer. Screen readers list a page's landmarks and jump straight to them with a key press, so users reach the main content without listening to the navigation every time [1][2].

German: Landmark · Also: ARIA landmark, landmark role · Last reviewed: 27 September 2026

The landmark roles

Most landmarks come from the right HTML elements, with no ARIA at all [1][3]:

The landmark roles
HTMLRoleUsed for
<header>bannersite header with logo, search, service links
<nav>navigationmain menu, breadcrumbs, section navigation
<main>mainthe main content – once per page
<aside>complementarysupporting content, such as an info box
<footer>contentinfofooter with legal notice and contact
<form> with a nameforman important form
<section> with a nameregiona named section
role="search"searchthe search

<header> and <footer> only become landmarks when they belong to the whole page, not when they sit inside an <article>, <aside>, <nav>, <section> or <main>.

Who benefits

Screen reader users jump from region to region with a single key – D in NVDA, for example – or call up a list of all landmarks. In WebAIM's survey of screen reader users (2023/24), 31.8% said they navigate by landmarks whenever they are available or often [4]. Headings are even more popular, so landmarks and headings complement each other.

Landmarks are one of the recognised techniques for WCAG 2.4.1 Bypass Blocks [5]. Sighted keyboard users get little from them, though: browsers offer no way to jump between landmarks without an extension. For them, a skip link still matters.

In code

<!-- Only divs: no landmarks -->
<div class="top">…</div>
<div class="menu">…</div>
<div class="content">…</div>
<div class="bottom">…</div>
<header>…</header>
<nav aria-label="Main">…</nav>
<main id="content">…</main>
<footer>…</footer>

Common mistakes

  • No <main>, or several visible ones. The most important jump target is then missing.
  • Content outside every landmark. Text that sits in no region is easily missed when jumping.
  • Several <nav> elements without their own names. "Navigation" three times does not help. Name each one, for example aria-label="Main" and aria-label="Footer".
  • Too many landmarks. Every named <section> becomes a region; a list of twenty is as unhelpful as no list at all. Only name sections someone would want to jump to.
  • The role repeated in the name: <nav aria-label="Navigation"> is announced as "Navigation navigation".

How Reviseberg handles it

Reviseberg checks every page with axe-core. The rules region, landmark-one-main, landmark-unique, landmark-no-duplicate-banner, landmark-no-duplicate-contentinfo and landmark-no-duplicate-main find missing, duplicated and indistinguishable landmarks. axe-core files these rules as best practice and Reviseberg follows it: they appear as "best practice, no WCAG criterion" and never fail a criterion – 1.3.1 included. Whether the regions are sensibly drawn and well named is something no rule can decide – that stays a question for manual testing.

Skip link · Semantic HTML · Heading structure · Screen reader · ARIA

Further reading

Frequently asked questions

Do I need role="main" as well as the main element?

Not in current browsers. <main> already has the role. The duplicate dates from a time when older browsers had not yet implemented the HTML5 elements.

How many landmarks should a page have?

As few as possible, as many as necessary. A header, main navigation, main content and footer are typical, perhaps with a search and a complementary region.

Do landmarks replace a skip link?

Largely, for screen reader users. Sighted keyboard users, however, cannot jump to landmarks in the browser, so a skip link is still their fastest way to the content.

Sources

  1. W3C WAI, ARIA Authoring Practices Guide, Landmark Regions – https://www.w3.org/WAI/ARIA/apg/practices/landmark-regions/
  2. W3C WAI, Page Structure Tutorial, Page Regions – https://www.w3.org/WAI/tutorials/page-structure/regions/
  3. W3C, HTML Accessibility API Mappings 1.0 – https://www.w3.org/TR/html-aam-1.0/
  4. WebAIM, Screen Reader User Survey #10 (Dec 2023–Jan 2024) – https://webaim.org/projects/screenreadersurvey10/
  5. W3C, Understanding SC 2.4.1 Bypass Blocks – https://www.w3.org/WAI/WCAG22/Understanding/bypass-blocks

See what a scan finds on your site

One page in about thirty seconds, no email needed. The full report covers up to 100 pages and a keyboard journey.