Do czego służy klasa sr-only
? Czy to ważne, czy mogę to usunąć? Działa dobrze bez.
Oto mój przykład:
<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>
źródło
clipping
the class is used to hide information used for screen readers
? Czy to ukrywa się przed czytnikami ekranu? A może po prostu nie wyświetla się w przeglądarce? Wyraźniej jest, jeśli dokumentacja mówi coś w rodzaju „klasa tylko sr wskazuje, że element jest tylko dla czytników ekranu i nie jest wyświetlany w przeglądarce”.Jak powiedział JoshC, klasa służy do ukrywania informacji używanych w czytnikach ekranu. Ale nie tylko w celu ukrycia etykiet, możesz rozważyć ukrycie przed widzącym użytkownikiem wewnętrznego linku „przejdź do głównej zawartości”, który jest pożądany dla niewidomych użytkowników, jeśli masz złożoną nawigację lub reklamy przed główną treścią.
Według Światowej Organizacji Zdrowia 285 milionów osób ma zaburzenia widzenia. Dlatego udostępnienie strony internetowej jest ważne.
AKTUALIZACJA 2019:
Jako programiści powinniśmy udostępnić dostępną treść, która po prostu działa dla wszystkich gotowych, a nie specjalnie ukierunkowanych czytników ekranu. Nie zawsze jest to możliwe, ale należy zachować ostrożność przy korzystaniu z ARIA i regulacji „tylko czytnik ekranu” . Nie rób tego, jeśli nie rozumiesz tego w pełni. Niepoprawna implementacja może być znacznie gorsza niż jej nieużywanie. Zapoznaj się z instrukcją dewelopera dostępności na złych przykładach ARIA . Znajdziesz tam również w pełni dostępne komponenty / widżety, które nie wymagają żadnych interwencji typu „tylko czytnik ekranu”.
źródło
Znalazłem to w przykładzie paska nawigacyjnego i uprościłem.
Widzisz, który jest wybrany (
sr-only
część jest ukryta):Słyszysz, który z nich jest wybrany, jeśli używasz czytnika ekranu:
W wyniku tej techniki osoby niewidome powinny łatwiej poruszać się po Twojej stronie.
źródło
.sr-only
to nazwa klasy używana specjalnie dla czytników ekranu. Możesz użyć dowolnej nazwy klasy, ale.sr-only
jest ona dość często używana. Jeśli nie zależy Ci na rozwoju z myślą o zgodności, możesz go usunąć. Nie wpłynie to w żaden sposób na interfejs użytkownika, jeśli zostanie usunięty, ponieważ CSS dla tej klasy nie jest widoczny w przeglądarkach na komputery i urządzenia mobilne.Wydaje się, że brakuje tutaj niektórych informacji na temat użycia
.sr-only
celu wyjaśnienia jego przeznaczenia i korzystania z czytników ekranu. Przede wszystkim bardzo ważne jest, aby zawsze pamiętać o użytkownikach z ograniczoną odpowiedzialnością. Utrata wartości jest celem zgodności 508: https://www.section508.gov/ , i świetnie, że bootstrap bierze to pod uwagę. Jednak stosowanie.sr-only
nie jest wszystkim, co należy wziąć pod uwagę w przypadku zgodności 508. Masz do dyspozycji kolor, rozmiar czcionek, dostępność poprzez nawigację, deskryptory, użycie arii i wiele więcej.Ale jeśli chodzi o
.sr-only
- co faktycznie robi CSS? Istnieje kilka nieco różnych wariantów CSS.sr-only
. Jeden z niewielu, których używam, jest poniżej:Powyższy CSS ukrywa zawartość w przeglądarkach stacjonarnych i mobilnych opakowanych w tę klasę, ale jest widziany przez czytnik ekranu taki jak JAWS: http://www.freedomscientific.com/Products/Blindness/JAWS . Przykład znaczników jest następujący:
Dodatkowo, jeśli element DOM ma szerokość i wysokość 0, element nie jest widziany przez DOM. Właśnie dlatego wykorzystuje powyższy CSS
width: 1px; height: 1px;
. Używającdisplay: none
i ustawiając CSS naheight: 0
iwidth: 0
, element nie jest widziany przez DOM i dlatego jest problematyczny. Powyższe użycie CSSwidth: 1px; height: 1px;
nie jest wszystkim, co robisz, aby zawartość była niewidoczna dla przeglądarek na komputery i urządzenia mobilne (bez niejoverflow: hidden
zawartość nadal byłaby wyświetlana na ekranie) i widoczna dla czytników ekranu. Ukrywanie treści z komputerów stacjonarnych i mobilnych przeglądarkach odbywa się poprzez dodanie przesunięcie odwidth: 1px
aheight: 1px
wcześniej wspomniano, używając:Wreszcie, aby mieć bardzo dobry pomysł na to, co czytnik ekranu widzi i przekazuje upośledzonemu użytkownikowi, wyłącz stylizację strony w przeglądarce. W przypadku przeglądarki Firefox możesz to zrobić, przechodząc do:
Mam nadzieję, że informacje, które tu podałem, będą przydatne dla kogoś oprócz innych odpowiedzi.
źródło
Zapewnia, że obiekt jest wyświetlany (lub powinien być) tylko dla czytników i podobnych urządzeń. Daje to więcej sensu w kontekście z innym elementem z atrybutem aria-hidden = "true" .
Glifikon będzie wyświetlany na wszystkich innych urządzeniach, słowo Błąd: w czytnikach tekstu.
źródło
.sr-only
Klasa ukrywa element do wszystkich urządzeń z wyjątkiemscreen readers:
Przejdź do głównej zawartości Połącz tylko .sr z .sr-only-focusable, aby wyświetlić element ponownie, gdy jest on skupiony
źródło