Атрибут hidden тега <a>
Описание
Атрибут hidden скрывает ссылку <a> от пользователя, делая её невидимой и недоступной для взаимодействия. Это булевый атрибут, не требующий значения.
<a href="#" hidden>Скрытая ссылка</a>
Особенности работы:
| Характеристика | Описание |
|---|---|
| Видимость | Полностью скрывает элемент (аналог display: none) |
| Доступность | Удаляется из accessibility tree |
| Взаимодействие | Ссылка недоступна для кликов и фокуса |
| Наследование | Не влияет на дочерние элементы |
Разница с CSS display: none
- Семантика:
hiddenявно указывает на скрытое состояние - Производительность: Браузер может оптимизировать рендеринг
- Доступность: Лучше обрабатывается скринридерами
- Специфичность: Не переопределяется CSS (если не !important)
<!-- Плохо: ссылка видна скринридерам, но не визуально -->
<a href="/secret" style="opacity: 0; position: absolute;">Секретная</a>
<!-- Правильно: полностью скрытое состояние -->
<a href="/admin" hidden aria-hidden="true">Админка</a>
<!-- Временное скрытие -->
<a href="#" id="temp-link">Исчезнет через 5с</a>
<script>setTimeout(() => temp-link.hidden = true, 5000)</script>
Рекомендации по использованию:
- Используйте для элементов, которые должны быть полностью скрыты
- Для временного скрытия предпочтительнее CSS-классы
- Сочетайте с
aria-hidden="true"для гарантированного скрытия - Не используйте для скрытия контента, который должен быть доступен скринридерам
- Альтернатива - рендерить ссылку только при необходимости
Важно: Не используйте hidden для скрытия контента, который должен оставаться доступным для SEO или скринридеров. В таких случаях применяйте CSS-техники (например, visually-hidden класс).