Ensure that landmarks are a useful way to navigate the page.
Why this matters
Screen reader users use the landmarks as a way to quickly jump to important information, like the main content of the page. The longer the list of landmarks, the harder it is for the user to find the content they’re looking for – and the better the chance that the page’s information architecture is incorrect or the page is doing too much.
This is not a technical limitation, in other words, it’s a usability limitation.
How to implement
- Adhere to the Every Page Has a Hero general design principle and limit access to information that is not part of the primary goal.
- Adhere to the Simple and Intuitive Use universal design principle and break up pages that are complex or overwhelming into separate pages.
- Not everything needs an ARIA role identifying it as a landmark, especially since HTML 5 ensured that most of the ARIA landmark roles are now HTML elements. If you’re adding ARIA roles, you’re probably not doing it right.
- If when you are breaking down the elements of the page to build, you notice that this is a really big page that will require a lot of landmark containers, talk to your UX Designer to confirm that this is the correct design.
Implementation for landmarks can be found in Are all elements on the page contained in semantic HTML or landmark elements?
How to test
User accessibility testing
Have someone with a disability, preferably a cognitive disability or a disability that requires use of assistive technology (AT) try to use the page. If they provide feedback that the page is too long, too complicated, or hard to navigate, reassess the page and break it down to fewer sections requiring landmarks.
Usability testing (when Accessibility Testing is not available)
Have users try to use the page. If they provide feedback that the page is too long, too complicated, or hard to navigate, reassess the page and break it down to fewer sections requiring landmarks. This test may work best with novice users as experts will have a higher tolerance for complexity.