Атрибут title тега <div>


Описание

Атрибут title добавляет всплывающую подсказку к элементу <div>, которая появляется при наведении курсора. Подсказка обычно отображается в небольшом желтом прямоугольнике.

Пример использования:
<div title="Это всплывающая подсказка" style="padding: 20px; background: #f0f0f0;"> Наведите курсор на этот блок </div>

Основные характеристики:

Характеристика Описание
Отображение Всплывающее окно при наведении (зависит от браузера)
Содержимое Только текст (HTML-разметка не интерпретируется)
Доступность Не всегда доступен для пользователей клавиатуры и скринридеров

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

<!-- Хороший пример --> <div title="Дополнительная информация о разделе"> Раздел с документацией </div> <!-- Плохой пример (избыточная информация) --> <div title="Этот раздел содержит документацию по проекту, которая была обновлена 15 мая 2023 года..."> Документация </div>

Ограничения и проблемы:

  • Не поддерживает форматирование текста
  • Время появления и исчезновения зависит от браузера
  • На мобильных устройствах часто недоступен
  • Не заменяет доступный текст для скринридеров

Альтернативы для лучшей доступности:

<div aria-label="Дополнительное описание" aria-describedby="help-text"> Важный элемент <span id="help-text" hidden>Это текст, который будет доступен скринридерам</span> </div> <div data-tooltip="Информация" class="custom-tooltip"> Элемент с кастомным тултипом </div> <style> .custom-tooltip:hover::after { content: attr(data-tooltip); position: absolute; background: #333; color: white; padding: 5px; border-radius: 3px; } </style>

Советы по использованию:

  • Используйте для кратких пояснений (не более 1-2 строк)
  • Избегайте дублирования видимого текста
  • Для важной информации используйте видимые подсказки
  • Проверяйте отображение в разных браузерах
  • Не полагайтесь только на title для критической информации

Пример с JavaScript:

<div id="dynamic-title" style="padding: 15px; background: #eee;"> Наведите для динамической подсказки </div> <script> const div = document.getElementById('dynamic-title'); div.title = `Текущее время: ${new Date().toLocaleTimeString()}`; // Обновление подсказки каждую секунду setInterval(() => { div.title = `Текущее время: ${new Date().toLocaleTimeString()}`; }, 1000); </script>

Сравнение с аналогичными технологиями:

Технология Преимущества Недостатки
Атрибут title Простота использования, встроенная в браузер Ограниченная стилизация, проблемы доступности
Кастомные тултипы (CSS) Полный контроль над стилем и поведением Требует дополнительного кода
ARIA-атрибуты Лучшая доступность Сложнее в реализации

Примечание: Хотя атрибут title удобен для простых подсказок, для важной информации рекомендуется использовать более надежные и доступные решения. В современных веб-приложениях часто заменяется специализированными библиотеками тултипов.