г. Москва, ул. Дубининская, д. 57, стр. 2, пом. III, офис 208.29
info@maximusmedia.pro
г. Москва, ул. Дубининская, д. 57, стр. 2, пом. III, офис 208.29

Разметка ARIA: что это

Разметка ARIA (Accessible Rich Internet Applications) — это специальный набор атрибутов, разработанный консорциумом W3C для улучшения доступности веб-приложений и сайтов для людей с ограниченными возможностями, особенно для пользователей, использующих экранные читалки и другие ассистивные технологии.

20
Время чтения: 2 минуты
Дата публикации

Что такое ARIA

ARIA (Accessible Rich Internet Applications) — это спецификация для добавления семантической информации в HTML-код, чтобы помочь вспомогательным технологиям (экранным читалкам, голосовым интерфейсам и т. д.) лучше понимать структуру и поведение элементов на веб-странице.

Она особенно полезна в ситуациях, когда используются кастомные элементы интерфейса (например, выпадающие списки, вкладки, модальные окна), которые не имеют стандартного HTML-аналогa.

Зачем нужна ARIA

Стандартные HTML-элементы вроде <button>, <input>, <a> уже обеспечивают базовую доступность, но если вы создаете собственные элементы с использованием <div> или <span>, они становятся невидимыми или непонятными для ассистивных технологий.

ARIA позволяет:

  • Обозначить роль элемента (role)
  • Указать его текущее состояние или свойства (aria-*)
  • Связать элементы логически

Основные атрибуты ARIA

Атрибут Назначение
role Определяет, что делает элемент (например, button, dialog, navigation)
aria-label Устанавливает текстовую метку для элемента
aria-labelledby Связывает элемент с другим элементом, задающим его название
aria-hidden Указывает, виден ли элемент для читалки (независимо от видимости на экране)
aria-expanded Показывает, развернут ли элемент, например, в аккордеоне или меню
aria-checked Применяется к элементам типа чекбоксов или переключателей

Примеры использования

Пример 1: Кнопка из <div> с ARIA



<div role="button" tabindex="0" aria-pressed="false" aria-label="Показать меню">

☰

</div>

Здесь role=”button” сообщает, что элемент работает как кнопка, а tabindex=”0″ делает его фокусируемым с клавиатуры.

✅  Пример 2: Модальное окно



<div role="dialog" aria-labelledby="dialogTitle" aria-describedby="dialogDesc">

<h2 id="dialogTitle">Подтверждение удаления</h2>

<p id="dialogDesc">Вы уверены, что хотите удалить файл?</p>

<button>Да</button>

<button>Нет</button>

</div>

Экранная читалка прочтет заголовок и описание при открытии диалога.

  Пример 3: Развертывающееся меню



<button aria-expanded="false" aria-controls="menuList" id="menuBtn">Меню</button>

<ul id="menuList" hidden>

<li><a href="#">Пункт 1</a></li>

<li><a href="#">Пункт 2</a></li>

</ul>

Здесь aria-expanded показывает, развернуто ли меню, а aria-controls связывает кнопку с соответствующим списком.

⚠️ Рекомендации по использованию

  1. Используйте ARIA только там, где не хватает стандартного HTML. Лучше <button> с нативным поведением, чем <div role=”button”>.
  2. Не злоупотребляйте aria-hidden=”true”, это скроет элемент от читалок, даже если он визуально виден.
  3. Поддерживайте логику клавиатуры. Например, если это role=”menu”, нужно обеспечить навигацию с клавиатуры.
  4. Тестируйте доступность с помощью экранных читалок, таких как NVDA, VoiceOver, JAWS.

Заключение

ARIA — это мощный инструмент для разработки доступных пользовательских интерфейсов. Он позволяет “объяснить” интерфейс тем пользователям, которые взаимодействуют с сайтом не глазами и мышкой, а через голос или тактильные устройства. Однако при его применении важно соблюдать баланс: ARIA дополняет HTML, но не заменяет его.

Дмитрий Ларионов
Основатель маркетингового агентства полного цикла Maximus Media

Напишем или позвоним Вам первыми в течение 10 минут

    Другие термины
    Description

    Description в SEO — это краткое текстовое описание содержимого веб-страницы, предназначенное в первую очередь для поисковых систем и пользователей. Оно размещается в специальном HTML-теге <meta name=”description”> внутри кода страницы и, как правило, отображается под заголовком страницы (title) в результатах поисковой выдачи (например, в Google или Яндексе).

    36
    Время чтения 1 минута
    Витальный запрос

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

    21
    Время чтения 1 минута
    Пагинация

    Пагинация — это процесс разбиения содержимого на отдельные страницы для удобства отображения и навигации. Этот термин широко используется в веб-разработке, особенно на сайтах с большим объемом данных, таких как интернет-магазины, новостные порталы и блоги.

    413
    Время чтения 1 минута
    Футер

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

    480
    Время чтения 1 минута
    Структурированные данные

    Структурированные данные на сайте — это специальная разметка содержимого страницы, которая добавляет «машиночитаемую» семантику к обычному HTML. Благодаря ей поисковые системы и другие автоматизированные сервисы (например, голосовые ассистенты) лучше понимают, что именно означает тот или иной фрагмент текста, изображения или других элементов страницы.

    94
    Время чтения 2 минуты
    Инвайт

    Инвайт — это производное от английского слова invite, что в переводе означает «приглашение». В современном русскоязычном интернет-пространстве термин “инвайт” чаще всего используется в контексте ограниченного доступа к каким-либо цифровым сервисам, платформам или мероприятиям.

    39
    Время чтения 1 минута
    ×
    Владислав Панов
    Владислав Панов Здравствуйте! Готов помочь вам. Напишите мне, если у вас появятся вопросы.
    +7 (123) 456-78-90 info@maximusmedia.pro Отдел работы с клиентами
    ул. Дубининская, д. 57, стр. 2, пом. III, офис 208.29, Москва, Московская область, 115054, Россия