Когда использовать требуемый атрибут против атрибута, требуемого арии для входных элементов?
Я пытаюсь сделать форму доступной. Должен ли я внести свой вклад как в 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