option
Маркира елемент като избираем елемент в списъчно поле. Опцията ТРЯБВА да е наследник на listbox (пряко или чрез aria-owns). Използвайте нативния <option> в <select>; прибягвайте до role="option" само при изграждане на потребителско listbox или изскачащо меню на combobox.
Кога да се използва
Използвайте <option> в <select>. Нативният елемент носи цялото поведение безплатно.
role="option" е за елементи в потребителски role="listbox" — обикновено изскачащото меню на combobox или инструмент за избор на множество стойности, който нативният елемент не може да стилизира. Всеки елемент с опция ТРЯБВА да има уникален id, за да може родителският combobox или listbox да го посочи чрез aria-activedescendant.
Ако опцията представлява избор по подобие на отметка в listbox с многократен избор, задайте aria-selected="true". Използвайте aria-checked само за рядкия шаблон „опция с отметка” (повечето listbox с многократен избор използват aria-selected).
Чести грешки
role="option"извън родителски елемент сrole="listbox". Екранният четец обявява осиротяла опция без групов контекст.- Липсващ
idна опция, която трябва да бъде целта наaria-activedescendant— combobox не може да я посочи. - Превключване на CSS клас
.selectedбез актуализиране наaria-selected. Визуалното дърво и дървото на достъпността не съвпадат. aria-selected="false"за всяка опция в listbox с единичен избор, при положение че една трябва да е избрана по подразбиране. Задайтеaria-selected="true"за една от тях.- Опции, които сами по себе си са бутони или връзки (
<a role="option">). Семантиката на опцията замества семантиката на връзката в помощната технология, но поведението при натискане остава — объркващо за потребителите.
Пример
<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>