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