Является ли использование jQuery 508 совместимым?

Я работаю над сайтом asp.net, который должен быть раздел 508. Я смущен, как будто я должен использовать JavaScript или вообще не использовать.

Можно ли использовать jQuery slideUp()/slideDown() для отображения/скрытия разделов? Могу ли я использовать jQuery UI datepicker и модальные диалоговые окна?

Ответ 1

Короче да. В целом команда jQuery UI очень хорошо осведомлена о проблемах доступности и использует ARIA (http://www.w3.org/WAI/intro/aria) для большинства, если не для всех своих виджетов.

Говоря, однако, будучи совместимыми с 508 и "доступными", это разные вещи. Существуют различные стандарты, причем соответствие "508" является наименее строгим, чем вы можете быть.

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

Применимое правило таково:

(l) Когда страницы используют языки сценариев для отображения содержимого или создавать элементы интерфейса, информацию, предоставленную scriptдолжны быть идентифицированы функциональным текстом, который может быть прочитан вспомогательным технология

Виджет диалогового окна jQuery, например, использует разметку на странице для содержимого диалогового окна, поэтому он доступен для вспомогательных технологий (AT). Независимо от того, правильно ли он интерпретирует контент, это не обязательно ваша забота, по крайней мере, в отношении соответствия 508. Это связано с тем, что существуют различные типы AT в сочетании с различными ОС, браузерами и т.д.

В случае показа и скрытия контента технически скрытый контент интерпретируется AT после его отображения. Проблема здесь в том, как AT знает, когда изменяется DOM. Это зависит от AT. Здесь вы можете динамически обновлять состояния ARIA для информирования AT, но AT не обязательно будет уважать и/или применять стандарты ARIA.

Ответ 2

Немного поздно вечеринке, но эта ссылка появилась в Google, поэтому я подумал, что добавлю некоторые мысли. Этот вопрос есть много, чтобы рассмотреть.

Группа SSB Bart отлично описала состояние элементов управления jQuery Ui.

https://www.ssbbartgroup.com/blog/2013/07/03/jquery-ui-accessibility-analysis/

Однако, начиная с этого сообщения, я видел изменения, которые были сделаны, например, для элемента управления вкладками. Когда я делаю быстрые тесты любых крупных сайтов, таких как jQuery UI и даже bootstrap/foundation, которые утверждают, что они "полностью доступны", я обычно могу найти проблемы.

При тестировании на доступность я обычно использую следующую общую методологию.

  • Запустите автоматизированные тесты, такие как http://wave.webaim.org/toolbar/ и http://squizlabs.github.io/HTML_CodeSniffer/
  • Проверьте, что все доступно для клавиатуры и имеет индикатор фокусировки
  • На самом деле запустите программу чтения с экрана, например, Jaws или Voice, сравнивая с базовой линией, например, примеры из http://whatsock.com/
  • Проверка элементов управления использует общепринятые рекомендации по использованию клавиатуры: http://access.aol.com/dhtml-style-guide-working-group/

При этом вы можете увидеть, где каждый элемент управления jQuery Ui терпит неудачу и не делает этого. Это не ужасно, они пытаются, но в нем есть некоторые дыры и почти все основные рамки.

Относительно скольжения и скольжения вниз, что не имеет значения для себя. Важно то, что кнопка, которую вы используете, является доступной для клавиатуры, и вы используете правильные теги арии, такие как скрытый от арии ect. См. http://www.w3.org/TR/wai-aria/states_and_properties для указания скрытого содержимого.