Вай ария и jquery.html() и jquery.append()

Кажется, я не могу найти какие-либо ресурсы или примеры кода, позволяющие заставить программы чтения с экрана работать (используя wai aria) с помощью jquery о вставке html в dom или добавлении html в dom.

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

ТИА.

Изменить (добавлен код, который не читается NVDA)... что мне не хватает?

<html>
<head>

<script language="javascript" type="text/javascript">
    function addText() {
        document.getElementById("test").innerHTML = "some test";
}
</script>
</head>

<body>
<h2>NVDA</h2>

<div id="testarea">Some test area</div>
<div id="test" aria-describedby="testarea" aria-live="polite" aria-relevant="additions removals" role="region"></div><br />

<input type="button" value="click me" onclick="addText()" />
</body>
</html>

2 ответа

Решение

WCAG

Вот рекомендации WCAG по написанию сценариев на стороне клиента, касающиеся обновления контента: http://www.w3.org/TR/WCAG20-TECHS/client-side-script.html

В частности, пока я нашел

  • SCR21: "Использование функций объектной модели документа (DOM) для добавления содержимого на страницу" (см. http://www.w3.org/TR/WCAG20-TECHS/SCR21.html)

  • SCR-26: "Вставка динамического содержимого в объектную модель документа сразу после его триггерного элемента" (см. http://www.w3.org/TR/WCAG20-TECHS/client-side-script.html)

  • G75: "Предоставление механизма для отсрочки любого обновления контента" (см. http://www.w3.org/TR/WCAG20-TECHS/G75.html).

  • G76: "Предоставление механизма запроса обновления контента вместо автоматического обновления" (см. http://www.w3.org/TR/WCAG20-TECHS/G76.html).

  • G186: "Использование элемента управления на веб-странице, который прекращает перемещение, мигание или автоматическое обновление содержимого" (см. http://www.w3.org/TR/WCAG20-TECHS/G186.html).


ARIA

о ролях ARIA взглянуть на aria-live, aria-relevant, aria-atomic а также alert свойства:

http://www.w3.org/TR/wai-aria/states_and_properties

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

http://www.w3.org/TR/wai-aria/states_and_properties

Указывает, какие вспомогательные технологии получат уведомления об изменении пользовательского агента (добавления, удаления и т. Д.) В реальном регионе. Смотрите связанные арии-атомные.

http://www.w3.org/TR/wai-aria/states_and_properties

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

http://www.w3.org/TR/wai-aria/states_and_properties (если результат ajax делает видимыми или скрытыми некоторые области страницы)

Указывает, что элемент и все его потомки не видны или не воспринимаются любым пользователем, как реализовано автором. Смотрите связанные арии-инвалиды.

http://www.w3.org/TR/wai-aria/roles

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


Другие источники

Статьи о программе чтения с экрана NVDA и доступности на обновлениях AJAX и другие соответствующие ресурсы:

http://tink.co.uk/2009/06/screen-reader-support-for-ajax-live-regions/
http://www.paciellogroup.com/blog/2008/02/ajax-and-screen-readers-content-access-issues/

http://ejohn.org/blog/ajax-accessibility/ (здесь предлагается фрагмент кода о реальном регионе, в котором обновляется контент)

<p id="users-desc">A list of the currently-connected users.</p>
<ol aria-live="polite" aria-relevant="additions removals"
    aria-describedby="users-desc" id="users">  
     ... 
 </ol>

Вот рабочий пример чата с использованием ARIA и пояснения. Обе страницы написаны на французском языке (хотя первая должна хорошо переводиться с помощью Google Translate, а вторая хорошо переведена, я только что проверил); скрипт и ресурсы все на английском;)

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