listitem
Markerer et element som ét element i en liste. Brug <li> inde i <ul> eller <ol> — det native element bærer rollen og positionen. Brug kun role="listitem" når det parres med en eksplicit role="list" på et ikke-liste-forældrerelement.
Hvornår brug det
Inde i en <ul> eller <ol> bruger man bare <li>. Browseren eksponerer automatisk rollen, antallet og positionen i sættet.
Det eneste praktiske tilfælde for role="listitem" er, når man har anvendt role="list" på et ikke-liste-element (f.eks. for at tilsidesætte Safaris list-style: none-heuristik), og elementerne indeni også er ikke-liste-elementer. Så skal hvert element have role="listitem" for at blive talt med.
Et listitem SKAL befinde sig inde i en role="list". Et role="listitem" uden listeforælder er ugyldigt, og skærmlæsere ignorerer det.
Typiske fejl
role="listitem"på en<div>, hvis forælder ikke er enrole="list". Listelementet mangler gruppekontekst.<li>uden for<ul>/<ol>. Ugyldig HTML.- Angivelse af
aria-posinsetogaria-setsizenår DOM-hierarkiet allerede afspejler positionen. Overflødigt. - Forveksling af
role="listitem"medrole="option"(bruges inde irole="listbox"til valgbare elementer). - Tilføjelse af
role="listitem"til<li>-elementer, der allerede er inde i en<ul>— duplikeret rolle, ingen effekt.
Eksempel
<!-- Foretrukket -->
<ul>
<li>JAWS</li>
<li>NVDA</li>
<li>VoiceOver</li>
</ul>
<!-- Ikke-liste-container med eksplicitte roller -->
<div role="list" aria-label="Recent updates">
<div role="listitem">New /toolkit/standards/ landing page</div>
<div role="listitem">WCAG 2.2 reference complete</div>
</div>