Скриншот
Использование ARIA-атрибутов значительно улучшает доступность веб-приложений для пользователей с ограниченными возможностями, помогают сделать интерфейсы более понятными, удобными и функциональными.
Подробнее
Версия: v1.0.5
Каталог: Статьи
Категория: HTML
Язык: Русский
Уникальный ID: 6596
Связанный: Материал
Посмотрели: 137 раз
Прокомментировали: 0 раз
Рейтинг: 5.0 / 5 - 3 голосов
Авторство: bootstraptema.ru
Информация: Пользователям
Информация: Правообладателям
Теги: HTML, aria
Поделился: BootstrapТема
Добавлено: 2025-03-01 в 14:13
Метка: 1740849917
Хостинг

ARIA-атрибуты в HTML

Рекомендации по использованию ARIA-атрибутов

Правильное использование помогает создавать оригинальные и доступные веб-приложения, которые работают для всех пользователей, включая тех, кто использует вспомогательные технологии. Эта статья является продолжением описания атрибутов ARIA, будьте в курсе использования атрибутов role в статье Атрибуты role, взаимосвязанных компонентов HTML.

Используйте ARIA только когда это необходимо: ARIA-атрибуты следует применять только в случаях, когда стандартные HTML-элементы и атрибуты не могут обеспечить необходимую доступность.
Избегайте дублирования: Не используйте несколько ARIA-атрибутов, которые выполняют одну и ту же функцию. Это может запутать скринридеры и ухудшить пользовательский опыт.
Тестируйте с помощью скринридеров: Всегда проверяйте свои решения с помощью скринридеров, чтобы убедиться, что ARIA-атрибуты работают так, как задумано.
Следуйте принципу минимализма: Используйте минимальное количество ARIA-атрибутов, необходимых для обеспечения доступности. Избыточное использование может привести к обратному эффекту.
Документируйте ARIA-атрибуты: Если вы используете ARIA, убедитесь, что это задокументировано в вашем коде, чтобы другие разработчики могли понять, зачем они были добавлены.

Преимущества использования ARIA-атрибутов

Улучшение доступности для скринридеров

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

<button aria-label="Закрыть">×</button>

В этом примере скринридер озвучит "Закрыть" вместо символа "×", что делает интерфейс более понятным.

Улучшение взаимодействия с динамическим контентом

ARIA-атрибуты, такие как aria-live, aria-atomic и aria-busy, помогают управлять тем, как скринридеры обрабатывают изменения на странице. Это особенно полезно для динамически обновляемого контента, такого как уведомления или загрузка данных.

<div aria-live="polite">
 Новое сообщение: Привет, мир!
</div>

В этом примере скринридер автоматически озвучит новое сообщение, не прерывая текущее чтение.

Улучшение семантики для сложных виджетов

ARIA-атрибуты позволяют добавлять семантику к элементам, которые не имеют её по умолчанию. Например, с помощью role и aria-* атрибутов можно создать доступные аккордеоны, вкладки, модальные окна и другие сложные виджеты.

<div role="tablist">
 <div role="tab" aria-selected="true">Вкладка 1</div>
 <div role="tab" aria-selected="false">Вкладка 2</div>
</div>

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

Улучшение доступности форм

ARIA-атрибуты, такие как aria-required, aria-invalid и aria-describedby, помогают сделать формы более доступными. Они предоставляют дополнительную информацию о полях ввода, их состоянии и ошибках.

<input type="text" aria-required="true" aria-describedby="hint">
<span id="hint">Поле обязательно для заполнения.</span>

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

Улучшение доступности для пользователей с ограниченной мобильностью

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

<button aria-keyshortcuts="Ctrl+Shift+M">Открыть меню</button>

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

Поддержка кастомных элементов

ARIA-атрибуты позволяют добавлять доступность к кастомным элементам, которые не имеют стандартной семантики. Например, с помощью role и aria-* можно создать доступные кастомные кнопки, слайдеры и другие элементы.

