Przejdź do treści
A11ySignal
poważnyWCAG 1.3.1 · A

Elementy <li> muszą być zawarte bezpośrednio w <ul> lub <ol>.

listitem

Elementy <li> są używane semantycznie.

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ą poważny. 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/listitem

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

Inne sprawdzenia dla 1.3.1