2016-02-09 2 views
0

Я пытаюсь сделать доступным сложный веб-доступ. Сейчас я работаю над тем, чтобы получить поле формы с проверкой, чтобы хорошо играть с программами чтения с экрана.Форсировать голос, чтобы говорить текст в веб-браузере (OS X)

Общая структура - это входной тег (# input-with-validation) с javascript, который контролирует проверку. Отдельный div (# validation-error) отображается или скрывается в зависимости от состояния проверки ввода.

У меня он работает в основном с JAWS в Chrome, Firefox и IE в Windows, используя комбинацию role = "alert" и aria-live = "assertive".

Я ищу правильный способ заставить это работать с Voiceover на OS X (Chrome/Firefox/Safari или любую их комбинацию). Поведение должно состоять в том, что при каждом нажатии клавиши, когда # input-with-validation имеет фокус, если есть ошибка проверки, он считывает полное сообщение об ошибке проверки пользователю из # validation-error.

Не следует менять фокус с # ввода-в-валидации. Мы можем использовать любую комбинацию атрибутов wai-aria или изменять структуру любым способом, который мы считаем нужным.

В качестве альтернативы, есть способ, которым я могу сделать javascript-вызов, который скажет Voiceover «читать этот текст сейчас»? Это позволит решить почти все проблемы.

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

Примечание: наша страница представляет собой сложное веб-приложение, написанное в основном в режиме React.

+0

Вместо того, чтобы говорить о структуре, почему бы не опубликовать пример? Или суть? Это повторяет поведение. Это не только упростит ответ, но и поможет вам получить ответы. – ChrisCM

ответ

0

При работе над тем, чтобы страницы были доступны для всех групп пользователей, вам следует иметь в виду, что это очень ранние дни практически для каждого элемента управления, который вы можете использовать. Это включает в себя браузеры, библиотеки виджетов, устройства для чтения с экрана; действительно весь набор инструментов.

Если вы проверите и обнаружите, что данная функция ARIA не работает, возможно, вам придется отказаться от определенного браузера/AT-комбо. Не забудьте проверить, есть ли у других подобные проблемы, как поддержка вашей претензии к тому, за кого вы пишете код.

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

Я нашел this bit of testing, но не могу сказать, что ваш конкретный случай был задокументирован. Тем не менее, я говорю, доверяйте своему тестированию. В этом пространстве предстоит много работы.

 Смежные вопросы

  • Нет связанных вопросов^_^