A heading has no words in it

In the reportPages contain empty heading elements

empty_heading · Review item

Short answer

This appears when an H2 to H6 heading has no name: no text, no aria-label, no usable aria-labelledby reference, no image alt and no title. An empty heading is usually a leftover from a theme or editor, and it gives screen readers and parsers a heading with nothing in it. Fill it or delete it.

Severity: Notice. It is a notice: worth tidying when convenient, and not a ranking problem.

Why it matters

Accessibility guidelines ask that headings describe the topic or purpose of what follows; a heading with no text describes nothing, and it still appears in the page's outline.

What to do

  1. Look at the finding: it gives the number of empty headings and, for up to 25 of them, the position and the markup, up to 800 characters each.
  2. Give it text that describes the section below, or delete the element if it only holds an icon or spacing.
  3. Check again with this one address once the change is live.

When to leave it as it is: if the heading is filled by a script your visitors run, and the filled version describes the section, you can leave it; the check reads the HTML only.

What we read

We read the HTML each page returned, without running JavaScript, and look at every <h2> to <h6>. A heading is empty when it has no text, ignoring whitespace and anything inside scripts, styles, templates or parts marked hidden, aria-hidden="true" or inert, and no aria-label, usable aria-labelledby target, image alt or title. A text character used as an icon, such as ★, still counts as text. Headings marked hidden, aria-hidden="true" or inert, themselves or through a parent, are left out.

A page with an empty H1 is not judged here at all, unless that H1 is marked hidden, aria-hidden="true" or inert, itself or through a parent; the missing-H1 check reports a page only when none of its H1s has text, so an empty H1 beside one with text is reported by neither. Every page that answered 200 with HTML is checked, including pages marked noindex, and a page with more than 128 headings is not judged.

Example & evidence

Illustrative example — one page, not a live audit.

Address: https://bakery.example/rye-bread. The main content we read:

<h1>Rye bread</h1>
<h2><i class="icon-wheat"></i></h2>
<h2>Ingredients</h2>

The first <h2> holds only an icon, so the page is reported with that heading's markup.

A possible correction: <h2><i class="icon-wheat"></i> Why rye?</h2>, or delete the empty element.

Confirm & check again

Check for yourself: view the page source and look through the <h2> to <h6> elements for ones with no words.

Check again: Full audit — re-read this address; the page must answer 200 with complete HTML. The finding closes when no H2 to H6 heading is empty. If the change leaves an empty H1, or the page cannot be fetched, the check cannot conclude.

Limits & sources

It is not a ranking factor and not an accessibility verdict. Text added by JavaScript or by CSS is not seen, and a heading hidden only with CSS still counts; the check does not judge whether heading text is meaningful.

Confidence: High because each heading's content is read directly from the HTML.

Sources

Editorial review: 29 September 2026