Wofür wird die Klasse sr-only
verwendet? Ist es wichtig oder kann ich es entfernen? Funktioniert gut ohne.
Hier ist mein Beispiel:
<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>
quelle
clipping
the class is used to hide information used for screen readers
? Versteckt es sich vor Screenreadern? Oder wird es einfach nicht im Browser angezeigt? Es ist klarer, wenn in der Dokumentation etwas wie "Die Klasse" Nur sr "gibt an, dass das Element nur für Bildschirmleser bestimmt ist und nicht im Browser angezeigt wird".Wie JoshC sagte, wird die Klasse verwendet, um Informationen zu verbergen, die für Bildschirmleser verwendet werden. Aber nicht nur, um Labels auszublenden, können Sie auch einen internen Link "Zum Hauptinhalt springen" vor den sehenden Benutzern verbergen, der für blinde Benutzer wünschenswert ist, wenn Sie eine komplexe Navigation oder Anzeigen vor dem Hauptinhalt haben.
Laut der Weltgesundheitsorganisation leiden 285 Millionen Menschen an Sehbehinderungen. Daher ist es wichtig, eine Website zugänglich zu machen.
UPDATE 2019:
Als Entwickler sollten wir zugängliche Inhalte bereitstellen, die einfach für alle sofort einsatzbereiten und nicht speziell auf Bildschirmleser ausgerichteten Inhalte funktionieren. Dies ist nicht immer möglich, aber seien Sie vorsichtig , wenn Sie die Einstellungen für ARIA und "Nur Bildschirmleser" verwenden . Tu es nicht, wenn du es nicht vollständig verstehst. Eine falsche Implementierung kann viel schlimmer sein, als sie überhaupt nicht zu verwenden. Bitte lesen Sie den Accessibility-Developer-Guide zu schlechten ARIA-Beispielen . Dort finden Sie auch vollständig zugängliche Komponenten / Widgets, für die keine Eingriffe "nur Bildschirmleser" erforderlich sind.
quelle
Ich habe dies im Beispiel der Navigationsleiste gefunden und vereinfacht.
Sie sehen, welches ausgewählt ist (
sr-only
Teil ist ausgeblendet):Sie hören, welches ausgewählt ist, wenn Sie einen Bildschirmleser verwenden:
Als Ergebnis dieser Technik sollen Blinde auf Ihrer Website einfacher navigieren.
quelle
.sr-only
ist ein Klassenname, der speziell für Screenreader verwendet wird. Sie können einen beliebigen Klassennamen verwenden, dieser wird jedoch.sr-only
häufig verwendet. Wenn Sie sich nicht für die Entwicklung unter Berücksichtigung der Compliance interessieren, kann diese entfernt werden. Die Benutzeroberfläche wird in keiner Weise beeinflusst, wenn sie entfernt wird, da das CSS für diese Klasse für Desktop- und Mobilgerätebrowser nicht sichtbar ist.Hier scheinen einige Informationen über die Verwendung von
.sr-only
zu fehlen , um seinen Zweck zu erklären und für Bildschirmleser zu sein. In erster Linie ist es sehr wichtig, immer behinderte Benutzer im Auge zu behalten. Eine Beeinträchtigung ist der Zweck der 508-Konformität: https://www.section508.gov/ , und es ist großartig, dass Bootstrap dies berücksichtigt. Die Verwendung von.sr-only
ist jedoch nicht alles, was für die Einhaltung von 508 berücksichtigt werden muss. Sie haben die Verwendung von Farbe, Schriftgröße, Zugänglichkeit über Navigation, Deskriptoren, Verwendung von Arien und vielem mehr.Aber
.sr-only
was macht das CSS eigentlich? Es gibt verschiedene leicht unterschiedliche Varianten des CSS, für die verwendet wird.sr-only
. Eine der wenigen, die ich benutze, ist unten:Das obige CSS verbirgt Inhalte in Desktop- und mobilen Browsern, die mit dieser Klasse umschlossen sind, wird jedoch von einem Bildschirmleser wie JAWS gesehen: http://www.freedomscientific.com/Products/Blindness/JAWS . Das Beispiel-Markup lautet wie folgt:
Wenn ein DOM-Element eine Breite und Höhe von 0 hat, wird das Element vom DOM nicht gesehen. Aus diesem Grund wird das oben genannte CSS verwendet
width: 1px; height: 1px;
. Wenn Siedisplay: none
Ihr CSS verwendenheight: 0
und auf und setzenwidth: 0
, wird das Element vom DOM nicht gesehen und ist daher problematisch. Die obige Verwendung von CSSwidth: 1px; height: 1px;
ist nicht alles, was Sie tun, um den Inhalt für Desktop- und mobile Browser unsichtbar zu machen (ohne dassoverflow: hidden
Ihr Inhalt weiterhin auf dem Bildschirm angezeigt wird) und für Bildschirmleser sichtbar zu machen. Das Ausblenden des Inhalts von Desktop- und mobilen Browsern erfolgt durch Hinzufügen eines Versatzes vonwidth: 1px
undheight: 1px
zuvor erwähnt durch:Um eine sehr gute Vorstellung davon zu haben, was ein Bildschirmleser sieht und an seinen beeinträchtigten Benutzer weiterleitet, deaktivieren Sie das Seiten-Styling für Ihren Browser. Für Firefox können Sie dies tun, indem Sie zu:
Ich hoffe, dass die Informationen, die ich hier zur Verfügung gestellt habe, zusätzlich zu den anderen Antworten für jemanden von weiterem Nutzen sind.
quelle
Stellt sicher, dass das Objekt nur für Lesegeräte und ähnliche Geräte angezeigt wird (oder werden sollte). Es gibt mehr Sinn im Zusammenhang mit anderen Elementen mit dem Attribut aria-hidden = "true" .
Glyphicon wird auf allen anderen Geräten angezeigt, Wortfehler : auf Textlesern .
quelle
Die
.sr-only
Klasse verbirgt ein Element für alle Geräte außerscreen readers:
Zum Hauptinhalt springen Kombinieren Sie .sr-only mit .sr-only-focusable, um das Element erneut anzuzeigen, wenn es fokussiert ist
quelle