Учебник по специальным возможностям в Интернете и WAI-ARIA
Эмили Льюис (Emily P. Lewis) | 15 июня 2010 г. В настоящее время данные, определяющие количество веб-сайтов, где реализованы специальные возможности, достаточно скудны. Тем не менее, в некоторых отчетах указывается, что процент веб-сайтов, где таких возможностей нет, тревожно высок. Я даже видела такие цифры, как 81 процент. И это еще не данные по всему миру. Что не вызывает сомнений, так это причины этого явления: отсутствие понимания важности специальных возможностей, а также недостаток знаний о том, как реализовать требования по предоставлению специальных возможностей. Между тем, согласно опросу 2008 года среди создателей веб-сайтов, проведенному интернет-журналом List Apart, 46% респондентов утверждали, что имеют знания по специальным возможностям. Конечно, 46% — неплохое число (это почти половина), но я сомневаюсь, что этот показатель отражает реальную картину по всем веб-дизайнерам и разработчикам. Реальный процент может быть и гораздо ниже. Кроме того, даже если человек верит, что знает о специальных возможностях, это еще не значит, что он их реализует. Итак, давайте попробуем это изменить. Что такое специальные возможности в Интернете? В своей основе принципы специальных возможностей в Интернете достаточно просты. Формулировка W3C выглядит так: «Интернет предназначен для всех людей, независимо от оборудования, программного обеспечения, языка, региональных параметров, расположения, а также физических и умственных возможностей. Когда Интернет соответствует этому положению, он доступен для людей с различными слуховыми, двигательными, зрительными и познавательными возможностями.» Если говорить более конкретно, то специальные возможности в Интернете означают следующее.
Однако удовлетворение этих требований оказалось проблематично из-за плохо сконструированных и разработанных веб-сайтов, создающих барьеры для людей с ограниченными возможностями. Приведу только некоторые из этих барьеров.
И все это в основном относится к контенту в Интернете. Когда в веб-приложениях требуется взаимодействие, то проблема еще острее. Для кого предназначены специальные возможности? Когда большинство людей слышит словосочетание «специальные возможности», то следующее слово, которое приходит на ум, обычно «неспособность». Давайте остановимся на этом. Неспособность относится к широкому диапазону расстройств. В отношении специальных возможностей в Интернете необходимо учитывать множество разных типов людей.
И это только часть демографической картины. Специальные возможности в Интернете не ограничены только помощью людям с расстройствами, они также помогают в следующих случаях.
Это тоже еще не полная картина. Специальные возможности в Интернете связаны с сегодняшними рекомендациями и помогают:
Специальные возможности в Интернете действительно способствуют обеспечению доступности веб-сайтов и приложений для всех пользователей и устройств. Итог Несмотря на цифры, упомянутые мной в начале этой статьи, я согласна с Марком Твеном в его отношении к статистике. Поэтому давайте рассмотрим реальный сценарий. Несколько лет назад национальная федерация слепых (National Federation of the Blind) предъявила иск корпорации Target в связи с тем, что веб-сайт корпорации недоступен для людей, использующих вспомогательные технологии. Иск был удовлетворен, и корпорации Target был выставлен счет на 6 миллионов долларов в качестве компенсации за убытки истцов. Некоторые утверждали, что и это решение не поможет реализовать специальные возможности в Интернете в полном объеме, но трудно обосновать цену в 6 миллионов долларов для того, чего можно было бы добиться путем разработки с учетом простых основанных на стандартах технологий специальных возможностей. И давайте не забывать о спросе. Согласно приведенным сведениям об американцах с ограниченными возможностями, существует 51 миллион заблокированных потребителей, могущих потратить 175 миллионов долларов. И это только в США! Нет никаких разумных оснований исключать рынок с такой покупательной способностью, не говоря уже о потенциальных юридических последствиях для веб-сайтов, где не реализованы специальные возможности. Итак, даже если все приведенные ранее причины не убедили вас или вашу организацию начать инвестиции в специальные возможности, то подумайте об упущенной выгоде. Доступный контент: WCAG 2.0 При разработке сайтов или приложений вы в конечном итоге имеете дело с контентом: текстом, изображениями, формами, звуками и т. п. Если специальные возможности вам не знакомы, то хорошо начать с контента. Web Accessibility Initiative(WAI — программа специальных возможностей в Интернете) установила правила специальных возможностей доступа к контенту в Интернете (WCAG), которые должны служить стандартом для специальных возможностей доступа к веб-контенту. Эти правила строятся на четырех принципах, каждый из которых посвящен одному из распространенных барьеров для специальных возможностей доступа к веб-контенту.
Если вы выполняете разработку на основе стандартов, то возможно уже выполняете некоторые из правил, такие как правила для изображений:
В сущности, эти правила означают, что при наличии изображения, содержащего текст, необходимо назначить атрибуту alt значение, соответствующее тексту в изображении:
А также при наличии чисто декоративного изображения, в котором нет никакого текста, атрибуту
Аналогично, возможно вы уже следуете правилам для создания понятного контента, включая указание языка страницы:
Или используете в разметке семантику, а не представление:
Или предоставляете расшифровку для сокращений:
В данной статье я не планирую углубляться в WCAG 2.0 дальше. Я просто призываю вас потратить достаточное время на изучение WCAG, чтобы гарантированно делать контент доступным и перевести разработку на следующий уровень. Если вас устраивает язык технических терминов, обратитесь к спецификации WCAG 2.0. Лично для меня этот язык невыносим, как и язык, которым написаны все спецификации W3C. Я предпочитаю иметь дело с контрольным списком WebAIM, который предоставляет более простое и понятное объяснение. Доступные приложения: WAI-ARIA Как я объяснила, стандарты WCAG сосредоточены на контенте. Кроме того, они в основном имеют отношение к тому, как разметка работает в браузерах и устройствах, предоставляющих специальные возможности. Однако с появлением веб-приложений разработчики значительно раздвинули границы применения HTML по сравнению с его изначальными функциями, создавая с его помощью настраиваемые мини-приложения и используя JavaScript для управления их поведением. Хотя это новое направление в Интернете предоставляет большинству пользователей богатые возможности взаимодействия, эти веб-приложения привели к появлению новых барьеров специальных возможностей. Следующие из этих барьеров наиболее распространены:
Рассмотрим веб-приложение, использующее технологию AJAX для обновления контента. Большинство специальных возможностей, таких как программы чтения с экрана, не сообщают пользователям об изменениях контента. Аналогично, в приложениях, использующих расширенные элементы управления пользовательским интерфейсом, такие как перетаскивание, отсутствуют возможности навигации с помощью клавиатуры. Таким образом пользователи, не могущие использовать мышь, теряют возможность работы с такими элементами управления. На помощь приходят Accessible Rich Internet Applications (доступные полнофункциональные интернет-приложения) (ARIA) WAI, устанавливающие правила для создания более доступного современного динамического контента и расширенных элементов управления. Лично мне нравится такая аналогия: WAI-ARIA подобны микроформату для специальных возможностей. Правила ARIA просто определяют атрибуты разметки, которые предоставляют семантические сведения для специальных возможностей, необходимых для того, чтобы сделать приложения более доступными. Определение структуры. Роли ориентиров документов В современной разметке отсутствует способ семантического указания структуры документа, например области навигации или основного контента. Это определенно затрудняет пользователям программ чтения с экрана переход непосредственно в определенную часть страницы. Фактически такой недостаток структуры и привел к появлению «ссылок пропуска». В ARIA эта проблема разрешается введением ролей ориентиров документов, которые в действительности являются всего лишь специальными значениями, назначенными атрибутам role соответствующих элементов, чтобы указать структуру и способствовать навигации.
Добавление этих пар атрибутов и значений предоставляет пользовательским агентам, например использующим специальные возможности, семантические сведения, необходимые для интерпретации структуры документа и обеспечения соответствующей навигации для пользователя. Более того, эти роли не ограничиваются веб-приложениями. Многие веб-сайты сегодня могут добавлять эти атрибуты для поддержки специальных возможностей, независимо от интерактивности приложений. Например, на сайте, использующем неупорядоченный список ссылок для навигации, можно повысить доступность, добавив атрибут
Что насчет HTML5? Если вы экспериментировали с HTML5 или читали о нем, то возможно отметите некоторое пересечение ролей документов в WAI-ARIA и новых элементов секционирования в HTML5. И будете правы … отчасти. HTML5 на самом деле включает замечательные семантические элементы В настоящее время я нахожу наиболее полезным справочное руководство консалтинговой группы Paciello Group Comparison of ARIA landmark roles and HTML5 structural elements (Сравнение ролей ориентиров ARIA и структурных элементов HTML5). В сущности оно устанавливает, что имеются только следующие прямые эквиваленты:
В таких случаях, если специальные возможности поддерживают HTML5, то соответствующую роль документа ARIA можно пропустить. Будьте внимательны Как всегда при появлении новейших технологий, их обсуждают достаточно бурно. Некоторые серьезно убеждены в том, что роли документов WAI-ARIA напрямую противоречат структурным элементам HTML5и могут привести к последующим конфликтам в пользовательских агентах. Другие, например Paciello Group, видят различия. Кроме того, идут споры по поводу ориентиров документов, поскольку они не проходят проверки HTML 4 и XHTML с помощью средства проверки W3C. Также не выполняются проверки и в HTML5. Итак, что следует делать? Определите свои приоритеты. Вы вообще используете HTML5? Что для вас важнее, проверка или специальные возможности? Навигация с помощью клавиатуры посредством Кроме содействия навигации путем определения структуры документа, WAI-ARIA также помогает разрешить проблемы навигации с помощью клавиатуры, расширяя использование атрибута tabindex. В HTML 4 атрибут WAI-ARIA расширяет этот способ, разрешая назначать атрибут Кроме того, в WAI-ARIA атрибут Рассмотрим это на примере простого древовидного меню. Я хочу, чтобы по самому меню можно было перемещаться с помощью клавиши Tab в потоке элементов документа, поэтому я назначаю атрибуту
Я не хочу, чтобы по вложенным элементам меню можно было перемещаться с помощью клавиши Tab. Перемещаться по ним следует с помощью клавиш-стрелок, поэтому я назначаю атрибуту
Определение ролей мини-приложений Мы уже изучали использование атрибута Специальные возможности уже понимают роли элементов HTML. Например, Для примера с меню в виде дерева я могу применить роль как к главному элементу, так и ко вложенным:
Некоторые самые распространенные роли мини-приложений WAI-ARIA:
Остальные роли см. в полном списке ARIA. Определение состояний и свойств Кроме определения, что делают элементы мини-приложения, WAI-ARIA предоставляет основу для объяснения отношений и состояний мини-приложений, улучшая таким образом взаимодействие пользователей специальных возможностей с этими мини-приложениями. Давайте рассмотрим простую форму, в которой пользователь должен вводить адрес электронной почты. Без ARIA специальные возможности не имеют сведений о том, что некоторое поле является обязательным. Но если мы добавим атрибут мини-приложения
Состояния и свойства ARIA включают атрибуты, назначаемые элементам управления пользовательским интерфейсом, такие как атрибут мини-приложения
Подробное рассмотрение динамических областей Исходя из сегодняшнего изобилия приложений с использованием технологии AJAX, я предполагаю, что динамические изменения и обновления контента стали несчастьем для пользователей специальных возможностей. Например, мини-приложение, использующее технологию AJAX для обновления контента, может не уведомлять программу чтения с экрана о том, что произошло обновление. К счастью состояния и свойства для динамических областей решают эту проблему. Например, при назначении элементу свойства При использовании значения
Значение
И если свойство
Существуют и другие атрибуты динамических областей, которые могут существенно увеличить доступность динамических изменений контента:
Обязательно ли это использовать? WAI-ARIA в настоящее время представляет собой черновик, поэтому могут возникать вопросы, насколько обязательно его использовать. В действительности нет однозначного ответа на этот вопрос, но также нет и негативных последствий реализации WAI-ARIA, за исключением проблем проверки. С моей личной точки зрения, я не вижу причин не использовать это, когда это целесообразно для вас, вашего контента и вашего приложения. Некоторые даже предлагают считать WAI-ARIA «прогрессивным расширением» специальных возможностей. Это уже поддерживается в следующих инструментах:
А также, как и многие в этой сфере, я верю в новые решения. Я также стараюсь изучать и реализовывать новые технологии по мере их появления, не только для поиска потенциальных усовершенствований для моих сайтов, но также и для поддержания актуальности собственной квалификации. Дополнительные материалы В этой статье мы лишь поверхностно рассмотрели специальные возможности и WAI-ARIA. Существует еще многое, что стоит узнать. Надеюсь, что я достаточно заинтересовала вас, и советую также изучить следующие материалы.
Инструменты Следующие материалы помогут в путешествии по специальным возможностям. |