<div role="button" tabindex="0" aria-pressed="false">Кастомная кнопка</div>

В этом примере элемент ведёт себя как кнопка, и скринридеры сообщат о его состоянии.

Улучшение доступности для пользователей с когнитивными нарушениями

ARIA-атрибуты, такие как aria-describedby и aria-label, помогают предоставить дополнительную информацию, которая может быть полезна для пользователей с когнитивными нарушениями. Это делает интерфейс более понятным и предсказуемым.

<button aria-label="Закрыть">×</button>

В этом примере пользователь получает чёткое описание действия кнопки, что упрощает взаимодействие.

Примеры избыточного использования ARIA-атрибутов

Избыточное использование aria-label

<button aria-label="Закрыть" aria-labelledby="closeButton">×</button>
<span id="closeButton">Закрыть</span>

Проблема: В данном примере атрибуты aria-label и aria-labelledby дублируют друг друга. Это может запутать скринридеры, так как они не знают, какой атрибут использовать для описания кнопки.

Рекомендация: Используйте только один из атрибутов. Если у элемента уже есть видимый текст, который описывает его функцию, дополнительный aria-label не нужен.

Избыточное использование aria-describedby

<input type="text" aria-describedby="hint1 hint2">
<span id="hint1">Поле обязательно для заполнения.</span>
<span id="hint2">Введите ваше имя.</span>

Проблема: Использование нескольких идентификаторов в aria-describedby может привести к избыточному озвучиванию информации, что затруднит восприятие для пользователей скринридеров.

Рекомендация: Объедините описания в один элемент или используйте только одно описание, которое наиболее точно передает необходимую информацию.

Избыточное использование aria-hidden

<div aria-hidden="true">
 <span aria-hidden="false">Этот текст будет озвучен.</span>
</div>

Проблема: Вложенный элемент с aria-hidden="false" внутри элемента с aria-hidden="true" может привести к непредсказуемому поведению скринридеров.

Рекомендация: Убедитесь, что вложенные элементы не противоречат родительским атрибутам. Если элемент должен быть скрыт, все его дочерние элементы также должны быть скрыты.

Избыточное использование aria-required и required

<input type="text" aria-required="true" required>

Проблема: Атрибуты aria-required и required дублируют друг друга. Это избыточно, так как required уже указывает на обязательность поля.

Рекомендация: Используйте только required, если браузеры и скринридеры поддерживают этот атрибут. aria-required следует использовать только в случаях, когда стандартные HTML-атрибуты недоступны или недостаточны.

Избыточное использование aria-live и aria-atomic

<div aria-live="polite" aria-atomic="true">
 <span>Новое сообщение:</span>
 <span>Привет, мир!</span>
</div>

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

Рекомендация: Используйте aria-live с осторожностью и только для действительно важных обновлений. Убедитесь, что обновления не происходят слишком часто и не мешают пользователю.

Примеры применения ARIA-атрибутов

aria-label

Назначение: Используется для предоставления текстового описания элемента, когда видимый текст отсутствует или недостаточно информативен.

<button aria-label="Закрыть">×</button>

Объяснение: Атрибут aria-label="Закрыть" предоставляет описание для кнопки с символом "×". Скринридеры озвучат "Закрыть" вместо символа.

aria-labelledby

Назначение: Используется для связывания элемента с другим элементом, который его описывает (например, заголовок для таблицы).

<h2 id="tableLabel">Таблица пользователей</h2>
<table aria-labelledby="tableLabel">
 <thead>
 <tr>
 <th>Имя</th>
 <th>Возраст</th>
 </tr>
 </thead>
 <tbody>
 <tr>
 <td>Иван</td>
 <td>25</td>
 </tr>
 </tbody>
</table>

Объяснение: Атрибут aria-labelledby="tableLabel" связывает таблицу с заголовком. Скринридеры озвучат "Таблица пользователей" перед чтением таблицы.

