Доступная проверка формы - PullRequest
0 голосов
/ 13 октября 2018

Я пытаюсь сделать веб-страницу доступной, используя тэги aria, где это необходимо.

Когда пользователь нажимает Submit, я проверяю поля с помощью jQuery и задаю визуальное свойство для любых недопустимых полей, а также устанавливаю aria-invalid tag to true.

Это все работает, но каков рекомендуемый способ информирования слабовидящего (VI) пользователя о том, что форма недействительна?Я не хочу показывать предупреждение, поэтому в настоящее время визуально ясно, что оно недопустимо, и установлены теги aria, но если пользователь затем не вернется к недопустимому полю, он / она не будет знать, чтонеправильно.

1 Ответ

0 голосов
/ 13 октября 2018

Какое визуальное свойство вы устанавливаете на полях?Просто дать им красную схему?Этого достаточно для визуальных пользователей?Вы не отображаете сообщение об ошибке, связанное с полем?

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

Настройка aria-invalid - хорошее начало, и также хорошо, что вы спрашиваете, как уведомить пользователя программы чтения с экрана, что поле стало недействительным.Если вы не отображаете какие-либо сообщения об ошибках, то, вероятно, у вас должно быть визуально скрытое (*) сообщение об ошибке внутри области aria-live, которое будет обрабатывать объявление сообщения дляпользователь программы чтения с экрана.

(*) Для визуально скрытого текста выполните поиск в Google по классу "sr-only" или посмотрите на Что такое sr-only в Bootstrap 3?

<input aria-invalid="true">
<span id="myerror" aria-live="polite" class="sr-only"></span>

Когда вы проверяете поле и обнаруживаете ошибку, вставьте новый текст в «myerror» <span>, и программа чтения с экрана сообщит об этом.

Однако, как упоминалось ранее, онообычно визуально отображает сообщение об ошибке.Если вы хотите сделать это, вы можете использовать тот же <span aria-live="polite">, но не использовать класс «sr-only», чтобы сообщение об ошибке было видно всем.Затем свяжите ошибку с <input>, используя aria-describedby.

<input aria-invalid="true" aria-describedby="myerror">
<span id="myerror" aria-live="polite"></span>

Взгляните на Критерии успеха WCAG 3.3.1 - Идентификация ошибок .В нем есть несколько советов о том, как обрабатывать ошибки.

Вы также можете взглянуть на « Проверка и восстановление формы с помощью WebAIM и восстановление ошибок »

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...