Przejdź do treści
SilktidePomoc

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

  1. Znajdź każdą komórkę nagłówka <th> na każdej stronie.
  2. Zgłoś każdą komórkę, której brakuje atrybutu scope lub której atrybut scope nie ma jednej z wartości: row, col, rowgroup lub colgroup.

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.

Dowiedz się więcej

Ostatnio zaktualizowano

Czy ta strona była pomocna?