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

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

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

440
Время чтения: 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 минут

    Другие термины
    Микроразметка

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

    803
    Время чтения 1 минута
    Strict HTTPS

    Strict HTTPS (дословно: строгий HTTPS) — это режим работы веб-сайта, при котором все подключения пользователей к сайту должны осуществляться только по защищенному протоколу HTTPS, без каких-либо исключений или автоматических переходов с HTTP. Он используется для обеспечения максимальной безопасности передачи данных между клиентом (браузером) и сервером.

    450
    Время чтения 1 минута
    Bootstrap

    Bootstrap — это популярный фреймворк для разработки адаптивных и кроссбраузерных веб-сайтов и веб-приложений. Он предоставляет готовый набор HTML-, CSS- и JavaScript-компонентов, которые позволяют быстро создавать интерфейсы без необходимости писать всё с нуля.

    424
    Время чтения 1 минута
    Анкор-лист

    Анкор-лист — это список текстовых ссылок (анкорных текстов), которые используются для оптимизации веб-сайта и его продвижения в поисковых системах.

    936
    Время чтения 1 минута
    GET-параметр

    GET-параметр (или query-параметр) — это часть URL, через которую веб-клиент (браузер) передаёт серверу небольшие данные при выполнении HTTP-запроса методом GET. Разберём подробно.

    599
    Время чтения 1 минута
    Lazy loading

    Lazy loading (в переводе с английского — «ленивая загрузка») — это метод оптимизации, при котором ресурсы загружаются только тогда, когда они действительно понадобятся, а не заранее.

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