Multiple H1 tags
HTML5 permits several H1s and the outline algorithm that justified them was never implemented. What that means in practice, and what to do instead.
What it is
This check counts <h1> elements and flags a page carrying more than one. It runs only when the page has at least one, so it is a separate finding from a missing H1.
The rule is genuinely contested, and it is worth being precise rather than dogmatic about why. HTML5 permits multiple H1s, on the basis of a document outline algorithm in which each sectioning element restarted the heading hierarchy. No browser and no assistive technology ever implemented that algorithm, and it was eventually removed from the specification.
Why it matters
Because the outline algorithm does not exist in any shipping implementation, every H1 on a page is read as a top-level heading of the whole document. Three of them describe three different top-level topics, which is one more piece of guesswork for anything trying to summarise the page.
The practical cost lands on screen reader users first: a heading list with several competing level-one entries is a table of contents with three titles. Demoting the extras to <h2> costs nothing visually — heading level and font size are independent — and makes the outline mean what it says.
How to fix it
with a reference doc<!-- one top-level topic -->
<h1>Trail running shoes</h1>
<!-- everything else steps down -->
<h2>Grip and outsole</h2>
<h2>Cushioning</h2>Related checks
4This is one of the 75 checks the scanner runs. See what we check for the full list, every severity weight, and how the score is computed from them.