landmark-contentinfo-is-top-level

Contentinfo landmark must be top-level

manualconfidence: mediumseverity: minoroperable

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

pass
<footer>Site footer</footer>

The contentinfo is not nested inside any other landmark.

can't tell
<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

  1. Find the contentinfo (a footer or role="contentinfo") the report names and the landmark it sits inside.
  2. Open a screen reader's landmarks list, or the Accessibility pane, and look at where it appears.
  3. 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.

View source