Статьи

Лучшие практики для внедрения ARIA

Сегодня, чтобы отметить Международный день людей с ограниченными возможностями , мы подчеркиваем доступность здесь, в Envato Tuts + .

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

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

Хорошо, начнем!

В своей основе ARIA является расширением современных языков веб-разработки (в основном, HTML), что обеспечивает расширенный доступ для конечных пользователей.

Что именно это означает, хотя?

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

Во многих случаях элементы HTML (такие как <div> ) определены слишком широко, чтобы их можно было использовать для навигации по сайту с помощью программы чтения с экрана, или элемент может иметь слишком много возможных значений для интерпретации (например, изображение может также использоваться в качестве кнопки). ARIA добавляет дополнительные атрибуты к элементам HTML, чтобы дать определения, которые могут быть наслоены поверх уже существующего языка разметки, добавляя ясность по мере необходимости.

Вторым важным преимуществом является соотношение элементов. В HTML каждый элемент существует как дочерний и / или родительский элемент другого элемента. Но эта структура не охватывает все семантические отношения. Это может привести к тому, что такие сценарии, как контроллер и элемент, которым он управляет, не будут четко связаны, если они размещены в отдельных контейнерах div. Это становится все более важным в сложных структурах сайта или при изменении DOM с использованием JavaScript.

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

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

Другая ключевая возможность заключается в том, что ARIA не просто расширяет HTML — она ​​также может использоваться для того, чтобы сделать другие, менее удобные для доступа технологии доступными для большего числа пользователей. Это часто относится к людям, использующим AJAX или DHTML для своих веб-приложений.

И действительно, это только царапины на поверхности. Если вы хотите узнать больше о возможностях, атрибутах и ​​других полезных параметрах, взгляните на обзор WAI-ARIA .

Что касается доступности, ARIA стала одним из наиболее широко распространенных стандартов, причем более 25% из первых миллионов веб-сайтов используют его в той или иной степени.

Самым большим преимуществом использования WAI-ARIA является то, что он увеличивает доступность вашего сайта. Пользователи, которые полагаются на программы чтения с экрана, имеют слабое зрение или используют альтернативные интерфейсы для Интернета, получают большую выгоду от реализации — а в некоторых случаях они не смогут использовать веб-сайт в полной мере без него. Для многих доступность рассматривается как основная ценность Интернета, и как разработчики мы должны стремиться предоставлять ее везде, где это возможно.

Помимо аспекта передовой практики, существует также бизнес-стимул для внедрения ARIA. С 2-3% американцев, имеющих ту или иную форму слабовидения , значительная часть большинства рынков выиграет от использования стандарта. Кроме того, наличие реализации сейчас будет выгодно, так как внедрение ARIA все больше растет среди нестандартных веб-интерфейсов и проникает в такие устройства, как интеллектуальные колонки.

До сих пор мы фокусировались на реальных методах реализации в этой серии. Теперь, когда основа того, как добавить ARIA на ваш сайт, давайте рассмотрим некоторые ключевые рекомендации по составлению вашей собственной реализации.

Хорошая реализация ARIA не требует дополнительных атрибутов и ролей при каждой возможности.

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

Цель состоит в том, чтобы обеспечить достаточную дополнительную разметку, чтобы прояснить контекст ваших важных элементов, и все, что за этим, вероятно, не является необходимым.

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

Когда элемент, в который вы хотите добавить ARIA, уже четко определяет, что это такое, вы можете пропустить добавление ARIA к нему. Почему это? Потому что ARIA предназначена для расширения существующего кода, чтобы сделать его более читабельным, но в некоторых случаях код уже ясен, структурирован и прост для понимания.

Это часто случается с людьми, использующими элементы, представленные в HTML5. Например, при использовании элемента <button> вам больше не нужно добавлять атрибут role="button" , поскольку роль уже явно определена HTML-кодом.

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

Многие атрибуты ARIA могут создавать уведомления или оповещения для конечного пользователя, и, если вы используете область содержимого aria-live, которая меняется каждые 10 секунд, возможно, реализация усложнит использование вашего веб-сайта.

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

Начинать с основных областей контента и навигации, а затем медленно распространяться по сайту — это надежная стратегия, которая со временем завершается. Даже если вы запланируете 15 или 30 минут каждый месяц, чтобы добавить немного доступности для вашего сайта, это шаг в правильном направлении.

ARIA не является панацеей от проблем доступности. Крайне важно уделить большое внимание хорошему UX-дизайну, особенно когда речь идет о читабельности текста, как о другом инструменте в вашем наборе специальных возможностей.

Если вы хотите глубже вникнуть в особенности того, как UX и разработка (за пределами ARIA) могут быть использованы для улучшения доступности, ознакомьтесь с Руководством по доступности веб-контента .

Вы также можете ознакомиться с нашим Полным учебным руководством по веб-доступности .

Эта серия о ARIA нашла отклик у многих читателей и вызвала дискуссию в сообществе. Давай так держать! Повышение осведомленности и улучшение этих учебных пособий — лучший способ сделать доступными все возможности.

Вот некоторые из наиболее распространенных вопросов и комментариев, которые появляются в Интернете:

Куча! Большинство современных браузеров в некоторой степени поддерживают функции ARIA, хотя это немного меняется от браузера к браузеру. Если вы хотите увидеть специфику для каждого браузера, вы можете использовать такой инструмент, как Можно ли использовать?

Могу ли я использовать результаты ARIA

Ага! В несколько тем WordPress уже встроена ARIA, но вы можете добавить ее в любую тему, для которой вы можете редактировать исходный код. Кроме того, вы также можете использовать ARIA практически с любой системой управления контентом!

Поскольку ARIA не влияет на рендеринг, ничего! В большинстве случаев, если устройство не поддерживает ARIA, оно будет полностью проигнорировано.

Собирая вместе все статьи из этой серии, я надеюсь, что теперь у вас есть все инструменты, необходимые для улучшения доступности вашего сайта!

Если у вас есть какие-либо вопросы, отзывы или есть исправления для того, что я сказал, пожалуйста, дайте мне знать в комментариях!