Атрибут role тега <tbody>
Описание
Атрибут role для элемента <tbody> определяет семантическую роль группы строк таблицы для вспомогательных технологий. Он помогает скринридерам и другим инструментам доступности правильно интерпретировать структуру таблицы.
<table>
<tbody role="rowgroup">
<tr role="row">
<td role="cell">Данные продукта</td>
</tr>
</tbody>
</table>
Основные роли для tbody:
| Роль | Описание | Когда использовать |
|---|---|---|
rowgroup |
Группа строк таблицы (значение по умолчанию) | Для стандартных таблиц данных |
none |
Игнорирует семантику таблицы | Для таблиц, используемых в верстке |
presentation |
Декоративный элемент без семантики | Устаревшее, используйте none |
Особенности работы:
- Элемент
<tbody>по умолчанию имеет рольrowgroup - Чаще всего требуется для переопределения стандартной семантики
- Должен сочетаться с соответствующими ролями для
<tr>и<td> - Поддерживается современными скринридерами (NVDA, JAWS, VoiceOver)
Пример с ARIA-атрибутами:
<table role="grid">
<tbody role="rowgroup">
<tr role="row">
<td role="gridcell">Интерактивная ячейка</td>
</tr>
</tbody>
</table>
Рекомендации:
- Для таблиц данных используйте стандартную разметку без явного указания role
- Указывайте роль только при изменении стандартного поведения
- Сочетайте с другими ARIA-атрибутами для сложных сценариев
- Тестируйте с различными скринридерами
Ограничения:
- Неправильное использование может ухудшить доступность
- Не заменяет семантическую HTML-разметку
- Требует согласованного использования для всех элементов таблицы
Примечание: Для большинства случаев достаточно нативной HTML-разметки таблицы. Используйте ARIA-роли только для специальных сценариев, когда стандартное поведение не подходит.