Атрибут tabindex тега <dd>


Описание

Атрибут tabindex определяет, может ли элемент <dd> получать фокус и его позицию в последовательности перехода по клавише Tab. Хотя <dd> обычно не является фокусируемым элементом, этот атрибут может сделать его частью навигации по странице.

Пример использования:
<dl> <dt>HTML</dt> <dd tabindex="0">Язык гипертекстовой разметки (можно фокусировать)</dd> <dt>CSS</dt> <dd tabindex="-1">Каскадные таблицы стилей (фокус только программно)</dd> <dt>JavaScript</dt> <dd tabindex="1">Язык программирования (первый в порядке табуляции)</dd> </dl>

Значения атрибута:

Значение Описание Поведение
0 Включает элемент в естественную последовательность табуляции Фокус по Tab в порядке DOM
-1 Элемент может получить фокус программно, но не через Tab Полезно для доступных UI-компонентов
Положительное число Задает явный порядок табуляции (1 → 2 → 3...) Не рекомендуется (нарушает естественный поток)
(не указан) Элемент не участвует в табуляции (по умолчанию) Стандартное поведение для <dd>

Практическое применение:

<dl> <dt>Доступность</dt> <dd tabindex="0" id="a11y-def" style="outline: none;" onfocus="this.style.backgroundColor='#f0f7ff'" onblur="this.style.backgroundColor=''"> Обеспечение равного доступа к контенту для всех пользователей </dd> </dl> <script> // Программный фокус для элемента с tabindex="-1" document.getElementById('a11y-def').focus(); </script>

Рекомендации по использованию:

  • Используйте tabindex="0" для добавления элементов в естественный поток табуляции
  • Применяйте tabindex="-1" для элементов, которым фокус нужен только программно
  • Избегайте положительных значений - они нарушают логический порядок навигации
  • Всегда добавляйте визуальные стили для фокусируемых элементов (outline или альтернативы)
  • Сочетайте с ARIA-атрибутами для улучшения доступности

Пример с интерактивным списком:

<style> dd[tabindex]:focus { box-shadow: 0 0 0 2px #005fcc; background-color: #f8f9fa; } </style> <dl> <dt>React</dt> <dd tabindex="0">JavaScript-библиотека для создания пользовательских интерфейсов</dd> <dt>Vue</dt> <dd tabindex="0">Прогрессивный фреймворк для создания интерфейсов</dd> <dt>Angular</dt> <dd tabindex="0">Платформа для построения мобильных и десктопных приложений</dd> </dl>

Важные замечания:

  • Не злоупотребляйте - добавляйте в табуляцию только действительно интерактивные элементы
  • Проверяйте порядок навигации с клавиатуры
  • Для сложных компонентов управляйте фокусом через JavaScript
  • Учитывайте, что screen readers будут объявлять фокусируемые элементы
  • Не удаляйте outline без предоставления альтернативного визуального выделения

Примечание: Правильное использование tabindex значительно улучшает доступность вашего сайта для пользователей, которые полагаются на навигацию с клавиатуры. Однако помните, что семантически <dd> не является интерактивным элементом, поэтому перед добавлением его в табуляцию рассмотрите более подходящие альтернативы.