Кратко
СкопированоСостояние виджета из WAI-ARIA. Нужно для обозначения того, что пользователь ввёл неправильные данные. Например, в них ошибка, они не соответствуют нужному формату, вообще не введены и другие похожие ситуации.
Пример
Скопировано
<label for="drink">Любимый напиток:</label><input id="drink" type="text" name="drink" aria-invalid="false" aria-describedby="error"><span id="error" aria-live="assertive" aria-hidden="true"></span><button>Рассказать</button>
<label for="drink">Любимый напиток:</label>
<input
id="drink"
type="text"
name="drink"
aria-invalid="false"
aria-describedby="error"
>
<span
id="error"
aria-live="assertive"
aria-hidden="true"
>
</span>
<button>Рассказать</button>
В демо показываем ошибку с текстом «Введите один любимый напиток. Например, чай, кофе или вода», когда поле пустое и нажали на кнопку «Отправить».
Скринридер прочтёт код примерно так: «Любимый напиток, редактировать, неверно. Введите один любимый напиток. Например, чай, кофе или вода».
Как пишется
СкопированоДобавьте к тегу aria с одним из следующих значений:
false(по умолчанию) — нет ошибки;true— введены неверные данные;grammar— есть грамматическая ошибка;spelling— есть орфографическая ошибка.
Любое другое значение в этом атрибуте будет обработано как true.
При валидации ошибок не забывайте менять значение aria с помощью JavaScript. Лучше всего сообщать об ошибке после того, как пользователь ввёл свои данные или нажал на кнопку отправки формы.
Этот атрибут раньше использовали для всех тегов и ролей, но сейчас его можно задавать только некоторым интерактивным элементам:
<textarea>,<input>с типамиtext,email,tel,urlили ролиtextbox.<input typeили роли= "checkbox"> checkbox.<input typeили роли= "range"> slider.<input typeили роли= "number"> spinbutton.<select>или ролямcomboboxиlistbox.<td>и<th>или ролиcell.gridcell.radiogroup.application.tree.
Когда у aria значение true, grammar или spelling, хорошо рассказать пользователям, что пошло не так и как правильно ввести данные. С этим помогут атрибуты aria или aria. С их помощью свяжите текст ошибки с элементом, где она допущена.
Как понять
СкопированоЧтобы сделать доступную всем пользователям валидацию форм, недостаточно добавить специальные стили для этого состояния и разместить рядом с нужным элементом текст ошибки. Нужно рассказать об этом и пользователям вспомогательных технологий, которые не видят интерфейс. Здесь приходит на помощь aria.