Атрибут tabindex тега <table>
Описание
Атрибут tabindex позволяет управлять порядком перехода между элементами при навигации с помощью клавиши Tab. Для таблиц (<table>) он может сделать всю таблицу фокусируемым элементом.
<table tabindex="0">
<caption>Таблица с возможностью фокуса</caption>
<tr>
<th>Название</th>
<th>Количество</th>
</tr>
<tr>
<td>Яблоки</td>
<td>5</td>
</tr>
</table>
Значения атрибута:
| Значение | Описание | Когда использовать |
|---|---|---|
-1 |
Элемент становится фокусируемым, но не включается в последовательную навигацию по Tab | Для элементов, доступных только через скрипты |
0 |
Элемент включается в естественный порядок навигации | Для важных таблиц, которые нужно выделять |
положительное число |
Определяет явный порядок перехода (1 → 2 → 3 и т.д.) | Для специальных сценариев навигации (не рекомендуется) |
Особенности работы:
- По умолчанию таблицы не являются фокусируемыми элементами
- Фокус на таблице может быть полезен для скринридеров
- Можно стилизовать состояние фокуса через
:focus - Поддерживается всеми современными браузерами
Пример с CSS-стилизацией:
<style>
table:focus {
outline: 2px solid #4a90e2;
box-shadow: 0 0 5px rgba(74, 144, 226, 0.5);
}
</style>
<table tabindex="0">
<tr><td>Таблица с визуальным выделением при фокусе</td></tr>
</table>
Рекомендации:
- Используйте
tabindex="0"для важных таблиц данных - Избегайте положительных значений (нарушают естественный поток)
- Всегда добавляйте визуальные стили для состояния фокуса
- Тестируйте с клавиатурной навигацией
Ограничения:
- Не делает фокусируемыми отдельные ячейки таблицы
- Может нарушить логику навигации, если использовать неправильно
- Не заменяет семантическую разметку для доступности
Примечание: Для сложных интерактивных таблиц лучше использовать специализированные компоненты с ARIA-атрибутами.