aria-describedby

Назначение: Используется для предоставления дополнительного описания элемента (например, подсказка для поля ввода).

<input type="text" aria-describedby="usernameHint">
<span id="usernameHint">Имя пользователя должно содержать от 3 до 15 символов.</span>

Объяснение: Атрибут aria-describedby="usernameHint" связывает поле ввода с подсказкой. Скринридеры озвучат подсказку после описания поля.

aria-hidden

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

<div aria-hidden="true">
 Этот текст не будет озвучен скринридером.
</div>

Объяснение: Атрибут aria-hidden="true" скрывает элемент от скринридеров. Элемент остается видимым на странице.

aria-expanded

Назначение: Используется для указания, раскрыт ли элемент (например, выпадающее меню или аккордеон).

<button aria-expanded="false" aria-controls="dropdown">Меню</button>
<ul id="dropdown" hidden>
 <li>Пункт 1</li>
 <li>Пункт 2</li>
</ul>

Объяснение: Атрибут aria-expanded="false" указывает, что меню свернуто. При нажатии кнопки значение меняется на true, и меню раскрывается.

aria-controls

Назначение: Используется для указания, какой элемент контролируется текущим элементом (например, кнопка, которая управляет выпадающим меню).

<button aria-controls="dropdown" aria-expanded="false">Меню</button>
<ul id="dropdown" hidden>
 <li>Пункт 1</li>
 <li>Пункт 2</li>
</ul>

Объяснение: Атрибут aria-controls="dropdown" связывает кнопку с выпадающим меню. Скринридеры сообщат, что кнопка управляет этим меню.

aria-live

Назначение: Используется для указания, что область страницы должна быть озвучена скринридером при изменении (например, уведомления или сообщения).

<div aria-live="polite">
 Новое сообщение: Привет, мир!
</div>

Объяснение: Атрибут aria-live="polite" указывает, что изменения в этой области должны быть озвучены скринридером, но не прерывать текущее чтение.

aria-atomic

Назначение: Используется для указания, должен ли скринридер озвучивать весь контент области или только измененную часть.

<div aria-live="polite" aria-atomic="true">
 <span>Новое сообщение:</span>
 <span>Привет, мир!</span>
</div>

Объяснение: Атрибут aria-atomic="true" указывает, что скринридер должен озвучить весь контент области, даже если изменилась только часть.

aria-relevant

Назначение: Используется для указания, какие изменения в области должны быть озвучены скринридером.

<div aria-live="polite" aria-relevant="additions text">
 <ul id="messageList">
 <li>Сообщение 1</li>
 </ul>
</div>

Объяснение: Атрибут aria-relevant="additions text" указывает, что скринридер должен озвучивать добавление новых элементов и изменения текста.

aria-busy

Назначение: Используется для указания, что элемент в процессе изменения (например, загрузка данных).

<div aria-live="polite" aria-busy="true">
 Загрузка данных...
</div>

Объяснение: Атрибут aria-busy="true" указывает, что элемент в процессе изменения. Скринридеры могут отложить озвучивание изменений до завершения.

aria-checked

Назначение: Используется для указания состояния чекбокса или радиокнопки (например, "выбрано" или "не выбрано").

<div role="checkbox" aria-checked="false">Чекбокс</div>

Объяснение: Атрибут aria-checked="false" указывает, что чекбокс не выбран. При нажатии значение меняется на true.

aria-pressed

Назначение: Используется для кнопок, которые могут быть в состоянии "нажато" или "не нажато" (например, кнопки-переключатели).

<button aria-pressed="false">Переключатель</button>

Объяснение: Атрибут aria-pressed="false" указывает, что кнопка не нажата. При нажатии значение меняется на true.

aria-disabled

Назначение: Используется для указания, что элемент отключен (например, кнопка или поле ввода).

<button aria-disabled="true">Отключенная кнопка</button>

