Identische Tabellenzusammenfassung und Beschriftung
Silktide überprüft Tabellen, die sowohl ein summary-Attribut als auch eine Beschriftung (caption) haben, und meldet diejenigen, bei denen beide exakt dasselbe aussagen. Beide dienen unterschiedlichen Zwecken; die eine in die andere zu duplizieren erzeugt nur Wiederholungen.
In ist das Element <caption> der sichtbare Titel der Tabelle,
während das Attribut summary eine unsichtbare Beschreibung ist, die die
Struktur der Tabelle für -Nutzende erklären soll.
<!-- Problem: Die Zusammenfassung wiederholt lediglich die Beschriftung -->
<table summary="Öffnungszeiten">
<caption>Öffnungszeiten</caption>
...
</table>
Warum das wichtig ist
Screenreader geben sowohl die Beschriftung als auch die Zusammenfassung aus, sobald Nutzende an einer Tabelle ankommen. Wenn beide identisch sind, wird derselbe Text zweimal vorgelesen – das kostet Zeit und lässt vermuten, dass die Zusammenfassung nur dazu ausgefüllt wurde, ein Kästchen abzuhaken, statt zu helfen. Eine hilfreiche Zusammenfassung ergänzt die Beschriftung: Sie erklärt, wie die Tabelle aufgebaut ist oder wie man sie am besten liest.
So beheben Sie das
- Entfernen Sie entweder das Attribut
summaryund behalten Sie die Beschriftung, oder - formulieren Sie die Zusammenfassung so um, dass sie die Beschriftung ergänzt, indem sie die Struktur der Tabelle beschreibt:
<!-- Behoben: Die Zusammenfassung ergänzt strukturelle Informationen -->
<table summary="Tage in der ersten Spalte, Vormittags- und Nachmittagszeiten in der zweiten und dritten">
<caption>Öffnungszeiten</caption>
...
</table>
Beachten Sie, dass das Attribut summary aus HTML 4 stammt und im aktuellen
HTML veraltet ist; daher ist das Entfernen oft die bessere langfristige Wahl.
Ein sichtbarer Absatz vor der Tabelle kann dieselbe Erklärung für alle
bereitstellen.
So testet Silktide das
- Alle Tabellen auf jeder Seite finden.
- Tabellen überspringen, die mit
role="presentation"als präsentational markiert sind. - Tabellen ohne
summary-Attribut oder ohne<caption>überspringen. - Beide Texte vergleichen, Groß-/Kleinschreibung und überflüssige Leerzeichen ignorieren, und die Tabelle melden, wenn sie identisch sind.