Enabling landmark-based keyboard navigation in Firefox

The Landmarks extension discussed in this post has been re-written to work on a range of browsers—please read our latest article on it for more information.

ARIA and HTML5Landmark navigation is an increasingly important accessibility tool, and one that will become even more powerful as HTML5 is adopted, but it has mostly been restricted to users of “heavy” (and sometimes costly) assistive technologies (ATs) such as screen readers. Browsers do not offer keystrokes to move between landmarked regions on the page, so people who need to browse via the keyboard, but do not require the use of a screen reader, cannot benefit.

Introducing the Firefox landmark extension

Some time ago, David Todd created a Firefox extension that levels the playing-field somewhat, allowing users to navigate between landmarked regions easily via the keyboard. Recently I have updated this extension with support for the landmark roles implicit in certain HTML5 elements, such as header, section and footer. Some of the elements only have implicit ARIA landmarks when they are labelled, or when they’re not contained within certain other elements. This is documented in the W3C HTML specification and is implemented by the updated extension.

The reworked Firefox Landmark extension can be downloaded and used right now. However, in re-working the extension’s preferences so they don’t require a Firefox restart for changes to take effect, I discovered that the current landmark position is not preserved across browser tabs. This means that currently you will lose your position when switching between tabs – but this is definitely something I plan to resolve in future versions.

Thanks very much to David Todd for his great work in creating this extension in the first place.

Download the extension

Read more about the extension features and download the updated Firefox Landmark extension from GitHub – comments, issue reports and contributions are welcome!

We hope it will be of use in improving keyboard access and, hopefully, convincing browser developers to include this functionality out-of-the-box.

Further reading

Categories: Technical

About Matthew Atkinson

Matthew was a Principal Accessibility Engineer at TPGi (left in September 2023)), and enjoys exploring accessibility through clients and colleagues. He maintains open-source projects in the areas of web and game accessibility. He's an active member of the W3C's Accessible Platform Architectures working group and its Personalization Task Force, a group that's helping the web adapt to users' needs. Matthew's background is in academia, having worked on accessibility research projects as well as teaching and presenting at conferences. When not tapping on a keyboard, he loves swimming, sci-fi, music and singing.


Great step in accessibility to move users to sections of a page. Im a fan of increasing accessibility online and have been using the ‘role’ markup in all of my most recent html5 projects.

Theo says:

Great improvement, it works like a charm!

Rich Schwerdtfeger says:

Thanks for updating David’s plug-in Steve.

Steve Faulkner says:

Hi Rich, it was all Matthews work!