landmark-contentinfo-is-top-level
Contentinfo landmark must be top-level
Checks that the contentinfo landmark (role="contentinfo" or a non-nested <footer>) is not nested inside another landmark region.
Applies to. Applies whenever the page contains at least one contentinfo candidate: explicit role="contentinfo", OR a <footer> with NO role attribute at all, regardless of nesting. A custom element whose ElementInternals give it a landmark role (this.attachInternals().role), with no role attribute naming another, is a landmark as a native element with that role is.
Expectation. No contentinfo candidate has an ancestor that is itself any landmark region. A contentinfo nested inside another landmark is not a top-level, whole-page footer region and confuses landmark-based navigation for assistive technology users.
Examples
<footer>Site footer</footer>
The contentinfo is not nested inside any other landmark.
<div role="navigation"><div role="contentinfo">Nested contentinfo</div></div>
A contentinfo landmark nested inside another landmark no longer functions as the page's single top-level footer.
How to check
When this rule can’t decide, it reports cantTell and leaves the question to a person. Each question it can ask is listed here under its reason code, with the steps to answer it. A finding carries the same steps as howToCheck, in the scan’s language. See Output schema.
LANDMARK_CONTENTINFO_NOT_TOP_LEVEL
- Find the contentinfo (a footer or role="contentinfo") the report names and the landmark it sits inside.
- Open a screen reader's landmarks list, or the Accessibility pane, and look at where it appears.
- Decide whether this is the page-wide footer; if it is the footer of an article or section, it should not be a contentinfo.
Pass. The contentinfo sits at the top level of the page, outside any other landmark.
Fail. A contentinfo sits inside another landmark, which confuses landmark navigation, a best-practice miss under the WAI-ARIA contentinfo role.