aria-invalid= "false" для чего используется?

Не разобрался в английской документации зачем этот артибут нужен aria-invalid https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-invalid. Часто в полях input вижу эту настройку aria-invalid="false" . Можете своими словами объяснить что это за атрибут и почему ему false ставят?


Ответы (1 шт):

Автор решения: De.Minov

Атрибут aria-invalid используется для указания того, что значение, введенное в поле ввода, не соответствует формату или значению, которое примет приложение. Это может включать такие форматы, как адреса электронной почты или номера телефонов. aria-invalid также может использоваться для указания того, что обязательное поле пусто.

...

Атрибут должен быть установлен с помощью JavaScript в результате процесса проверки. Если значение определено как недопустимое или выходящее за пределы диапазона, установите aria-invalid="true" и сообщите пользователю об ошибке. Для улучшения пользовательского опыта предоставьте предложения о том, как можно исправить ошибку. Не устанавливайте aria-invalid="true" для пустых обязательных элементов до тех пор, пока пользователь не попытается отправить форму. Возможно, они все еще работают над его заполнением.

...

В настоящее время существует четыре значения: в дополнение к true и false у нас есть grammar, который можно использовать при обнаружении грамматических ошибок, и spelling для орфографических ошибок. Если атрибут отсутствует, или его значение равно false, или его значение представляет собой пустую строку, применяется значение по умолчанию false. Любое другое значение обрабатывается так, как если бы было установлено значение true. Вполне возможно, что в будущем будет добавлено больше значений.

"вырезка" из статьи aria-invalid - Accessibility | MDN / перевод через Яндекс.Переводчик


Если и так не понятно, то:
Если input invalid, то устанавливаем через JS area-invalid="true", если присутствует грамматическая ошибка (допустим), то ставим area-invalid="grammar" или же area-invalid="spelling" - если орфографическая. Ну а если и не то и не другое, то area-invalid="false" или же вовсе удалить атрибут.

→ Ссылка