Каковы различные способы визуального скрытия контента (и его доступности только для скринридеров)?
Скрытие контента для визуальных пользователей, при этом сохранение его доступности для скринридеров — важная задача для фронтенд-разработчиков, стремящихся сделать свои веб-приложения доступными для всех. Существует несколько методов достижения этой цели, каждый из которых имеет свои особенности и применения.
1. Использование CSS классов
Один из самых распространенных способов скрытия контента — это создавать специальные CSS классы, которые скрывают элемент от визуального восприятия, но делают его доступным для скринридеров.
Пример:
.visually-hidden {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
И затем примените этот класс в HTML:
<span class="visually-hidden">Дополнительная информация для скринридеров.</span>
Этот код перемещает элемент за пределы видимости и делает его недоступным для визуальных пользователей, но он все равно будет доступен для читателей с экрана.
2. Использование атрибутов ARIA
Также вы можете использовать атрибуты ARIA, такие как aria-hidden
, чтобы скрыть элементы от скринридеров. Однако, это решение не делает элемент "внутренне" скрытым, а просто сообщает технологии assistive, что элемент должен игнорироваться.
Пример:
<div aria-hidden="true">
Я не доступен для скринридеров.
</div>
Чтобы сделать элемент доступным только для скринридера, потеряйте атрибут aria-hidden
или установите его на false
.
3. Использование свойства display: none
Свойство display: none
также может быть использовано для скрытия контента, но имейте в виду, что это не рекомендуется для контента, который должен быть доступен для скринридеров. Элементы с display: none
полностью удаляются из потока документа, и скринридеры не могут их обнаружить.
Таким образом, для элементов, которые должны быть скрыты (но всё равно должны быть доступны), этот метод не подходит.
Пример:
<div style="display: none;">Скрыто и недоступно для всех.</div>
Заключение
Скрытие контента — это важный аспект веб-доступности. Использование класса .visually-hidden
является одним из лучших способов скрыть элементы от визуальных пользователей, сохраняя их доступными для технологий, поддерживающих доступность. Всегда помните о том, что веб-приложение должно быть доступным для всех пользователей, независимо от их способностей.