Ensure that the page, or at least one of its frames contains a level-one heading
The page-has-heading-one rule ensures that
a page or at least one of its frames contains a level-one heading
(<h1>) or an element with
role="heading" and
aria-level="1".
What is being tested?
This rule checks that:
- The main document or at least one embedded frame contains a level-one heading.
- The level-one heading appears before the start of the main content.
Why it matters
Screen reader users rely on keyboard shortcuts to navigate by heading levels.
A properly placed <h1> at the start of the main content
lets users jump directly to the main section, saving time and improving orientation.
Without an h1, blind or low-vision users must listen linearly to the entire page
to understand its structure, unlike sighted users who can visually scan a page.
Good markup example
<h1>Welcome to Our Website</h1> <main> <h2>About Us</h2> <p>Our company was founded in...</p> </main>
Best practice for iframes
When embedding content with <iframe>,
try to fit its heading hierarchy within the parent page.
For example, if the parent page uses an h1,
the iframe should ideally start with an h2 if its content is a direct subsection.
Best practices
- Include one and only one
h1per page. - Place the
h1at the start of the main content area. - Use
h2,h3, etc., to organize subsections hierarchically. - For iframes, align the heading level with the parent page when possible.
Other Rules
Interested in other web accessibility rules? Please see these other rules: