Zakresy nagłówków tabel
Silktide kontroluje, czy każda komórka nagłówka tabeli określa, czego jest nagłówkiem — kolumny, wiersza lub ich grupy. Dzięki temu wiedzą, do których komórek odnosi się każdy nagłówek.
W komórka nagłówka <th> może być nagłówkiem kolumny, wiersza albo grupy kolumn lub wierszy. Atrybut scope określa, której z tych możliwości dotyczy, usuwając wszelką niejednoznaczność dotyczącą struktury tabeli.
<!-- Problem: nic nie wskazuje, czy „Name” jest nagłówkiem kolumny, czy wiersza -->
<th>Name</th>
<!-- Naprawiono: zakres jasno to określa -->
<th scope="col">Name</th>
Dlaczego to jest ważne
odczytuje odpowiednie nagłówki wraz z każdą komórką, gdy użytkownik porusza się po tabeli. Aby to zrobić, musi wiedzieć, których komórek dotyczy każdy nagłówek. W tabelach, które mają zarówno nagłówki kolumn, jak i wierszy, lub nagłówki obejmujące grupy komórek, nagłówek bez zakresu zmusza czytnik ekranu do zgadywania — a gdy zgadnie błędnie, wartości są odczytywane w niewłaściwym kontekście albo bez żadnego kontekstu.
Jak to naprawić
Dodaj atrybut scope do każdej komórki <th>. Prawidłowe wartości to:
col— nagłówek dotyczy kolumny pod nim.row— nagłówek dotyczy wiersza obok niego.colgroup— nagłówek dotyczy grupy kolumn.rowgroup— nagłówek dotyczy grupy wierszy.
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Age</th>
</tr>
<tr>
<th scope="row">Bob</th>
<td>35</td>
</tr>
</table>
Jak Silktide to testuje
- Znajdź każdą komórkę nagłówka
<th>na każdej stronie. - Zgłoś każdą komórkę, której brakuje atrybutu
scopelub której atrybutscopenie ma jednej z wartości:row,col,rowgrouplubcolgroup.
Rozwiązywanie problemów
Moja prosta tabela działa dobrze bez zakresów
W przypadku tabeli z jednym górnym wierszem nagłówków przeglądarki i czytniki ekranu zwykle potrafią wywnioskować strukturę. Jawne zakresy nadal usuwają wszelką niejednoznaczność, nic nie kosztują i chronią przed problemami, gdy tabela zostanie później rozbudowana, dlatego Silktide wymaga ich w każdej komórce nagłówka. Jeśli uznasz, że konkretna tabela jest poprawna w obecnej formie, możesz wynik.