Przejdź do treści
A11ySignal
krytycznyWCAG 1.3.1 · A

Każdy niepusty element <td> w dużej tabeli musi mieć powiązany nagłówek tabeli

td-has-header

Wszystkie niepuste komórki danych w tabelach danych większych niż 3 na 3 mają jeden lub więcej nagłówków tabeli.

Kryterium, które za tym stoi

1.3.1 Informacje i relacje

Struktura, którą pokazujesz układem — nagłówki, listy, tabele, grupy — musi istnieć także w kodzie.

Poziom A · EN 301 549 § 9.1.3.1

Po co jest to sprawdzenie

Osoby korzystające z czytnika ekranu nawigują po nagłówkach i obszarach. Jeśli twoje nagłówki to ostylowane `div`-y, tej nawigacji nie ma, a strona staje się jednym długim akapitem.

Co zwykle je wywołuje

  • błąd`<div class="h2">` zamiast `<h2>`.
  • błądTabela układu bez `<th>` albo tabela danych bez komórek nagłówkowych.
  • błądPowiązane przyciski radiowe bez `<fieldset>` z `<legend>`.
  • błądWizualna lista zbudowana ze znaczników `<br>`.

Jak to naprawić

  • róbUżyj elementu, który znaczy to, co masz na myśli, a potem go ostyluj. Najpierw semantyka, potem CSS.
  • róbDaj tabelom danych `<th scope="col">` albo `scope="row"`.
  • róbZgrupuj powiązane pola w `<fieldset>` i nazwij grupę w `<legend>`.
  • róbDodaj obszary: `<main>`, `<nav>`, `<header>`, `<footer>`.

Jak to jest raportowane

A11ySignal zgłasza to z wagą krytyczny. Każdy błędny element ma swój selektor CSS i kod, który zawiódł, więc trafisz prosto do właściwej linii, zamiast jej szukać. Deque publikuje szczegóły na poziomie silnika:

https://dequeuniversity.com/rules/axe/4.13/td-has-header

Sprawdzenie zaimplementowane w axe-core 4.13.0, © Deque Systems, MPL-2.0.

Inne sprawdzenia dla 1.3.1