Атрибут 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-роли только для специальных сценариев, когда стандартное поведение не подходит.