Оценка текущего состояния программы чтения с экрана в JavaScript

Последние 2 года я без проблем занимался оптимизацией программы чтения с экрана, но сейчас я разрабатываю приложение, в котором воспроизведение звука является основным компонентом функциональности. Как я понимаю, нет способа отложить воспроизведение, пока работает программа чтения с экрана, и все мои аудиопотоки говорят друг с другом прямо сейчас. Я много раз изучал спецификации WAI-ARIA, и я сомневаюсь, что там есть функция, которую я ищу.

Существует ли какой-либо общий API для чтения с экрана, доступный через JavaScript, который позволил бы мне координировать звук моих приложений, чтобы они не перекрывались с устройствами доступа? Что-то, где я могу просто прослушать обратный звонок или подписаться на событие - что-то вроде window.addEventListener('screenReaderAudioFinished', handlerFn);?

TL; DR Я ищу какой-то способ в JavaScript, чтобы получать уведомления, когда программа чтения с экрана заканчивает говорить. Обратные вызовы, события, что угодно.

2 ответа

Решение

TL;DR То, что вы ищете, не существует в браузере

Звучит так, будто вы разрабатываете игру. Если это правда, то вы могли бы полностью принять происходящие объявления - по сути, реализовать собственную программу чтения с экрана. Это может быть достигнуто путем реализации области приложения с виртуальным "курсором" на элементах управления, которыми управляет клавиатура. Этот виджет календаря показывает, как этого можно добиться как для клавиатуры, так и для управления жестами.

http://dylanb.github.io/datepicker/datepicker.html

Аудио вывод может быть реализован через ваш собственный аудио конвейер. Если у вас есть возможность воспроизводить аудио, то написание этого должно быть достаточно тривиальным, но смешивание вариантов и приоритетов может оказаться сложной задачей.

Вы должны не только объявлять элементы управления, к которым перемещается пользователь, когда они переходят на другие элементы управления, но также должна иметь дорожку "аудио описания", которая описывает, что происходит в анимации, если они важны.

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

Вы должны прочитать аудио контроль части WCAG ( http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-dis-audio.html)

На самом деле, то, что вы хотите, совершенно противоположно тому, что хотели бы люди с ограниченными возможностями.

Для этого необходимо иметь возможность остановить звук в вашем приложении и запустить его снова по требованию.

То, что я хотел бы сделать, это дать элемент управления для приостановки звука в вашем приложении, давая пользователю возможность узнать, что ваше приложение хочет сказать ему что-то с небольшим звуковым сигналом (<3 с), когда режим звука отключен.

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

Другие вопросы по тегам