Przejdź do treści
SilktidePomoc

Przestarzały atrybut scope

Silktide sprawdza atrybuty scope umieszczone w zwykłych komórkach danych tabeli. Atrybut scope opisuje, czego dotyczy nagłówek, więc należy go stosować wyłącznie w komórkach nagłówkowych; w komórce danych jest przestarzały i może wprowadzać technologie wspomagające w błąd.

W atrybut scope jest zdefiniowany dla komórek nagłówkowych <th>. Umieszczenie go w komórce danych <td> zwykle oznacza jedną z dwóch rzeczy: komórka jest w rzeczywistości nagłówkiem i powinna być elementem <th> albo atrybut pozostał po starym znaczniku i należy go usunąć.

<!-- Problem: scope w komórce danych -->
<td scope="col">Nazwa</td>

Dlaczego to jest ważne

tworzy obraz tabeli na podstawie znaczników. Atrybut scope w komórce danych jest sprzecznym sygnałem: element mówi „Jestem daną”, a atrybut „Opisuję inne komórki”. Różne rozwiązują tę sprzeczność w różny sposób — niektóre ignorują atrybut, inne traktują komórkę jako nagłówek — dlatego tabela może być odczytywana z nieprawidłowymi lub niespójnymi nagłówkami, zależnie od oprogramowania używanego przez odwiedzającego.

Jak to naprawić

Określ, czym naprawdę jest komórka:

  1. Jeśli pełni funkcję nagłówka, zmień ją na <th> i zachowaj prawidłową wartość scope (row, col, rowgroup lub colgroup):
<!-- Naprawiono: nagłówek jest prawdziwą komórką nagłówkową -->
<th scope="col">Nazwa</th>
  1. Jeśli jest zwykłą daną, całkowicie usuń atrybut scope:
<!-- Naprawiono: zwykła komórka danych -->
<td>Nazwa</td>

Jak Silktide to testuje

  1. Znajduje każdą komórkę tabeli na każdej stronie.
  2. Zgłasza każdą komórkę danych <td>, która ma atrybut scope, niezależnie od jego wartości.

Dowiedz się więcej

Ostatnio zaktualizowano

Czy ta strona była pomocna?