option
Markerar ett element som ett valbart objekt inuti en listbox. Ett alternativ MÅSTE vara en ättling till en listbox (direkt eller via aria-owns). Använd det inbyggda <option> inuti <select>; nå för role="option" enbart när du bygger en anpassad listbox eller en combobox-popup.
När ska det användas
Använd <option> inuti <select>. Det inbyggda elementet bär allt beteende utan extra kod.
role="option" är för objekt inuti ett anpassat role="listbox" — vanligtvis popup-listan för en combobox eller en flervalsmeny som det inbyggda elementet inte kan formateras för. Varje option-element MÅSTE ha ett unikt id så att den överordnade comboboxen eller listboxen kan referera till det via aria-activedescendant.
Om ditt alternativ representerar ett kryssruteliknande val i en flervals-listbox, sätt aria-selected="true". Använd aria-checked enbart för det sällsynta mönstret med alternativ-och-bockmarkering (de flesta flervals-listboxar använder aria-selected).
Vanliga fel
role="option"utanför ettrole="listbox"-förälderelement. Skärmläsaren meddelar ett föräldrarlöst alternativ utan gruppkontext.- Saknat
idpå ett alternativ som måste varaaria-activedescendant-mål — comboboxen kan inte peka på det. - Att växla en CSS-klass
.selectedutan att uppdateraaria-selected. Den visuella vyn och tillgänglighetsträdet stämmer inte överens. aria-selected="false"på alla alternativ i en enkelvalslistbox där ett ska vara standard. Sättaria-selected="true"på ett.- Alternativ som i sig är knappar eller länkar (
<a role="option">). Alternativsemantiken skriver över länksemantiken i hjälpmedelsverktyget, men klickbeteendet kvarstår — förvirrande.
Exempel
<label id="lang">Language</label>
<ul
role="listbox"
aria-labelledby="lang"
tabindex="0"
aria-activedescendant="lang-2"
>
<li id="lang-1" role="option" aria-selected="false">English</li>
<li id="lang-2" role="option" aria-selected="true">Spanish</li>
<li id="lang-3" role="option" aria-selected="false">French</li>
</ul>