Przejdź do treści
SilktidePomoc

Nagłówki komórek

Silktide sprawdza komórki tabel, które określają swoje nagłówki za pomocą atrybutu headers, i weryfikuje, czy każdy wskazywany przez nie identyfikator istnieje. Odwołanie do nieistniejącego identyfikatora po cichu zrywa powiązanie między komórką a jej nagłówkiem.

W złożonych tabelach każda komórka danych może mieć atrybut headers zawierający wartości id komórek nagłówków, które jej dotyczą. Jeśli identyfikator zawiera literówkę albo wskazywany nagłówek został przemianowany lub usunięty, powiązanie po cichu przestaje działać.

<!-- Problem: nie istnieje element o id="prise" (literówka zamiast "price") -->
<td headers="prise">$40</td>

Dlaczego to jest ważne

używa powiązań headers, aby ogłaszać właściwe nagłówki przed każdą wartością. Dzięki temu osoba, która nie widzi tabeli, może śledzić znaczenie każdej liczby. Gdy odwołanie nie wskazuje niczego, komórka jest ogłaszana bez kontekstu, a słuchacz nie ma możliwości dowiedzenia się, że czegoś brakuje — tabela po prostu staje się trudniejsza lub niemożliwa do zrozumienia.

Uszkodzone odwołania zwykle pojawiają się z czasem: zmieniana jest nazwa id nagłówka, usuwana jest kolumna albo ponownie generuje identyfikatory. Wizualnie nic się nie zmienia, więc bez automatycznej kontroli nikt tego nie zauważa.

Jak to naprawić

  1. Znajdź atrybut headers komórki i porównaj każdy wymieniony identyfikator z atrybutami id komórek nagłówków tabeli.
  2. Popraw wszelkie literówki albo zaktualizuj listę do bieżącego id nagłówka.
  3. Jeśli wskazywany nagłówek już nie istnieje, usuń nieaktualny identyfikator z listy.
  4. Jeśli tabela jest prosta — ma jeden wiersz lub kolumnę nagłówków — rozważ całkowite usunięcie powiązań headers i użycie komórek <th> z atrybutami scope, które nie mogą zepsuć się w ten sposób.
<!-- Naprawione: odwołanie odpowiada istniejącemu nagłówkowi -->
<th id="price">Cena</th>
...
<td headers="price">$40</td>

Jak Silktide to testuje

  1. Znajduje na każdej stronie każdą komórkę tabeli z atrybutem headers.
  2. Dzieli wartość atrybutu na poszczególne identyfikatory.
  3. Wyszukuje każdy identyfikator w dowolnym miejscu na stronie.
  4. Zgłasza każdą komórkę odwołującą się do co najmniej jednego nieistniejącego identyfikatora.

Rozwiązywanie problemów

Identyfikator istnieje, ale komórka nadal jest zgłaszana

Sprawdź problemy z dokładnym dopasowaniem: w identyfikatorach rozróżniana jest wielkość liter, więc Price i price to różne identyfikatory. Potwierdź również, że lista jest rozdzielona wyłącznie spacjami — przecinki lub inne znaki interpunkcyjne stają się częścią identyfikatora i uniemożliwiają jego wyszukanie.

Dowiedz się więcej

Ostatnio zaktualizowano

Czy ta strona była pomocna?