Zum Inhalt springen
SilktideHilfe

Geltungsbereiche von Tabellenüberschriften

Silktide prüft, dass jede Tabellenüberschriftenzelle angibt, wofür sie als Überschrift dient – für eine Spalte, eine Zeile oder eine Gruppe davon. Das teilt mit, auf welche Zellen sich die jeweilige Überschrift bezieht.

In kann eine Überschriftenzelle <th> als Überschrift für eine Spalte, eine Zeile oder eine Gruppe von Spalten bzw. Zeilen dienen. Das Attribut scope gibt dies an und beseitigt so jede Unklarheit über die Struktur der Tabelle.

<!-- Problem: Es ist nicht ersichtlich, ob „Name“ die Überschrift einer Spalte oder einer Zeile ist -->
<th>Name</th>

<!-- Behoben: Das scope-Attribut macht es eindeutig -->
<th scope="col">Name</th>

Warum das wichtig ist

Ein liest beim Navigieren durch eine Tabelle zu jeder Zelle die zugehörigen Überschriften mit vor. Dafür muss er wissen, auf welche Zellen sich jede Überschrift bezieht. In Tabellen mit sowohl Spalten- als auch Zeilenüberschriften oder mit Überschriften, die sich über Gruppen von Zellen erstrecken, zwingt eine Überschrift ohne Scope den Screenreader zum Raten – und wenn er falsch rät, werden Werte im falschen Kontext oder ganz ohne Kontext vorgelesen.

So beheben Sie das

Fügen Sie jeder <th>-Zelle ein scope-Attribut hinzu. Gültige Werte sind:

  • col – die Überschrift gilt für die darunterliegende Spalte.
  • row – die Überschrift gilt für die danebenliegende Zeile.
  • colgroup – die Überschrift gilt für eine Gruppe von Spalten.
  • rowgroup – die Überschrift gilt für eine Gruppe von Zeilen.
<table>
  <tr>
    <th scope="col">Name</th>
    <th scope="col">Alter</th>
  </tr>
  <tr>
    <th scope="row">Bob</th>
    <td>35</td>
  </tr>
</table>

Wie Silktide das prüft

  1. Auf jeder Seite alle <th>-Überschriftenzellen ermitteln.
  2. Jede melden, deren scope-Attribut fehlt oder nicht row, col, rowgroup oder colgroup ist.

Fehlerbehebung

Meine einfache Tabelle funktioniert auch ohne scope-Attribute

Bei einer Tabelle mit nur einer oberen Überschriftenzeile können Browser und Screenreader die Struktur meist selbst ableiten. Explizite scope-Attribute beseitigen dennoch jede Zweideutigkeit, kosten nichts und schützen Sie, wenn die Tabelle später komplexer wird. Deshalb verlangt Silktide sie für jede Überschriftenzelle. Wenn Sie der Meinung sind, dass eine bestimmte Tabelle so in Ordnung ist, können Sie die Feststellung .

Weiterführende Informationen

Zuletzt aktualisiert

War diese Seite hilfreich?

Geltungsbereiche von Tabellenüberschriften | Silktide-Hilfe