В свежем issue по Microsoft Foundry Local описали простой, но очень показательный сбой: на главной странице есть кнопка copy в блоке «Start with SDK». Команда копируется, визуально появляется сообщение об успехе, а экранный диктор это сообщение не объявляет.
Для зрячего пользователя это мелочь: увидел «copied» и пошёл дальше. Для пользователя NVDA, JAWS или Narrator это уже неопределённость: кнопка не сработала, команда в буфере, надо нажать ещё раз, или теперь нужно вручную искать изменившийся текст на странице?
Здесь ломается не сама кнопка, а обратная связь после действия. И это касается не только незрячих. Такая же проблема бьёт по людям с когнитивной нагрузкой, по тем, кто работает в спешке, и по любому интерфейсу, где результат действия временный: copy, save, upload, retry, отправка формы.
Что проверять командам:
• сообщение об успехе или ошибке попадает в live region;
• для спокойных статусов подходит
role="status" / aria-live="polite";• для срочных ошибок -
role="alert";• live region уже есть в DOM до того, как туда вставляют текст;
• после нажатия пользователь может понять результат без мыши и без визуального поиска по экрану.
Хороший тест очень простой: нажать кнопку с включённым экранным диктором и не смотреть на экран. Если приходится гадать, действие ещё не закончено для всех пользователей.
Источник: microsoft/foundry-local#1012