Доступный, 508-совместимый Ajax Pagination - PullRequest
1 голос
/ 19 ноября 2010

Я пытаюсь сделать свою нумерацию таблиц с поддержкой Ajax 508-совместимой (доступной с использованием JAWS версии 9). У меня есть ячейка заголовка таблицы со ссылкой, которая выполняет ajax-запрос jQuery по щелчку с обратным вызовом для обновления таблицы. Я успешно использовал изображение «spacer» внутри тела ссылки с альтернативным текстом, передающим информацию сортировки пользователям JAWS (примечание: всплывающие подсказки не читаются по умолчанию JAWS), но которые не видят зрячие пользователи Однако, когда пользователь JAWS переходит на ссылку (используя клавиши со стрелками вверх и вниз) и нажимает клавишу ПРОБЕЛ для инициализации события onclick ссылки, у меня возникают две проблемы:

  1. пользователю JAWS не передается информация о том, что содержимое таблицы обновлено,
  2. когда содержимое обновляется, ссылка, которую только что выполнил пользователь JAWS, перечитывается, но она перечитывает текст alt до обновления таблицы, пользователь должен перейти к следующему полю и затем вернуться к ссылка на JAWS для чтения обновленного альтернативного текста.

Советы от любого, кто имеет опыт реализации доступной нумерации страниц Ajax, будет очень признателен! Код ячейки заголовка моей таблицы:

<th title="Sorted column, toggle sort from Ascending to Descending" controller="xxxManagement" id="xxxName" scope="col" class="sortable sorted asc" >
    <a href="/app/xxxManagement/listXXX?max=20&sort=name&order=desc" onclick="toggleLoadingAnimation();jQuery.ajax({type:'POST',data:{'controller': 'xxxManagement','max': '20','sort': 'name','order': 'desc'}, url:'/app/xxxManagement/listXXX',success:function(data,textStatus){jQuery('#xxxList').html(data);},error:function(XMLHttpRequest,textStatus,errorThrown){},complete:function(XMLHttpRequest,textStatus){toggleLoadingAnimation()}});return false;" title="Sorted column, toggle sort from Ascending to Descending">
        Name
        <img src='/app/images/pixel.gif' alt='Sorted column, toggle sort from Ascending to Descending' />
    </a>
</th>

Ответы [ 2 ]

1 голос
/ 19 ноября 2010

К сожалению, я думаю, что короткий ответ - вам не повезло.У меня часто возникают проблемы с сообщением Jaws об обновлении контента, и иногда требуется обновление экрана для обновления виртуального буфера Jaws.Jaws 9 также является несколько устаревшей версией, но вам, возможно, придется столкнуться с ней, если вы пишете внутренние приложения для отдела, который стандартизирован для этой версии.Я бы предложил две вещи.Первый вариант - загрузить версию 12 челюстей, выпущенную в прошлом месяце.Если это решит вашу проблему, может быть, вы могли бы оправдать обновление?Второй вариант - посмотреть WAI-ARIA . Это позволит вам пометить ваши таблицы как живые регионы и автоматически получать обновления.У меня нет никакого опыта с этим, но это может сработать.Я не знаю, насколько хорошо Jaws 9 поддерживает WAI-ARIA, но Jaws 10, кажется, делает довольно хорошую работу.см. эту запись в блоге для сравнения поддержки программы чтения с экрана для WAI-ARIA.Вы всегда можете выполнить перечисленные тесты с помощью Jaws 9, чтобы получить представление о поддержке WAI-ARIA.

0 голосов
/ 19 ноября 2010

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

Если вы используете не JS-браузер или программу чтения с экрана, он просто перейдет на следующую страницу. Если использовать обычный современный браузер, он даст опыт Ajax. Доступность встроена без потери опыта Ajax.

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