How to fix: Page missing or has multiple h1
Every page should have exactly one <h1> that names its main topic: if the page has none, add one main heading, and if it has more than one, consolidate them down to a single <h1>.
What it is
The <h1> is the top of a page's heading outline. It is the title-level heading that tells both people and software what the whole page is about, sitting above every other heading. WCAG Success Criterion 1.3.1 Info and Relationships requires that the structure conveyed by your visual design also exist in code, and a single, clear h1 is the anchor of that structure.
Two situations break this. The first is a page with no <h1> at all, where the document opens with an h2 or a styled <div> that merely looks like a title. Assistive technology then has no top-level landmark heading to announce, so users land on a page with no clear starting point. The second is a page with multiple <h1> elements, often a leftover from a template where the site name, the page title, and a banner are each marked up as h1. This flattens the outline: if three things are all the most important heading, none of them is.
The fix is to settle on one main heading. Pick the element that genuinely names the page (the article title, the product name, the page subject), mark it as the single <h1>, and demote any competing h1s to h2 or lower so they nest beneath it. If the page has nothing acting as a main heading, add one. Visual size is irrelevant here; you can style the h1 however you like with CSS.
Who it affects & why it matters
Screen reader users feel this most directly. Many jump straight to the h1 as their first move on a page, or pull up a list of headings to orient themselves, treating the h1 as the page's headline. With no h1, that shortcut lands nowhere; with several h1s, the outline reads as if the page has multiple unrelated documents stacked together, which is disorienting to navigate.
It also affects people with cognitive disabilities, who rely on a single obvious title to confirm they are in the right place, and it shapes how search engines and reader-mode tools interpret the page, since both lean on the h1 to summarize the document. A clean, single h1 makes the page easier to scan for everyone.
A missing or duplicated h1 falls under SC 1.3.1, a Level A criterion, and Level A is the minimum conformance tier. Broken page structure is one of the most common categories surfaced by automated WCAG tools, and WCAG 2.1 Level AA (which includes every Level A criterion) is the de-facto benchmark U.S. courts apply to ADA Title III claims. Web accessibility lawsuits have climbed year over year, and the majority target businesses under $25 million in revenue.
While a stray h1 is less of a lone lawsuit trigger than missing alt text or low contrast, it is a standard finding in any serious audit, and a poor heading outline degrades navigation across the whole page rather than one isolated element. The fix is essentially free: you are changing tag levels, not rebuilding anything, and using CSS for whatever visual size you actually wanted.
How to fix it
- Count the <h1> elements on the page. The goal is exactly one.
- If there are zero, identify the text that names the page's main topic and mark it up as the single <h1>.
- If there are two or more, choose the one true main heading and demote the rest to <h2> (or deeper) so they nest beneath it.
- Do not use the site name or logo as the h1 on interior pages; reserve the h1 for the specific page topic.
- Pick the level by structure, not by appearance, and use CSS for the visual size and weight you want.
- Re-scan to confirm the page reports exactly one <h1>.
<header><h1>AccessKnight</h1></header>
<main>
<h1>Pricing Plans</h1>
<h1>Frequently Asked Questions</h1>
</main><header><p class="logo">AccessKnight</p></header>
<main>
<h1>Pricing Plans</h1>
<h2>Frequently Asked Questions</h2>
</main>How AccessKnight detects this
AccessKnight counts the <h1> elements in the parsed document. If it finds zero, it flags the page once and tells you to add an <h1> as the main heading. If it finds more than one, it flags the page once, reports how many h1 elements it found, and tells you to use only one. When the count is exactly one, the rule passes. This is a single page-level check, so resolving it (adding the missing h1 or consolidating the extras) clears the issue for the whole document at once.