landmark-banner-is-top-level

Banner landmark must be top-level

manualconfidence: mediumseverity: minoroperable

Checks that the banner landmark (role="banner" or a non-nested <header>) is not nested inside another landmark region.

Applies to. Applies whenever the page contains at least one banner candidate: explicit role="banner", OR a <header> with NO role attribute at all, regardless of nesting (see implementation notes on why candidate selection is unconditional on purpose).

Expectation. No banner candidate has an ancestor that is itself any landmark region. A banner nested inside another landmark is not a top-level, whole-page banner and confuses landmark-based navigation for assistive technology users.

Examples

can't tell
<div role="navigation">
<div role="banner">Nested banner</div>
</div>

A banner landmark nested inside another landmark no longer functions as the page's single top-level header.

n/a
<header>Site header</header>

The banner is not nested inside any other landmark.

View source