Когда использовать требуемый атрибут против атрибута, требуемого арии для входных элементов?

Я пытаюсь сделать форму доступной. Должен ли я внести свой вклад как в required и в aria-required атрибуты или только один?

<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" required>

Или как это?

<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" aria-required="true">

Или как это?

<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" aria-required="true" required>

В статье " Доступные формы HTML5 - требуемые входы" утверждается, что лучше всего реализовать оба варианта.

Ответы

Ответ 1

Когда Джон Фолио написал эту статью в 2012 году, это было очень верно. Вам нужны были оба.

Сегодня это уже не так. Я могу взять ваш пример, поместить его в CodePen и проверить его в JAWS и NVDA (извините, без VoiceOver сегодня):

<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" required>

Вы с удовольствием узнаете, что как NVDA, так и JAWS объявляют поле в случае необходимости.

Короче говоря, вам больше не нужна aria-required. Просто используйте required.

Вы можете прочитать немного больше об атрибутах ARIA, которые вы можете сбросить в этой статье Стивом Фолкнером (одним из редакторов спецификации ARIA) с 2015 года: http://html5doctor.com/on-html-belts-and-aria- брекеты /

Ответ 2

HTML5 теперь имеет необходимый атрибут, но требуемая ария по-прежнему полезна для пользовательских агентов, которые еще не поддерживают HTML5.

Ссылка: использование атрибута aria в MDN