Ограничения программ чтения с экрана - PullRequest
4 голосов
/ 26 августа 2008

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

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

Действительно ли программы чтения с экрана настолько примитивны, что читают текст, который даже не отображается на экране? В идеале, вы не могли бы создать программу чтения с экрана, которая ждала, пока страница не закончила загрузку, применяла все CSS и даже запускала функции загрузки Javascript, прежде чем выяснить, что на самом деле отображается, а затем прочитала это пользователю? Вы могли бы даже определить части страницы, которые представляют собой меню или оглавление, и дать какой-то простой способ для чтения или пропуска этих частей. Я думаю, что сообщество программистов может найти лучшее решение этой проблемы.

Ответы [ 7 ]

3 голосов
/ 26 августа 2008

Действительно ли программы чтения с экрана настолько примитивны, что читают текст, который даже не отображается на экране?

То, что вы должны помнить, это то, что любой анализатор HTML не читает экран - он читает разметку источника. На экране вы видите попытку браузера применить CSS к исходному коду. Это не имеет значения.

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

Вы могли бы, если бы существовал стандарт для такой вещи.

Мне не очень нравятся ограничения для программ чтения с экрана, однако я много читал о том, что они не идеальны. Лучшее, что я могу порекомендовать, это привести ваш источник в порядок - как бы вы его прочитали.

Существует набор свойств CSS , которые вы также должны посмотреть для программ чтения с экрана.

2 голосов
/ 26 августа 2008

Рекомендуемое прослушивание: Hanselminutes

Это интервью со слепым программистом.

1 голос
/ 26 августа 2008

Сколько форм имеют только * или жирный шрифт, чтобы указать пользователю вида, что поле необходимо для правильной отправки? Что делает программа чтения с экрана? Сказать "звезда"?

Ниже приведен пример кода, который полезен при формулировке словесно, но не визуально.

(примечание - в приведенном ниже примере слово «требуется» произносится, но не отображается на экране)

В шаблоне:

<label for="Requestor" accesskey="9"><span class="required">&nbsp;Requestor&nbsp;*&nbsp;</span><span class="hidden">required.</span></label>

В CSS:

#hidden {
    position:absolute;
    left:0px;
    top:-500px;
    width:1px;
    height:1px;
    overflow:hidden;
}

или

.hidden {
    position:absolute;
    left:0px;
    top:-500px;
    width:1px;
    height:1px;
    overflow:hidden;
}

За каждым видимым на каждой странице X / HTML может быть целый параллельный вид.

0 голосов
/ 04 марта 2014

@ Kibbee

То, что вы описываете как «примитив», на самом деле является функцией программ чтения с экрана, которые можно использовать для повышения доступности сайтов. Например, если у вас есть интерфейс с вкладками, реализованный с неупорядоченным списком и элементами списка, то зрячий пользователь обычно будет видеть выбранную вкладку, выделенную другим цветом фона (или другой визуальной обработкой). Слепые пользователи не могут видеть это. Поэтому добавление дополнительного текста на страницу и скрытие его за экраном - это метод, используемый для информирования слепого пользователя о том, какая вкладка активна.

В жаргоне доступности эта информация называется ролью, именем, значением и состоянием.

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

Совсем недавно был добавлен WAI-ARIA, чтобы разрешить эту информацию о состоянии, роли, имени и значении, так что теперь вы можете реализовать ограниченное количество виджетов (например, вкладок) с использованием атрибутов HTML. Однако более общая техника «за кадром» все еще полезна.

0 голосов
/ 24 июня 2013

Вот список альтернатив CAPTCHA, составленный Карлом Гроувсом: Безопасность без CAPTCHA

0 голосов
/ 26 августа 2008

@ robertmyers

CSS содержит тип аудиовизуальной информации, предназначенный специально для управления «рендерингом» вещей, когда программы чтения с экрана выполняют свою работу. Так, для вашего примера, вы должны установить его только как видимый для типа аудиовизуальной информации.


@ Ross

Я прекрасно понимаю, что программа чтения с экрана на самом деле не читает экран, но вы могли бы подумать, что для правильной работы она должна создать модель того, что будет видеть человек со зрением; было бы очень плохо донести до пользователя то, что на самом деле находится на странице. Кроме того, размещение вещей в том порядке, в котором вы их читаете, на самом деле не работает, поскольку зрячий человек быстро сканирует страницу и читает раздел, который он хочет прочитать. Вы ставите контент первым, чтобы пользователь каждый раз слушал их, или вы ставите их в конце, чтобы они могли сначала получить доступ к контенту? Кроме того, приведение контента в порядок означало бы некоторые хитрые CSS, чтобы расположить вещи там, где вы хотели, чтобы они были для зрячих пользователей.


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

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

0 голосов
/ 26 августа 2008

Взгляните на ARIA , это стандарт для разработки доступных приложений rich-web-клиента.

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