Объяснение: Атрибут aria-disabled="true" указывает, что элемент недоступен для взаимодействия. Скринридеры сообщат, что элемент отключен.

aria-required

Назначение: Используется для указания, что поле ввода обязательно для заполнения.

<input type="text" aria-required="true">

Объяснение: Атрибут aria-required="true" указывает, что поле обязательно для заполнения. Скринридеры сообщат пользователю, что поле обязательно.

aria-invalid

Назначение: Используется для указания, что значение в поле ввода недопустимо (например, ошибка валидации).

<input type="email" aria-invalid="true" aria-describedby="emailError">
<span id="emailError">Некорректный email.</span>

Объяснение: Атрибут aria-invalid="true" указывает, что значение в поле недопустимо. Скринридеры озвучат сообщение об ошибке.

aria-haspopup

Назначение: Используется для указания, что элемент имеет всплывающее окно (например, выпадающее меню или диалог).

<button aria-haspopup="true">Меню</button>

Объяснение: Атрибут aria-haspopup="true" указывает, что элемент имеет всплывающее окно. Скринридеры сообщат, что элемент имеет всплывающее меню.

aria-modal

Назначение: Используется для указания, что элемент является модальным окном.

<div role="dialog" aria-modal="true">
 <h2>Модальное окно</h2>
 <p>Это пример модального окна.</p>
</div>

Объяснение: Атрибут aria-modal="true" указывает, что элемент является модальным окном. Скринридеры сообщат, что остальная часть страницы недоступна.

aria-keyshortcuts

Назначение: Используется для указания сочетания клавиш, которое активирует элемент.

<button aria-keyshortcuts="Ctrl+Shift+M">Открыть меню</button>

Объяснение: Атрибут aria-keyshortcuts="Ctrl+Shift+M" указывает, что элемент можно активировать с помощью сочетания клавиш. Скринридеры сообщат о доступном сочетании.

aria-roledescription

Назначение: Используется для предоставления пользовательского описания роли элемента.

<div role="button" aria-roledescription="Кастомная кнопка">Нажми меня</div>

Объяснение: Атрибут aria-roledescription="Кастомная кнопка" предоставляет пользовательское описание роли элемента. Скринридеры озвучат это описание вместо стандартного.

aria-valuemin, aria-valuemax, aria-valuenow

Назначение: Используются для указания минимального, максимального и текущего значения элемента (например, слайдер или прогресс-бар).

<div role="slider" aria-valuemin="0" aria-valuemax="100" aria-valuenow="50">Слайдер</div>

Объяснение: Атрибуты aria-valuemin="0", aria-valuemax="100" и aria-valuenow="50" указывают диапазон и текущее значение слайдера. Скринридеры озвучат текущее значение.

aria-valuetext

Назначение: Используется для предоставления текстового описания текущего значения элемента (например, для слайдера с нечисловыми значениями).

<div role="slider" aria-valuetext="Средняя громкость">Слайдер</div>

Объяснение: Атрибут aria-valuetext="Средняя громкость" предоставляет текстовое описание текущего значения. Скринридеры озвучат это описание.

aria-orientation

Назначение: Используется для указания ориентации элемента (например, горизонтальный или вертикальный слайдер).

<div role="slider" aria-orientation="horizontal">Слайдер</div>

Объяснение: Атрибут aria-orientation="horizontal" указывает, что слайдер горизонтальный. Скринридеры сообщат ориентацию элемента.

aria-posinset, aria-setsize

Назначение: Используются для указания позиции элемента в наборе и общего размера набора (например, элементы списка).

<div role="listbox">
 <div role="option" aria-posinset="1" aria-setsize="5">Пункт 1</div>
 <div role="option" aria-posinset="2" aria-setsize="5">Пункт 2</div>
</div>

