Zum Inhalt springen
SilktideHilfe

Zellenüberschriften

Silktide prüft Tabellenzellen, die ihre Überschriften über das Attribut headers angeben, und verifiziert, dass jede referenzierte ID tatsächlich existiert. Ein Verweis auf eine fehlende ID trennt die Verbindung zwischen einer Zelle und ihrer Überschrift unbemerkt.

In komplexen Tabellen kann jede Datenzelle ein Attribut headers tragen, das die id-Werte der auf sie zutreffenden Kopfzellen auflistet. Wird eine ID vertippt oder wurde die referenzierte Überschrift umbenannt oder entfernt, funktioniert die Zuordnung stillschweigend nicht mehr.

<!-- Problem: Es gibt kein Element mit id="prise" (Tippfehler für „price“) -->
<td headers="prise">$40</td>

Warum das wichtig ist

Ein nutzt headers-Zuordnungen, um vor jedem Wert die richtigen Überschriften anzukündigen, wodurch Personen, die die Tabelle nicht sehen können, nachvollziehen können, was jede Zahl bedeutet. Wenn ein Verweis ins Leere zeigt, wird die Zelle ohne Kontext angesagt, und die Zuhörenden können nicht wissen, dass etwas fehlt – die Tabelle wird dadurch schwerer oder gar unmöglich nachzuvollziehen.

Defekte Verweise schleichen sich meist mit der Zeit ein: Die id einer Überschrift wird umbenannt, eine Spalte wird gelöscht oder ein generiert IDs neu. Visuell ändert sich nichts, daher bemerkt ohne automatisierte Prüfung niemand etwas.

So beheben Sie das

  1. Suchen Sie das headers-Attribut der Zelle und vergleichen Sie jede aufgeführte ID mit den id-Attributen der Kopfzellen der Tabelle.
  2. Korrigieren Sie Tippfehler oder aktualisieren Sie die Liste auf die aktuelle id der Überschrift.
  3. Wenn eine referenzierte Überschrift nicht mehr existiert, entfernen Sie die veraltete ID aus der Liste.
  4. Wenn die Tabelle einfach ist – eine Zeile oder Spalte mit Überschriften –, überlegen Sie, headers-Zuordnungen ganz wegzulassen und stattdessen <th>-Zellen mit scope-Attributen zu verwenden; diese können auf diese Weise nicht kaputtgehen.
<!-- Behoben: Der Verweis passt zu einer echten Überschrift -->
<th id="price">Preis</th>
...
<td headers="price">$40</td>

So testet Silktide das

  1. Auf jeder Seite alle Tabellenzellen mit einem headers-Attribut finden.
  2. Den Attributwert in einzelne IDs aufteilen.
  3. Jede ID irgendwo auf der Seite nachschlagen.
  4. Jede Zelle melden, die mindestens eine nicht vorhandene ID referenziert.

Fehlerbehebung

Die ID existiert, aber die Zelle wird trotzdem gemeldet

Prüfen Sie auf exakte Übereinstimmung: IDs unterscheiden Groß- und Kleinschreibung, daher sind Price und price unterschiedliche IDs. Stellen Sie außerdem sicher, dass die Liste nur durch Leerzeichen getrennt ist – Kommata oder andere Satzzeichen werden Teil der ID und verhindern das Auffinden.

Mehr erfahren

Zuletzt aktualisiert

War diese Seite hilfreich?