Когда форма показывает ошибки, но не озвучивает их, это уже поломка сценария, а не косметика.
На VA.gov в конце марта завели отдельный epic по доступности ошибок на страницах проверки формы, а 22 апреля он ещё обновлялся. Сигнал очень живой и, к сожалению, типичный: сообщение об ошибке может не объявляться программой экранного доступа, фокус после нажатия Edit уходит не к полю для правки, а на кнопку ниже, а при нескольких ошибках пользователь может услышать только последнюю.
Для незрячего пользователя это выглядит так: форма говорит, что что-то не так, но не помогает быстро понять где именно, что именно сломано и как туда попасть. Вместо исправления человек начинает вручную обходить страницу назад и искать нужный блок. На длинных формах это уже не неудобство, а реальный барьер.
Отдельно показательно, что проблема там не одна, а целый набор:
- ошибки не всегда объявляются после отправки;
- нет нормальной сводки всех ошибок сверху страницы;
- ссылки к полям работают ненадёжно;
- динамические изменения внутри аккордеонов могут проходить для JAWS вообще без озвучивания.
Практический вывод для команд простой: недостаточно просто покрасить поле в красный и вставить alert в DOM. Нужно, чтобы после отправки фокус попадал в правильное место, сводка ошибок была наверху и вела к каждому проблемному полю, а весь сценарий проверялся руками с JAWS, NVDA, VoiceOver и клавиатурой.
Иначе форма формально сообщает об ошибке, но фактически оставляет человека разбираться с ней в одиночку.
Источник: VA.gov issue #6044
Post #33
6