Атрибут tabindex тега <object>
Описание
Атрибут tabindex определяет порядок перехода к элементу <object> при навигации с клавиатуры (Tab). Это полезно для:
- Включения интерактивных объектов в последовательность табуляции
- Управления доступностью мультимедийного контента
- Создания кастомного порядка фокусировки
<object data="game.swf" type="application/x-shockwave-flash" tabindex="0">
<p>Требуется Flash Player</p>
</object>
Допустимые значения:
| Значение | Поведение | Использование |
|---|---|---|
0 |
Включает в естественный порядок табуляции | Для интерактивных объектов |
-1 |
Делает фокусируемым только программно | Для временного управления фокусом |
| Положительное число | Задает кастомный порядок (не рекомендуется) | Особые случаи |
Пример с управлением фокусом:
<object id="pdfViewer" data="doc.pdf" type="application/pdf" tabindex="-1">
<p>PDF не поддерживается</p>
</object>
<button onclick="focusPDF()">Фокус на PDF</button>
<script>
function focusPDF() {
document.getElementById('pdfViewer').focus();
}
</script>
Рекомендации по использованию:
- Используйте
tabindex="0"для интерактивных объектов - Избегайте положительных значений (нарушают естественный поток)
- Сочетайте с JavaScript для сложных сценариев
- Проверяйте работу с экранными читалками
- Указывайте визуальные стили для состояния :focus
Ограничения и совместимость:
- Поддерживается современными браузерами
- Фактическое поведение зависит от плагина
- Не все объекты могут получать фокус
- В IE могут быть особенности реализации
Примечание: Для большинства мультимедийных объектов (видео, аудио) лучше использовать нативные HTML5 элементы (<video>, <audio>) с их встроенными контролами, которые уже имеют правильную семантику и поведение при табуляции.