APG Patterns
日本語
日本語
🗺️

Landmark Regions

ARIA landmark roles provide a powerful way to identify the organization and structure of a web page.

This practice is documented in detail at Landmark Regions - WAI-ARIA APG . Below we provide additional context specific to our pattern implementations.

Overview

ARIA landmark roles allow assistive technology users to quickly navigate to and identify different sections of a page. This practice explains how to use the eight landmark roles effectively.

The Eight Landmark Roles

RoleHTML5 ElementPurpose
banner<header> (top-level)Site-wide header, typically containing the site logo and navigation
navigation<nav>Major navigation links
main<main>The primary content of the page
complementary<aside>Supporting content related to the main content
contentinfo<footer> (top-level)Site-wide footer with copyright, privacy links, etc.
search<search>A search facility
form<form> (with accessible name)A form landmark (when form has accessible name)
region<section> (with accessible name)A generic landmark for content that needs to be identified

Implementation Tips

Use HTML5 Semantic Elements

The easiest way to create landmarks is to use HTML5 semantic elements. Browsers automatically assign the appropriate landmark role:

<header><!-- banner --></header>
<nav><!-- navigation --></nav>
<main><!-- main --></main>
<aside><!-- complementary --></aside>
<footer><!-- contentinfo --></footer>

Label Multiple Landmarks of the Same Type

When you have multiple landmarks of the same type (e.g., multiple <nav> elements), use aria-label or aria-labelledby to distinguish them:

<nav aria-label="Main">...</nav>
<nav aria-label="Footer">...</nav>

Avoid Nesting Landmarks Incorrectly

Some landmarks should not be nested. For example, main should not contain another main, and banner should not be nested inside other landmarks (except form or region).

Common Pitfalls

Missing main Landmark

Every page should have exactly one main landmark. This allows keyboard users to quickly jump to the primary content.

Unlabeled Duplicate Landmarks

Having multiple <nav> elements without labels makes it difficult for screen reader users to distinguish between them.

Overusing region

Only use region (or <section> with an accessible name) when the content is important enough to be included in a landmark navigation list. Too many landmarks reduce their usefulness.

When <header> or <footer> is nested inside <article>, <aside>, <main>, <nav>, or <section>, it does NOT become a landmark. Only top-level <header> and <footer> elements are banner and contentinfo landmarks.

Resources