Zum Inhalt springen
SilktideHilfe

Veraltetes scope-Attribut

Silktide prüft auf scope-Attribute, die auf gewöhnlichen Tabellendatenzellen gesetzt sind. Das scope-Attribut beschreibt, worauf sich eine Überschrift bezieht, daher gehört es nur auf Überschriftenzellen; auf einer Datenzelle ist es veraltet und kann Hilfstechnologien in die Irre führen.

In ist scope für <th>-Überschriftenzellen definiert. Das Attribut auf eine <td>-Datenzelle zu setzen, bedeutet meist eines von zwei Dingen: Die Zelle ist eigentlich eine Überschrift und sollte ein <th> sein, oder das Attribut ist ein Überbleibsel aus altem Markup und sollte entfernt werden.

<!-- Problem: scope auf einer Datenzelle -->
<td scope="col">Name</td>

Warum das wichtig ist

Ein erstellt sein Verständnis einer Tabelle anhand des Markups. Ein scope-Attribut auf einer Datenzelle ist ein widersprüchliches Signal: Das Element sagt 'Ich bin eine Datenzelle', während das Attribut sagt 'Ich beschrifte andere Zellen'. Verschiedene lösen diesen Widerspruch unterschiedlich – einige ignorieren das Attribut, andere behandeln die Zelle als Überschrift –, sodass die Tabelle je nach verwendeter Software mit falschen oder uneinheitlichen Überschriften ausgegeben werden kann.

So beheben Sie das

Entscheiden Sie, was die Zelle wirklich ist:

  1. Wenn sie als Überschrift fungiert, ändern Sie sie in ein <th> und behalten Sie einen gültigen scope-Wert bei (row, col, rowgroup oder colgroup):
<!-- Behoben: Die Überschrift ist eine echte Überschriftenzelle -->
<th scope="col">Name</th>
  1. Wenn es sich um gewöhnliche Daten handelt, entfernen Sie das scope-Attribut vollständig:
<!-- Behoben: einfache Datenzelle -->
<td>Name</td>

So testet Silktide dies

  1. Sucht auf jeder Seite nach allen Tabellenzellen.
  2. Meldet jede <td>-Datenzelle, die ein scope-Attribut trägt, unabhängig von dessen Wert.

Mehr erfahren

Zuletzt aktualisiert

War diese Seite hilfreich?

Veraltetes scope-Attribut | Silktide-Hilfe