landmark-no-duplicate-contentinfo

Page must not have more than one contentinfo landmark

manualconfidence: mediumseverity: minoroperable

Checks that at most one contentinfo landmark (role="contentinfo" or a non-nested <footer>) exists on the page.

Applies to. Applies whenever the page contains at least one contentinfo landmark (explicit role="contentinfo", or an implicit, non-nested <footer>). 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. At most one contentinfo landmark exists on the page, mirroring landmark-no-duplicate-banner's rationale for contentinfo.

What a finding reports.

  • count: how many contentinfo landmarks the page exposes to assistive technology, against a limit of 1.

These data.details fields help to read and reproduce a finding. Apart from reasonCode and the few fields Output schema names as stable, they are not a stable contract: a field may be renamed or dropped in a minor release, so don’t build on them.

Examples

pass
<body>
<footer>Site footer</footer>
</body>

Only one contentinfo landmark exists.

can't tell
<body>
<footer>First</footer>
<footer>Second</footer>
</body>

Two top-level <footer> elements both resolve to the contentinfo role.

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_DUPLICATE_CONTENTINFO

  1. Open a screen reader's landmarks list, or the Accessibility pane, and count the contentinfo landmarks.
  2. For each one the report names, decide whether it is the page-wide footer or the footer of a section, card or dialog.
  3. Check that hidden or closed copies are really hidden from assistive technology.

Pass. Assistive technology finds only one contentinfo, the page-wide footer.

Fail. More than one contentinfo is exposed, so landmark navigation offers several page footers, a best-practice miss under the WAI-ARIA contentinfo role.

View source