Объяснение: Атрибуты aria-posinset="1" и aria-setsize="5" указывают позицию элемента в наборе и общее количество элементов. Скринридеры сообщат, что это "Пункт 1 из 5".

aria-colindex, aria-rowindex

Назначение: Используются для указания индекса столбца и строки в таблице или сетке.

<div role="grid">
 <div role="row">
 <div role="gridcell" aria-colindex="1" aria-rowindex="1">Ячейка 1-1</div>
 <div role="gridcell" aria-colindex="2" aria-rowindex="1">Ячейка 1-2</div>
 </div>
</div>

Объяснение: Атрибуты aria-colindex="1" и aria-rowindex="1" указывают позицию ячейки в таблице. Скринридеры озвучат индексы.

aria-colspan, aria-rowspan

Назначение: Используются для указания, сколько столбцов или строк охватывает ячейка в таблице или сетке.

<div role="grid">
 <div role="row">
 <div role="gridcell" aria-colspan="2">Ячейка, охватывающая 2 столбца</div>
 </div>
</div>

Объяснение: Атрибуты aria-colspan="2" и aria-rowspan указывают, сколько столбцов или строк охватывает ячейка. Скринридеры озвучат это.

aria-sort

Назначение: Используется для указания порядка сортировки в таблице (например, по возрастанию или убыванию).

<table role="grid">
 <thead>
 <tr>
 <th role="columnheader" aria-sort="ascending">Имя</th>
 <th role="columnheader" aria-sort="none">Возраст</th>
 </tr>
 </thead>
 <tbody>
 <tr>
 <td>Иван</td>
 <td>25</td>
 </tr>
 </tbody>
</table>

Объяснение: Атрибут aria-sort="ascending" указывает, что столбец отсортирован по возрастанию. Возможные значения: ascending, descending, none, other.

aria-readonly

Назначение: Используется для указания, что элемент доступен только для чтения (например, поле ввода).

<input type="text" aria-readonly="true" value="Это поле только для чтения">

Объяснение: Атрибут aria-readonly="true" указывает, что поле ввода доступно только для чтения. Скринридеры сообщат, что элемент нельзя изменить.

aria-placeholder

Назначение: Используется для предоставления подсказки в поле ввода, когда оно пустое.

<input type="text" aria-placeholder="Введите ваше имя">

Объяснение: Атрибут aria-placeholder="Введите ваше имя" предоставляет подсказку для поля ввода. Скринридеры озвучат подсказку, когда поле пустое.

aria-errormessage

Назначение: Используется для связывания элемента с сообщением об ошибке.

<input type="text" aria-invalid="true" aria-errormessage="emailError">
<span id="emailError">Некорректный email.</span>

Объяснение: Атрибут aria-errormessage="emailError" связывает поле ввода с сообщением об ошибке. Скринридеры озвучат сообщение, если поле невалидно.

aria-autocomplete

Назначение: Используется для указания типа автозаполнения в поле ввода (например, список предложений).

<input type="text" aria-autocomplete="list">

Объяснение: Атрибут aria-autocomplete="list" указывает, что поле поддерживает автозаполнение с предложениями. Возможные значения: none, inline, list, both.

aria-multiline

Назначение: Используется для указания, что текстовое поле поддерживает многострочный ввод.

<div role="textbox" aria-multiline="true" contenteditable="true">
 Введите многострочный текст...
</div>

Объяснение: Атрибут aria-multiline="true" указывает, что текстовое поле поддерживает многострочный ввод. Скринридеры сообщат об этом пользователю.

aria-details

Назначение: Используется для связывания элемента с дополнительной информацией (например, подробное описание).

<img src="image.jpg" alt="Описание изображения" aria-details="imageDetails">
<div id="imageDetails">
 <p>Это изображение было сделано в 2025 году.</p>
</div>

Объяснение: Атрибут aria-details="imageDetails" связывает изображение с дополнительной информацией. Скринридеры озвучат эту информацию.

aria-flowto

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

