listitem
Oznacza element jako jedną pozycję na liście. Używaj <li> wewnątrz <ul> lub <ol> — natywny element niesie rolę i pozycję w zbiorze. Sięgaj po role="listitem" tylko gdy parowany jest z jawnym role="list" na elemencie niebędącym listą.
Kiedy używać
Wewnątrz <ul> lub <ol> po prostu używaj <li>. Przeglądarka automatycznie eksponuje rolę, licznik i pozycję w zbiorze.
Jedynym praktycznym przypadkiem dla role="listitem" jest sytuacja, gdy zastosowałeś role="list" do elementu niebędącego listą (na przykład żeby nadpisać heurystykę list-style: none w Safari), a elementy wewnątrz są również elementami niebędącymi listą. Każdy element potrzebuje wtedy role="listitem", żeby być policzonym.
Element listitem MUSI znajdować się wewnątrz role="list". Samo role="listitem" bez nadrzędnej listy jest nieprawidłowe i czytniki ekranu je ignorują.
Typowe błędy
role="listitem"na<div>, którego nadrzędny element nie marole="list". Listitem nie ma kontekstu grupy.<li>poza<ul>/<ol>. Nieprawidłowy HTML.- Ustawianie
aria-posinsetiaria-setsizegdy hierarchia DOM już odzwierciedla pozycję. Redundantne. - Mylenie
role="listitem"zrole="option"(używanym wewnątrzrole="listbox"dla wybieralnych pozycji). - Dodawanie
role="listitem"do elementów<li>już wewnątrz<ul>— duplikowanie roli, brak efektu.
Przykład
<!-- Preferowane -->
<ul>
<li>JAWS</li>
<li>NVDA</li>
<li>VoiceOver</li>
</ul>
<!-- Kontener niebędący listą z jawnymi rolami -->
<div role="list" aria-label="Ostatnie aktualizacje">
<div role="listitem">Nowa strona /toolkit/standards/</div>
<div role="listitem">Dokumentacja WCAG 2.2 ukończona</div>
</div>