page-has-heading-one

Page should have a level-one heading

manualconfidence: mediumseverity: minoroperable

Checks that the page has at least one level-one heading (<h1> or role="heading" with aria-level="1").

Applies to. Always applicable to any HTML document with a <body> element: "does the page have an h1" is a whole-page concern, matching bypass-blocks-present's pattern of evaluating the document directly.

Expectation. At least one heading with level 1 exists (native <h1>, or role="heading" with aria-level="1"). A page with no top-level heading has no clear entry point for assistive technology users navigating by heading.

Examples

can't tell
<body>
<h2>Section</h2>
<p>No top-level heading anywhere on the page.</p>
</body>

No `<h1>` or `role="heading" aria-level="1"` exists.

n/a
<body>
<h1>Page title</h1>
</body>

A level-one heading exists, so there is nothing to flag.

View source