Атрибут tabindex тега <td>
Описание
Атрибут tabindex для элемента <td> позволяет управлять порядком фокусировки ячейки таблицы при навигации с клавиатуры (Tab/Shift+Tab). В обычных условиях ячейки таблицы не получают фокус.
<table>
<tr>
<td tabindex="0">Фокусируемая ячейка</td>
<td>Обычная ячейка</td>
</tr>
</table>
Значения атрибута:
| Значение | Описание | Когда использовать |
|---|---|---|
-1 |
Фокусируем программно, но исключаем из последовательной навигации | Для интерактивных ячеек с управлением через JS |
0 |
Включает в естественный порядок навигации | Для интерактивных табличных данных |
1+ |
Определяет явный порядок (не рекомендуется) | Особые случаи (нарушает естественный поток) |
Особенности работы:
- По умолчанию ячейки таблицы не фокусируемы
- Фокус полезен для интерактивных ячеек (с кнопками, ссылками)
- Можно стилизовать состояние
:focusчерез CSS - Поддерживается современными браузерами
Пример с CSS-стилизацией:
<style>
td:focus {
outline: 2px solid #0066cc;
box-shadow: 0 0 5px rgba(0,102,204,0.3);
}
</style>
<table>
<tr>
<td tabindex="0">Нажмите Tab</td>
</tr>
</table>
Рекомендации:
- Используйте
tabindex="0"для интерактивных ячеек - Избегайте положительных значений (нарушают логику навигации)
- Всегда добавляйте визуальные стили для состояния фокуса
- Тестируйте навигацию с клавиатуры
Ограничения:
- Может нарушить естественный порядок навигации
- Требует дополнительных ARIA-атрибутов для доступности
- Не заменяет семантические интерактивные элементы
Примечание: Для сложных интерактивных таблиц лучше использовать специализированные компоненты с полной поддержкой доступности.