heading-quality

Heading text should be descriptive, not a placeholder

manualWCAG 2.4.6 (AA)confidence: mediumseverity: minoroperable

Flags headings whose accessible name is a placeholder rather than a description of the content that follows: a generic word ("Heading", "Untitled"), a numbered template slot ("Section 2"), a filename, or a URL.

Applies to. Elements with a heading role (native <h1>-<h6>, or any element with an explicit role="heading") that are included in the accessibility tree and have a non-empty accessible name. A heading with no name at all is `empty-heading`'s concern, not this rule's.

Expectation. The heading's accessible name, normalized (whitespace-collapsed, case-folded, trailing punctuation stripped), is not a placeholder left in the markup: a known generic word ("heading", "title", "untitled", "lorem ipsum", ...), a numbered template slot ("Heading 2", "Section 3"), a filename, or a URL. None of these describe the topic or purpose of the content they introduce.

Examples

can't tell
<h3>Heading</h3>
<p>We are open Monday through Friday from 10 to 16.</p>

The heading text is the generic placeholder word "Heading" itself, not a description of the section.

n/a
<h3>Opening hours</h3>
<p>We are open Monday through Friday from 10 to 16.</p>

The heading names its actual topic.

View source