Landmark Region
Definition
Landmarks divide a page into its large parts and give each part a name a machine can act on. Most of them come free from HTML elements: header maps to banner when it is not nested inside an article or section, nav to navigation, main to main, aside to complementary, footer to contentinfo, and the search element, added to HTML in 2023, to search. A form or a section only becomes a landmark once it has an accessible name, usually through aria-label or aria-labelledby. The equivalent ARIA roles exist for markup you cannot change, but the elements are preferable. Screen readers expose the set as a list — the rotor in VoiceOver, the elements list in NVDA and JAWS — so the landmarks on a page act as its table of contents.
Why It Matters
Landmarks are one of the ways to satisfy success criterion 2.4.1 Bypass Blocks at Level A, which exists because repeating a forty-link sidebar at the top of every page is a real cost when you hear it rather than see it. At roughly two seconds a link, that is over a minute before the content starts, on every page view. With a main landmark, the same user presses one key. Landmarks also fail quietly in the other direction: a page with six nav elements and no labels produces a list reading 'navigation, navigation, navigation', which is no more useful than none. Getting them right is a handful of elements and two or three attributes.
How It Works
Use one main element per page and wrap the primary content in it, excluding the header, the site navigation and the footer. Where a page has more than one navigation region, give each a distinguishing name with aria-label, such as 'Primary' or 'Related articles'. Do not include the word navigation or region in those names, because the role is announced separately and the user would hear it twice. banner and contentinfo apply only when header and footer are top-level, not when they sit inside an article. Anything not inside a landmark is orphaned from that list, so aim for every visible block of content to fall within one. A skip link and a set of landmarks solve overlapping problems and are usually both worth having.
Real-World Example
A team publishes an internal handbook as a static site at handbook.99helpers.site, with a sidebar of forty-one links repeated on every page. Before the fix, reaching the text of any page meant passing all of them. Adding a nav element around the sidebar with aria-label of 'Handbook sections', a main element around the article, and a footer for the contact details gives the page four landmarks. A screen reader user now opens the landmark list and lands on main in two keystrokes, on every one of the eighty pages.
Common Mistakes
- ✕Using more than one main element on a page — the role loses its meaning and screen readers report an ambiguous structure
- ✕Leaving several nav elements unnamed — the landmark list reads as a row of identical entries, so nobody can tell the site menu from the pagination
- ✕Naming a landmark 'Main navigation section' — the role is already spoken, so the listener hears the word navigation twice in a row
Related Terms
Skip Link
A skip link is a link at the very top of a page that jumps past the header and navigation straight to the main content. It is normally hidden until it receives keyboard focus, then appears.
Semantic HTML
Semantic HTML means using the element that matches the meaning of the content — button, nav, h2, label, table — rather than styling a generic div or span to look the part.
Screen Reader
A screen reader is software that turns what is on screen into speech or braille and gives the user a keyboard interface for moving through it. JAWS, NVDA, VoiceOver, Narrator and TalkBack are the ones in common use.
Document Outline
A document outline is the nested hierarchy a page's headings describe — its table of contents, implied rather than printed. Assistive technology builds navigation directly from it.
index.html
index.html is the file a web server returns when a visitor asks for a folder rather than a named file. It is the default document for the site root and for every directory inside it.
Put a file online in seconds
Drop in a document, an image, a page or a whole static website and share the link — free, with no build step and no server to set up.
Host a file free →