Кратко
СкопированоARIA-роль виджета для чекбокса.
Эта роль есть у <input type по умолчанию.
Пример
Скопировано
<div role="checkbox" tabindex="0" aria-checked="false" aria-labelledby="checkbox-name"></div><label id="checkbox-name">Выбери меня</label>
<div
role="checkbox"
tabindex="0"
aria-checked="false"
aria-labelledby="checkbox-name">
</div>
<label id="checkbox-name">Выбери меня</label>
Как пишется
СкопированоДобавьте к тегу role. Лучше, чтобы это были семантически нейтральные теги вроде <div> и <span>.
Атрибут нужен, когда нет возможности использовать возможности HTML. Например, когда это нужно для кастомного элемента. В этом случае скринридер объявит элемент как «чекбокс», без этой роли элемент будет обычным контейнером.
У элементов с role обязательно должен быть атрибут aria.
aria указывает на текущее состояние чекбокса:
false— чекбокс не выбран.true— чекбокс выбран.mixed— несколько чекбоксов выбрано, а какие-то не выбраны.
Чтобы элемент с ролью checkbox получал фокус и к нему можно было переместиться с помощью клавиши Tab, используйте tabindex.
Ещё полезно использовать aria. Этот атрибут связывает кастомный чекбокс и подпись к нему с помощью одинакового ID. Когда пользователь сделает фокус на <div>, он услышит его название.
Как понять
СкопированоЧекбокс или флажок — это элемент формы, который позволяет пользователю отметить один или несколько вариантов.