empty-heading
Überschriften dürfen nicht leer sein
Prüft, dass Überschriftenelemente (<h1>-<h6> oder role="heading") einen nicht leeren zugänglichen Namen haben.
Anwendbarkeit. Gilt für Elemente mit der Rolle heading: native <h1>-<h6> oder jedes Element, dessen role-Attribut zu heading aufgelöst wird (das erste Token, das eine bekannte Rolle nennt, ohne Berücksichtigung der Groß-/Kleinschreibung abgeglichen, sodass role="foo heading" zählt). Eine native Überschrift behält ihre Rolle, wenn kein Token eine bekannte Rolle ist, und verliert sie an jede andere aufgelöste Rolle. Ein natives <hx> mit role="none" oder "presentation" ist weiterhin eine Überschrift, wenn es den Fokus erhalten kann oder ein globales ARIA-Attribut trägt, da Browser diese Rolle dann nach der Konfliktauflösung für präsentationale Rollen in WAI-ARIA ignorieren. Ein Custom Element, dem seine ElementInternals die Rolle heading geben (this.attachInternals().role), ohne role-Attribut, das eine andere nennt, zählt wie ein natives Element mit dieser Rolle.
Erwartung. Die Überschrift hat einen nicht leeren zugänglichen Namen: aria-label, aria-labelledby, sichtbaren Textinhalt, der nicht vor assistiven Technologien verborgen ist, oder (als letzte Möglichkeit) ein title-Attribut. Eine leere Überschrift wird nur als „Überschrift, Ebene N“ angesagt, was bei der Navigation über Überschriften verwirrt. Wird als FAIL gemeldet, obwohl kein WCAG-Kriterium beansprucht wird: Eine leere Überschrift ist selbst die Barriere, so wie die ACT-Regel ffd0e9 sie behandelt. Zu einer Überschrift, deren Name aus Inhalten stammen kann, die kein Skript lesen kann (ein geschlossener Shadow Root, zu tief verschachtelter Inhalt, ein Custom Element, das sich über ElementInternals selbst benennt), wird stattdessen nachgefragt, wie es die *-name-present-Regeln tun.
Beispiele
<h2>Section title</h2>
Die Überschrift hat sichtbaren Textinhalt.
<h2></h2>
Die Überschrift hat überhaupt keinen zugänglichen Namen – ein Screenreader hat nichts anzusagen.
So prüfen Sie es
Wenn diese Regel nicht entscheiden kann, meldet sie cantTell und überlässt die Frage einer Person. Jede Frage, die sie stellen kann, steht hier unter ihrem Reason-Code, mit den Schritten, um sie zu beantworten. Ein Befund enthält dieselben Schritte in howToCheck, in der Sprache des Scans. Siehe Ausgabeschema.
name_closedContent
- Suchen Sie die im Bericht genannte Überschrift und notieren Sie den Text oder das Symbol, das auf dem Bildschirm angezeigt wird.
- Öffnen Sie den Bereich „Barrierefreiheit“ in den Entwicklertools des Browsers und lesen Sie den zugänglichen Namen des Elements, den der Browser aus Inhalt ermittelt, den kein Skript lesen kann.
- Navigieren Sie mit einem Screenreader zum Element und hören Sie sich den angesagten Namen an.
Bestanden. Der Barrierefreiheitsbaum zeigt einen Namen für die Überschrift, aus dem Inhalt gewonnen, und der Screenreader sagt ihn an.
Nicht bestanden. Die Überschrift hat keinen Namen im Barrierefreiheitsbaum, da der Inhalt keinen ergibt; das widerspricht der Best Practice, dass Überschriften Inhalt haben (ACT ffd0e9).
name_contentTooDeep
- Suchen Sie die im Bericht genannte Überschrift und notieren Sie den auf dem Bildschirm angezeigten Text.
- Öffnen Sie den Bereich „Barrierefreiheit“ in den Entwicklertools des Browsers und lesen Sie den zugänglichen Namen des Elements, den der Browser aus seinem gesamten verschachtelten Inhalt ermittelt.
- Navigieren Sie mit einem Screenreader zum Element und hören Sie sich den angesagten Namen an.
Bestanden. Der Barrierefreiheitsbaum zeigt einen Namen für die Überschrift, aus dem verschachtelten Inhalt gewonnen, und der Screenreader sagt ihn an.
Nicht bestanden. Die Überschrift hat keinen Namen im Barrierefreiheitsbaum, da der Inhalt keinen ergibt; das widerspricht der Best Practice, dass Überschriften Inhalt haben (ACT ffd0e9).
name_internals
- Untersuchen Sie die im Bericht genannte Überschrift, ein benutzerdefiniertes Element, und notieren Sie die Rolle.
- Öffnen Sie den Bereich „Barrierefreiheit“ in den Entwicklertools des Browsers und lesen Sie den zugänglichen Namen des Elements.
- Navigieren Sie mit einem Screenreader zum Element und hören Sie sich den angesagten Namen an.
Bestanden. Der Barrierefreiheitsbaum zeigt einen Namen für die Überschrift, über die Internals oder anders gesetzt, und der Screenreader sagt ihn an.
Nicht bestanden. Die Überschrift hat keinen Namen im Barrierefreiheitsbaum, und der Screenreader sagt nur die Rolle an; das widerspricht der Best Practice, dass Überschriften Inhalt haben (ACT ffd0e9).