Атрибут tabindex тега <th>
Описание
Атрибут tabindex в теге <th> определяет порядок перехода между элементами при навигации с помощью клавиши Tab. Этот атрибут делает заголовки таблиц доступными для фокусировки, что важно для доступности и клавиатурной навигации.
<table border="1">
<tr>
<th tabindex="0">Фокусируемый заголовок</th>
<th tabindex="1">Заголовок с приоритетом</th>
<th tabindex="-1">Только программный фокус</th>
</tr>
</table>
Значения атрибута:
| Значение | Описание | Использование |
|---|---|---|
0 |
Включает элемент в естественный порядок табуляции | Для доступных интерактивных элементов |
-1 |
Исключает из табуляции, но позволяет фокусироваться программно | Для динамически управляемых элементов |
| Положительное число | Задает явный порядок табуляции (1, 2, 3...) | Не рекомендуется (нарушает естественный поток) |
Особенности работы:
- По умолчанию элементы <th> не фокусируемы
- Добавляет outline при фокусе (можно стилизовать через CSS)
- Работает во всех современных браузерах
- Влияет на доступность для скринридеров
Рекомендации:
- Используйте
tabindex="0"для интерактивных заголовков - Избегайте положительных значений (нарушают логический порядок)
- Сочетайте с JavaScript для сложной навигации
- Тестируйте с клавиатурной навигацией
Пример с CSS-стилизацией:
<style>
th[tabindex]:focus {
outline: 2px solid #0066cc;
background-color: #e6f2ff;
}
</style>
<table border="1">
<tr>
<th tabindex="0">Фокусируемый заголовок</th>
</tr>
</table>
Ограничения:
- Может нарушить естественный поток навигации
- Требует дополнительной стилизации для визуального фокуса
- Не все пользователи ожидают фокусируемых заголовков
- Может конфликтовать с некоторыми CSS-фреймворками
Примечание: Для сложных интерактивных таблиц:
- Используйте ARIA-роли для улучшения доступности
- Реализуйте клавиатурные обработчики (Enter, Space)
- Рассмотрите специализированные компоненты таблиц