<div id="first" aria-flowto="second">Первый элемент</div>
<div id="second">Второй элемент</div>

Объяснение: Атрибут aria-flowto="second" указывает, что после озвучивания первого элемента скринридер перейдет ко второму.

aria-owns

Назначение: Используется для указания, что элемент владеет другим элементом, который не является его потомком в DOM.

<div role="menu" aria-owns="submenu">Главное меню</div>
<div id="submenu" role="menu">Подменю</div>

Объяснение: Атрибут aria-owns="submenu" указывает, что подменю принадлежит главному меню, даже если оно не является его потомком в DOM.

aria-activedescendant

Назначение: Используется для указания активного дочернего элемента в составном виджете (например, выпадающем меню).

<div role="listbox" aria-activedescendant="option1">
 <div id="option1" role="option">Пункт 1</div>
 <div id="option2" role="option">Пункт 2</div>
</div>

Объяснение: Атрибут aria-activedescendant="option1" указывает, что активный элемент — это "Пункт 1". Скринридеры озвучат активный элемент.

aria-colindex, aria-rowindex

Назначение: Используются для указания индекса столбца и строки в таблице или сетке.

<div role="grid">
 <div role="row">
 <div role="gridcell" aria-colindex="1" aria-rowindex="1">Ячейка 1-1</div>
 <div role="gridcell" aria-colindex="2" aria-rowindex="1">Ячейка 1-2</div>
 </div>
</div>

Объяснение: Атрибуты aria-colindex="1" и aria-rowindex="1" указывают позицию ячейки в таблице. Скринридеры озвучат индексы.

aria-colspan, aria-rowspan

Назначение: Используются для указания, сколько столбцов или строк охватывает ячейка в таблице или сетке.

<div role="grid">
 <div role="row">
 <div role="gridcell" aria-colspan="2">Ячейка, охватывающая 2 столбца</div>
 </div>
</div>

Объяснение: Атрибуты aria-colspan="2" и aria-rowspan указывают, сколько столбцов или строк охватывает ячейка. Скринридеры озвучат это.

aria-sort

Назначение: Используется для указания порядка сортировки в таблице (например, по возрастанию или убыванию).

<table role="grid">
 <thead>
 <tr>
 <th role="columnheader" aria-sort="ascending">Имя</th>
 <th role="columnheader" aria-sort="none">Возраст</th>
 </tr>
 </thead>
 <tbody>
 <tr>
 <td>Иван</td>
 <td>25</td>
 </tr>
 </tbody>
</table>

Объяснение: Атрибут aria-sort="ascending" указывает, что столбец отсортирован по возрастанию. Возможные значения: ascending, descending, none, other.

aria-readonly

Назначение: Используется для указания, что элемент доступен только для чтения (например, поле ввода).

<input type="text" aria-readonly="true" value="Это поле только для чтения">

Объяснение: Атрибут aria-readonly="true" указывает, что поле ввода доступно только для чтения. Скринридеры сообщат, что элемент нельзя изменить.

aria-placeholder

Назначение: Используется для предоставления подсказки в поле ввода, когда оно пустое.

<input type="text" aria-placeholder="Введите ваше имя">

Объяснение: Атрибут aria-placeholder="Введите ваше имя" предоставляет подсказку для поля ввода. Скринридеры озвучат подсказку, когда поле пустое.

aria-errormessage

Назначение: Используется для связывания элемента с сообщением об ошибке.

<input type="text" aria-invalid="true" aria-errormessage="emailError">
<span id="emailError">Некорректный email.</span>

Объяснение: Атрибут aria-errormessage="emailError" связывает поле ввода с сообщением об ошибке. Скринридеры озвучат сообщение, если поле невалидно.

aria-autocomplete

Назначение: Используется для указания типа автозаполнения в поле ввода (например, список предложений).

<input type="text" aria-autocomplete="list">

