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

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


person Ralph David Abernathy    schedule 22.06.2016    source источник
comment
Ссылка на статью выглядит великолепно, и ответ зависит от параметра совместимости, который вы ищете. Самый широкий диапазон появляется, когда вы используете оба. Вы также можете посмотреть developer.mozilla.org/ en-US/docs/Web/Accessibility/ARIA/   -  person gevorg    schedule 22.06.2016


Ответы (2)


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

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

<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

person aardrian    schedule 22.06.2016
comment
См. аналогичный ответ на соответствующий вопрос по адресу stackoverflow.com/questions/38059140/ - person aardrian; 27.06.2016
comment
aria-required может быть полезно, если вы хотите избежать встроенной проверки браузера. - person Drazen Bjelovuk; 12.06.2020

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

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

person Bernd Bauer    schedule 22.07.2017