Программы для чтения с экрана для тестирования доступности веб-сайта

В комментариях упоминается использование алгоритма Дейкстры, и на самом деле есть способ сделать эту работу. Если мы создадим новую «корневую» вершину в графе и соединим каждую другую вершину с ним направленным ребром, мы сможем запустить модифицированный алгоритм Дейкстры от корня наружу, который завершится, когда инверсии данного пути превысят n. Важно отметить, что мы должны разрешить повторное посещение каждой вершины в реализации, поэтому ключ каждой вершины в нашей очереди приоритетов будет не просто node_id, а кортежем (node_id, inversion_count), представляющим эту вершину на ее i -ой визит. При этом мы неявно делаем n копий каждой вершины, по одной на каждое потенциальное посещение. Визуально мы фактически делаем n копии нашего графа и переводим ребра между каждой (black_vertex, white_vertex) парой для соединения между i и i+1 -ым графами инверсии. Мы запускаем алгоритм, пока не достигнем пути с n инверсиями. В качестве альтернативы, мы можем соединить каждую вершину на n -ом графе инверсии с «вершиной» вершины и запустить любой обычный алгоритм поиска пути на этом графе без изменений. Это будет выполнено в O(n(E + Vlog(nV))) время. Вы можете оптимизировать это довольно сильно, а также рассмотреть возможность использования A * вместо эвристики smallest_inversion_weight * (n - inversion_count).

Кроме того, меня поразила другая идея, касающаяся использования знаний об требовании инверсии для ускорения поиска, но я не смог найти способ реализовать его без превышения времени O(V^2). Идея состоит в том, что вы можете использовать цепочку сложений (например, двоичное возведение в степень), чтобы разложить кратчайший n -инверсионный путь на два меньших пути, а также промыть и повторить в режиме «разделяй и властвуй». Проблема в том, что вам нужно будет построить таблицы для кратчайшего пути i -инверсии из любых двух вершин, которые будут O(V^2) записей на i и O(V^2logn) в целом. Чтобы построить каждую таблицу, для каждой записи в предыдущей таблице вам нужно добавить V других путей, так что это будет O(V^3logn) время в целом. Может быть, кто-то еще найдет способ объединить эти две идеи в алгоритм времени O((logn)(E + Vlog(Vlogn))) или что-то в этом роде.

18
задан FelipeAls 14 June 2012 в 17:26
поделиться

3 ответа

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

Обратите внимание, что это довольно длинный пост, поэтому я кратко изложил его в верхней части. Таким образом, если вы хотите, чтобы ваш сайт был в основном доступен, используйте NVDA, если вы хотите, чтобы слепые люди, работающие в правительстве, могли использовать ваш сайт для проверки с помощью Jaws, если вы хотите быть более безопасным, используйте Window -Eyes и Orca для тестирования.

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

Jaws - наиболее широко используемая программа для чтения с экрана. Вы можете скачать демоверсию, которая будет работать в течение 40 минут, а затем потребовать перезагрузки, если вы захотите запустить ее снова. Если вы пытаетесь обеспечить соответствие стандарту 508, возможно, это именно тот путь, поскольку Jaws - программа для чтения с экрана, используемая правительством США.

Window-Eyes - вторая по популярности программа для чтения с экрана. У меня нет никакого опыта с этим, но мне сказали, что это довольно хорошо, насколько доступность интернета идет. Orca - программа для чтения с экрана, встроенная в gnome, которая работает с Firefox и Linux. Он встроен в Ubuntu. Я попробовал это около полутора лет назад, и это было абсолютно ужасно, но мне сказали, что стало лучше.

20
ответ дан 30 November 2019 в 08:27
поделиться

NVDA является бесплатной опцией:

NonVisual Desktop Access (NVDA) - бесплатная программа чтения с экрана с открытым исходным кодом для операционной системы Microsoft Windows. Обеспечивая обратную связь через искусственную речь и шрифт Брайля, он позволяет слепым или людям с нарушениями зрения получать доступ к компьютерам под управлением Windows не дороже, чем зрячий. Основные функции включают поддержку более 20 языков и возможность полностью работать с USB-накопителя без установки.

3
ответ дан 30 November 2019 в 08:27
поделиться

Это справедливое предположение?

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

есть какой-нибудь бесплатный / дешевый экран читатели клиенты я могу использовать для тестирования или онлайн-эмуляторы?

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

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

3
ответ дан 30 November 2019 в 08:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: