Zum Inhalt springen
SilktideHilfe

IDs für Tabellenüberschriften

Silktide prüft Tabellen, die ihre Zellen mithilfe des Attributs headers mit Überschriften verknüpfen. In solchen Tabellen benötigt jede Überschriftenzelle eine eigene ID, sonst funktionieren die Verknüpfungen nicht.

In komplexen Tabellen – zum Beispiel mit zwei Ebenen von Überschriften oder Zellen, die sich über mehrere Zeilen erstrecken – lässt sich die Beziehung zwischen einer Zelle und ihren Überschriften nicht allein aus der Position ableiten. löst dies mit dem Attribut headers: Jede Datenzelle listet die id-Werte der Überschriftenzellen auf, die für sie gelten. Das funktioniert nur, wenn jede Überschriftenzelle tatsächlich eine id hat.

<!-- Problem: Die zweite Überschrift hat keine id, daher können die Zellen nicht auf sie verweisen -->
<table>
  <tr>
    <th id="name">Name</th>
    <th>Score</th>
  </tr>
  <tr>
    <td headers="name">Ada</td>
    <td>98</td>
  </tr>
</table>

Warum das wichtig ist

Wenn eine Tabelle headers-Zuordnungen verwendet, liest ein die verknüpften Überschriften vor jedem Wert vor, sodass die Hörenden in einer komplexen Tabelle die Orientierung behalten. Auf eine Überschriftenzelle ohne id kann nicht verwiesen werden; die Zellen darunter werden daher ohne Kontext angekündigt und die Tabelle wird für Personen, die sie nicht sehen können, zum Ratespiel.

So beheben Sie das

  1. Geben Sie jeder <th>-Überschriftenzelle in der Tabelle eine eindeutige id.
  2. Aktualisieren Sie in jeder Datenzelle das Attribut headers, sodass es die IDs aller für sie geltenden Überschriften – durch Leerzeichen getrennt – auflistet:
<!-- Behoben: Jede Überschrift hat eine id und die Zellen verweisen auf sie -->
<table>
  <tr>
    <th id="name">Name</th>
    <th id="score">Score</th>
  </tr>
  <tr>
    <td headers="name">Ada</td>
    <td headers="score">98</td>
  </tr>
</table>
  1. Alternativ können Sie die Tabelle vereinfachen. Einfache Tabellen mit nur einer Zeile oder Spalte von Überschriften benötigen überhaupt keine headers-Zuordnungen – <th>-Zellen mit scope-Attributen reichen aus und sind deutlich einfacher zu pflegen.

So testet Silktide dies

  1. Auf jeder Seite werden alle Tabellen ermittelt.
  2. Tabellen, in denen keine Zelle ein headers-Attribut verwendet, werden übersprungen – diese Prüfung gilt nur für Tabellen, die explizite Überschriften-Zuordnungen verwenden.
  3. In den verbleibenden Tabellen wird jede <th>-Überschriftenzelle gemeldet, die kein id-Attribut hat.

Weitere Informationen

Zuletzt aktualisiert

War diese Seite hilfreich?