2009-08-10 7 views
4

Один из моих коллег пришел ко мне с проблемой в одном из своих проектов. Не могу помочь ему, из-за моего отсутствия опыта работы с программами для чтения с экрана и технологией, я обращаюсь к вам, к гордой и могучей массе пользователей SO.Доступность с программами для чтения с экрана (например, челюстями)

Резюме для пользователей TLDR: Наши сетки в UpdatePanels не работают в экранных устройствах. Может быть, что-то с набором инструментов AJAX?

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

Вот что я получил от моего коллеги (выделено мной, а не его, в надежде улучшить scannability):


Я в настоящее время работает над доступностью и я столкнулся с некоторыми проблемами когда он пришел к страницам с использованием Ajax. Я использовал считыватели экрана для проверки доступности страницы . Считыватель экрана пытается идентифицировать или интерпретировать то, что отображается на экране с помощью аудио (текст-речь), а затем передает информацию пользователю. Это очень полезно людям, которые являются слепыми, с дефектом зрения, безграмотный или обучение неработающим. Вот краткое описание работы скрин-ридера . Считыватель экрана принимает снимок веб-страницы и размещает содержимое в виртуальном буфере. Считыватель экрана использует виртуальный буфер, чтобы позволить пользователю перемещаться по содержимому. Если содержимое изменено с помощью скриптов , тогда это должно быть , переданное на устройство чтения с экрана. Без механизма, чтобы обнаружить то, что изменилось, пользователь чтения с экрана может не быть уведомлен о том, что содержимое изменилось, или только получать уведомления , что содержание было изменено, но необходимо будет читать все документ, чтобы точно узнать, что изменилось . Для тестирования я использовал два типа считывателей экрана, Access To Go 3.0.76 и Jaws 10.0.

Мои данные во время тестирования были, что на страницах, которые имеют GridView внутри панели обновления, типичный страницу поиска, например, читатель экрана бы читать, как обычно, все информация на странице до поиск (критерии поиска). На нажав кнопку поиска, наш сетчатый сет , содержащий заголовки столбцов , и создается результирующий набор. Считыватель экрана не получает информацию , которая сообщила бы, что новое содержание было записано на страницу , поэтому слышится тишина.сотрудником Microsoft, которая включает вставки скрытой IFrame внутри панели обновления , что бы вызвать читателя на экрана, чтобы перейти к обновленному содержанию и читать метод был рекомендован. Веб-сайт объясняет, как достичь доступность только с помощью элемента управления UpdatePanel . Я протестировал эту технику и не добился успеха в создании . Он отображает iframe, но экранный ридер по-прежнему не знает о обновлении страницы.

Наша AjaxControlToolKit версия 1.0.11119.0 и не обеспечивает ARIA (Rich Internet Удобный доступ приложений) живая область разметки. Живые регионов указывают, что изменения контента могут возникать без элемента, имеющего фокус, и предоставляет вспомогательную техническую информацию о том, как обрабатывать эти обновления содержимого. W3C рекомендовал семантическое о том, как организовать содержание страницы, в основном давая роль каждого элемента на странице, так что вспомогательные технологии могут передать соответствующую информацию пользователю. Я не уверен, что это подразумевает в условиях, где мы технологически.

ответ

1

AJAX веб-страниц не являются проблемой для экрана читателей, по крайней мере, для челюстей, и что составляет около 2 лет назад (я разработал несколько веб-приложений с большим количеством AJAX, которые работали с большой Челюсти).

В любом случае, вы должны использовать хороший экран CSS-макета и HTML-привязки для лучшей доступности (название, alt, tabindex, label).

В любом случае, если вы действительно беспокоитесь о доступности, вы должны загрузить все через iframe и использовать обратный вызов для обновления родителя (небольшой тег <script>, который обновляет родительский контейнер DIV содержимым iframe). Также смотрите PORK.Iframe (http://schizofreend.nl/Pork.Iframe).

EDIT: Там хороший материал есть: Sitepoint article about AJAX and screenreaders

+0

Спасибо за сообщение Adrian! Я собираюсь передать это своему коллеге и попросить его попробовать его проект, и, надеюсь, он решает проблему. Я дам Вам знать! –

+1

Похоже, что решение iframe и script в нашем случае не сработало. Сетка приводит к признанию отказа UpdatePanel. Мы работаем над альтернативным решением для отображения наших результатов без использования UpdatePanel. Если это сработает, я отправлю это как ответ. –

1

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