Атрибут hidden тега <article>
Описание
Атрибут hidden является булевым атрибутом, который указывает, что элемент <article> и всё его содержимое должно быть скрыто от пользователя. При наличии этого атрибута браузер не отображает элемент, но он остаётся в DOM-дереве.
Особенности работы:
| Характеристика | Описание |
|---|---|
| Визуальное отображение | Элемент полностью скрыт (аналог display: none) |
| Доступность | Скрыт от скринридеров и вспомогательных технологий |
| DOM-присутствие | Элемент остаётся в DOM-дереве |
| Стилизация | Нельзя переопределить через CSS |
Разница между hidden и CSS display:none:
Рекомендации по использованию:
- Важно: Не используйте hidden для временного скрытия контента, который должен быть доступен сразу - это плохая практика доступности
- Используйте для контента, который станет видимым только после определённых действий пользователя
- Альтернатива для динамического скрытия/показа - ARIA-атрибуты (aria-hidden)
- Не используйте для SEO-контента - поисковые системы могут расценить это как скрытый текст
Правильное использование в динамическом интерфейсе:
Предупреждение: Не используйте атрибут hidden для скрытия контента, который должен индексироваться поисковыми системами или быть доступным для скринридеров без взаимодействия пользователя.
Лучшие практики:
- Для контента, который должен быть доступен скринридерам, но скрыт визуально, используйте CSS-классы с position: absolute; left: -9999px
- Для временного скрытия в SPA-приложениях предпочтительнее условный рендеринг (v-if в Vue, {condition && ...} в React)
- При скрытии/показе обеспечивайте плавные переходы с помощью CSS-анимаций
Пример доступного скрытия:
Совет: Для сложных сценариев видимости/скрытия контента используйте комбинацию CSS-классов и ARIA-атрибутов (aria-expanded, aria-hidden) для лучшей доступности.
Примечание: Атрибут hidden является частью стандарта HTML5 и поддерживается всеми современными браузерами. Однако его семантическое значение отличается от CSS-свойств скрытия.