Объяснение: Атрибут aria-autocomplete="list" указывает, что поле поддерживает автозаполнение с предложениями. Возможные значения: none, inline, list, both.

aria-multiline

Назначение: Используется для указания, что текстовое поле поддерживает многострочный ввод.

<div role="textbox" aria-multiline="true" contenteditable="true">
 Введите многострочный текст...
</div>

Объяснение: Атрибут aria-multiline="true" указывает, что текстовое поле поддерживает многострочный ввод. Скринридеры сообщат об этом пользователю.

aria-details

Назначение: Используется для связывания элемента с дополнительной информацией (например, подробное описание).

<img src="image.jpg" alt="Описание изображения" aria-details="imageDetails">
<div id="imageDetails">
 <p>Это изображение было сделано в 2025 году.</p>
</div>

Объяснение: Атрибут aria-details="imageDetails" связывает изображение с дополнительной информацией. Скринридеры озвучат эту информацию.

aria-flowto

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

<div id="first" aria-flowto="second">Первый элемент</div>
<div id="second">Второй элемент</div>

Объяснение: Атрибут aria-flowto="second" указывает, что после озвучивания первого элемента скринридер перейдет ко второму.

aria-owns

Назначение: Используется для указания, что элемент владеет другим элементом, который не является его потомком в DOM.

<div role="menu" aria-owns="submenu">Главное меню</div>
<div id="submenu" role="menu">Подменю</div>

Объяснение: Атрибут aria-owns="submenu" указывает, что подменю принадлежит главному меню, даже если оно не является его потомком в DOM.

aria-activedescendant

Назначение: Используется для указания активного дочернего элемента в составном виджете (например, выпадающем меню).

<div role="listbox" aria-activedescendant="option1">
 <div id="option1" role="option">Пункт 1</div>
 <div id="option2" role="option">Пункт 2</div>
</div>

Объяснение: Атрибут aria-activedescendant="option1" указывает, что активный элемент — это "Пункт 1". Скринридеры озвучат активный элемент.

aria-colindex, aria-rowindex

Назначение: Используются для указания индекса столбца и строки в таблице или сетке.

<div role="grid">
 <div role="row">
 <div role="gridcell" aria-colindex="1" aria-rowindex="1">Ячейка 1-1</div>
 <div role="gridcell" aria-colindex="2" aria-rowindex="1">Ячейка 1-2</div>
 </div>
</div>

Объяснение: Атрибуты aria-colindex="1" и aria-rowindex="1" указывают позицию ячейки в таблице. Скринридеры озвучат индексы.

aria-colspan, aria-rowspan

Назначение: Используются для указания, сколько столбцов или строк охватывает ячейка в таблице или сетке.

<div role="grid">
 <div role="row">
 <div role="gridcell" aria-colspan="2">Ячейка, охватывающая 2 столбца</div>
 </div>
</div>

Объяснение: Атрибуты aria-colspan="2" и aria-rowspan указывают, сколько столбцов или строк охватывает ячейка. Скринридеры озвучат это.

aria-sort

Назначение: Используется для указания порядка сортировки в таблице (например, по возрастанию или убыванию).

<table role="grid">
 <thead>
 <tr>
 <th role="columnheader" aria-sort="ascending">Имя</th>
 <th role="columnheader" aria-sort="none">Возраст</th>
 </tr>
 </thead>
 <tbody>
 <tr>
 <td>Иван</td>
 <td>25</td>
 </tr>
 </tbody>
</table>

Объяснение: Атрибут aria-sort="ascending" указывает, что столбец отсортирован по возрастанию. Возможные значения: ascending, descending, none, other.

Похожие материалы
    Realar
    Farmart
    Melan
    Copic
    Kadso
    Learnit
Просмотренные материалы
Архив материалов которые Вы уже смотрели пока пуст
Всего комментариев: 0
avatar

Посоветуйте этот материал другу отправив ему письмо на E - mail

Написать администрации по поводу этого материала