---
title: "Heading is empty (a11y/empty-heading)"
description: "a11y/empty-heading: Empty headings appear as blank entries in the screen-reader heading list, which breaks navigation by headings."
canonical: https://void-design.vercel.app/rules/a11y/empty-heading
lastModified: 2026-09-16
---

# Heading is empty

`a11y/empty-heading` · severity **warn** · category Accessibility · detected by `void a11y` and `void audit`

## Why it matters

Empty headings appear as blank entries in the screen-reader heading list, which breaks navigation by headings.

## How to fix it

Remove the empty heading element, or give it text (visually-hidden text if needed); never use headings only for spacing.

## References

- https://dequeuniversity.com/rules/axe/4.13/empty-heading

## More accessibility rules

`void a11y` reports 48 rules in this category. WCAG 2.2 AA through axe-core, plus checks axe can't do alone: visible keyboard focus, 24/44px target size on mobile, 320px reflow and disabled zoom.

- `region` Content is outside landmark regions — [a11y/region](https://void-design.vercel.app/rules/a11y/region)
- `landmark-unique` Landmarks are not uniquely identifiable — [a11y/landmark-unique](https://void-design.vercel.app/rules/a11y/landmark-unique)
- `page-has-heading-one` Page has no level-one heading — [a11y/page-has-heading-one](https://void-design.vercel.app/rules/a11y/page-has-heading-one)
- `heading-order` Heading levels skip — [a11y/heading-order](https://void-design.vercel.app/rules/a11y/heading-order)
- `list` List contains invalid children — [a11y/list](https://void-design.vercel.app/rules/a11y/list)
- `listitem` <li> is not inside a list — [a11y/listitem](https://void-design.vercel.app/rules/a11y/listitem)
- `aria-allowed-attr` ARIA attribute is not allowed on this role — [a11y/aria-allowed-attr](https://void-design.vercel.app/rules/a11y/aria-allowed-attr)
- `aria-required-attr` Required ARIA attribute is missing — [a11y/aria-required-attr](https://void-design.vercel.app/rules/a11y/aria-required-attr)

Detected by `void a11y` and `void audit`. Explain it in a terminal: `void rules a11y/empty-heading`
