WebAIM имеет руководство по этому и рекомендует использовать абсолютное позиционирование. Также есть еще одно полезное руководство , которое стоит прочесть в TheA11yproject
Я рекомендую вам прочитать об этом полностью, но для удобства и ссылки приведу CSS из второго примера (спасибо за предложение, Виктор):
.screen-reader-only
{
position: absolute !important;
height: 1px; width: 1px;
overflow: hidden;
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
clip: rect(1px, 1px, 1px, 1px);
}
И тогда вы добавите класс для текста, которым вы хотите быть, ну, в общем, только для программ чтения с экрана. Э.Г.
<div class="screen-reader-only"><a href="#main">Skip to main content</a></div>
Естественно, вы можете назвать класс hidden
или visually-hidden
или что-то еще, что имеет для вас наибольшее значение.
Предостережение
Я бы использовал эту технику экономно и с учетом опыта пользователя при навигации.
Например, должно быть достаточно легко достичь вашего примера li
, применив его к диапазону внутри элемента li
.
<li><span class="screen-reader-only">.... </span>...</li>
Однако я бы сильно усомнился, действительно ли это необходимо. Предположительно, пользователь программного обеспечения для чтения с экрана уже знаком с тем, как его использовать, и имеет свой собственный способ навигации.
То, что может иногда быть проблемой для пользователей программ чтения с экрана, заключается в том, насколько загромождена и многословна семантика страницы (это не так просто и быстро, как целостный просмотр, в отличие от использования визуальных элементов). Добавление таких дополнительных уведомлений может просто способствовать решению этой проблемы.