Можно ли использовать javascript для определения, запущена ли программа чтения с экрана на компьютере пользователя? - PullRequest
24 голосов
/ 10 октября 2011

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

Ответы [ 4 ]

12 голосов
/ 10 октября 2011

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

Обратите внимание, что не все пользователи программы чтения с экрана используют преобразование текста в речь; многие используют вывод Брайля. Кроме того, другие типы инструментов специальных возможностей, такие как средства выделения содержимого и приложения голосового ввода, используют те же методы и API (например, DOM, MSAA), что и средства чтения с экрана, поэтому любой метод, «обнаруживающий средство чтения с экрана», вероятно, обнаружит и их. Вы не можете предполагать, что это означает, что пользователь полностью слеп и использует только речь.

В настоящее время аудио теги не являются общедоступными, разные браузеры имеют разные уровни поддержки доступности - см. HTML5 Accessibility и прокрутите вниз до аудио, чтобы узнать больше о текущей поддержке. Я видел несколько страниц, которые добавляют элементы управления на основе HTML5 плюс javascript после звукового тега, чтобы они могли предоставить свой собственный пользовательский интерфейс, чтобы пользователи клавиатуры или программы чтения с экрана могли воспроизводить / останавливать звук по мере необходимости. (В конце концов, когда браузеры догоняют, это не нужно).

Что касается общей доступности, то WCAG 2.0 ( Руководство по доступности веб-контента ) рекомендует, чтобы любой звук, который воспроизводился автоматически более 3 секунд, имел доступные средства для приостановки или остановки звука. (Я бы пошел еще дальше и рекомендовал бы не использовать какой-либо автоматический звук - при просмотре вкладок часто невозможно определить, с какой вкладки идет звук.)

3 голосов
/ 18 апреля 2013

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

Скрытая «ссылка для пропуска навигации» (http://webaim.org/techniques/skipnav/), если она будет сфокусирована, будет одним из способов определить, использует ли кто-то программу чтения с экрана.

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

2 голосов
/ 07 августа 2012

Вы не можете обнаружить программы чтения с экрана, используя JavaScript, вы не можете обнаружить программы чтения с экрана, используя любую клиентскую технологию. Вы можете обнаружить программное обеспечение, на котором запущен клиент MSAA , используя Flash. Подробнее о том, как это работает и почему это не полезно и не должно использоваться для обнаружения программ чтения с экрана, можно прочитать здесь: Осторожно, разработчик: использование Flash для обнаружения программ чтения с экрана

0 голосов
/ 10 октября 2011

Перейдите по ссылке http://northtemple.com/2008/10/07/javascript-and-screen-readers Ваша проблема точно решена.

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