Для чего используется класс sr-only
? Это важно или можно удалить? Работает нормально без.
Вот мой пример:
<div class="btn-group">
<button type="button" class="btn btn-info btn-md">Departments</button>
<button type="button" class="btn btn-info dropdown-toggle btn-md" data-toggle="dropdown">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Sales</a></li>
<li><a href="#">Technical</a></li>
<li class="divider"></li>
<li><a href="#">Show all</a></li>
</ul>
</div>
источник
clipping
the class is used to hide information used for screen readers
? Это скрывает от читателей экрана? Или это просто не отображается в браузере? Понятнее, если в документации говорится что-то вроде «класс sr-only указывает, что элемент предназначен только для программ чтения с экрана и не отображается в браузере».Как сказал JoshC, класс используется для сокрытия информации, используемой для программ чтения с экрана. Но не только для того, чтобы скрыть ярлыки, вы можете скрыть от зрячего пользователя внутреннюю ссылку «перейти к основному содержанию», что желательно для слепых пользователей, если у вас есть сложная навигация или реклама перед основным содержанием.
По данным Всемирной организации здравоохранения, 285 миллионов человек имеют нарушения зрения. Поэтому важно сделать сайт доступным.
ОБНОВЛЕНИЕ 2019:
Как разработчики, мы должны сделать доступным контент, который просто работает для всех из коробки и не предназначен специально для чтения с экрана. Это не всегда возможно, но будьте осторожны, используя настройки ARIA и «только для чтения с экрана» . Не делай этого, если не до конца понимаешь. Неправильная реализация может быть намного хуже, чем не использовать его вообще. Пожалуйста, прочитайте accessibility-developer-guide по плохим примерам ARIA . Там вы также найдете полностью доступные компоненты / виджеты, которые не требуют каких-либо вмешательств «только для чтения с экрана».
источник
Я нашел это в примере с навигационной панелью и упростил его.
Вы видите, какой из них выбран (
sr-only
часть скрыта):Вы слышите, какой из них выбран, если вы используете программу чтения с экрана:
В результате этой техники слепые люди должны легче ориентироваться на вашем сайте.
источник
.sr-only
это имя класса, специально используемое для программ чтения с экрана. Вы можете использовать любое имя класса, но.sr-only
оно довольно часто используется. Если вы не заботитесь о разработке с учетом соответствия, то его можно удалить. Это не повлияет на пользовательский интерфейс, если его удалить, потому что CSS для этого класса не виден для браузеров настольных компьютеров и мобильных устройств.Кажется, здесь отсутствует некоторая информация об использовании,
.sr-only
чтобы объяснить его назначение и предназначение для программ чтения с экрана. Прежде всего, очень важно всегда помнить об ослабленных пользователях. Нарушение является целью соответствия 508: https://www.section508.gov/ , и это здорово, что начальная загрузка учитывает это. Тем не менее, использование.sr-only
- это не все, что необходимо учитывать при соблюдении 508. Вы можете использовать цвет, размер шрифтов, доступность через навигацию, дескрипторы, использование арии и многое другое.Но что касается
.sr-only
- что на самом деле делает CSS? Есть несколько слегка отличающихся вариантов CSS для.sr-only
. Один из немногих я использую ниже:Вышеупомянутый CSS скрывает контент в настольных и мобильных браузерах, обернутых этим классом, но просматривается программой чтения с экрана, такой как JAWS: http://www.freedomscientific.com/Products/Blindness/JAWS . Пример разметки выглядит следующим образом:
Кроме того, если элемент DOM имеет ширину и высоту 0, этот элемент не виден DOM. Вот почему вышеупомянутый CSS использует
width: 1px; height: 1px;
. При использованииdisplay: none
и установке CSS вheight: 0
иwidth: 0
, элемент не виден DOM и, таким образом, проблематичен. Использование CSS вышеwidth: 1px; height: 1px;
- это не все, что вы делаете, чтобы сделать контент невидимым для настольных и мобильных браузеров (безoverflow: hidden
этого ваш контент все равно будет отображаться на экране) и видимым для программ чтения с экрана. Сокрытие контента от настольных и мобильных браузеров осуществляется путем добавления смещенияwidth: 1px
иheight: 1px
ранее упомянутых с помощью:Наконец, для того, чтобы иметь очень хорошее представление о том, что программа чтения с экрана видит и передает своему ослабленному пользователю, отключите стилизацию страницы для своего браузера. Для Firefox вы можете сделать это, перейдя в:
Я надеюсь, что предоставленная мною информация будет полезна кому-то в дополнение к другим ответам.
источник
Гарантирует, что объект отображается (или должен быть) только для читателей и подобных устройств. Это дает больше смысла в контексте с другим элементом с атрибутом aria-hidden = "true" .
Глификон будет отображаться на всех других устройствах, слово Ошибка: в текстовых ридерах.
источник
.sr-only
Класс скрывает элемент для всех устройств , кромеscreen readers:
Перейти к основному содержанию. Объедините .sr-only с .sr-only-focusable, чтобы снова показать элемент, когда он находится в фокусе.
источник