Screen Reader Only CSS

Verborgener Text, der trotzdem ankommt

Links, Buttons, Sprunglink: drei Stellen für die sr-only-Klasse.

Website prüfen
Beispiel im Prüfbericht Markierter Befund
Markierter Befund · Kritisch · WCAG 2.4.4 und 4.1.2Leerer Verweis zum Seitenplan

Ein Pixel · zwei Ausgaben

Unsichtbar ist nicht verschwunden

Eine sr-only-Klasse verkleinert die sichtbare Box. Der Text bleibt im Dokument und kann den zugänglichen Namen ergänzen. Diese Lupe zeigt beide Wege.

rechnungen.example

Rechnungen

RE-104212. März 2026
PDF

Sichtbar: „PDF“

Vergrößerung1 × 1 CSS-Pixel

In dieser ausgeschnittenen Box steht weiterhin: „ zu Rechnung RE-1042“

Accessibility-Baum

RolleLink
NamePDF zu Rechnung RE-1042

Ausgegeben: „PDF zu Rechnung RE-1042, Link“

Schematische Darstellung, nicht maßstabsgetreu. Die CSS-Box wird abgeschnitten; der Textknoten bleibt Teil des Links.

Drei Eigenschaften, drei verschiedene Zustände

sr-only

Visuell verborgenIm Accessibility-Baum vorhanden

:focus

Wieder sichtbarFür fokussierbare Sprunglinks

display: none

Für alle verborgenAus Darstellung und Baum entfernt

Kopierbare Basis

Die Box verkleinern, den Inhalt behalten

position: absolute nimmt die Ein-Pixel-Box aus dem Layout. clip-path schneidet sie aus; white-space verhindert, dass langer Text über mehrere unsichtbare Zeilen läuft.

  • 1 × 1 px begrenzt die Box.
  • overflow + clip-path schneiden den Inhalt ab.
  • Kein display: none erhält die assistive Ausgabe.
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

Variante für Sprunglinks

Bei Fokus aus dem Pixel holen

Ein fokussierbarer Link darf nicht unsichtbar bleiben. Die Zusatzklasse setzt alle begrenzenden Eigenschaften zurück und platziert den Link im Sichtfeld.

.sr-only-focusable:focus {
  position: fixed;
  inset: 1rem auto auto 1rem;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0.75rem 1rem;
  overflow: visible;
  clip-path: none;
  white-space: normal;
  background: Canvas;
  color: CanvasText;
  border: 2px solid currentColor;
  z-index: 1000;
}
<a class="sr-only sr-only-focusable" href="#inhalt">
  Zum Inhalt springen
</a>

Drei passende Einsätze — mit Grenze

Icon-Schaltfläche

Ein kurzer sr-only-Text gibt dem allein sichtbaren Symbol einen Namen.

<span class="sr-only">Menü öffnen</span>

Kurzer Link im Kontext

Der Zusatz unterscheidet gleichlautende PDF-Links. Sichtbarer Klartext ist besser, wenn Platz da ist.

PDF <span class="sr-only">zu RE-1042</span>

Sprunglink

Er darf anfangs verborgen sein, muss beim ersten Tastaturfokus deutlich erscheinen.

class="sr-only sr-only-focusable"

Nicht als allgemeine Textablage verwenden. Viele wiederholte Zusätze machen die Ausgabe unnötig lang. Verbergen Sie nur Text, der einen Namen oder Kontext wirklich vervollständigt.

So prüfen Sie es

Auge, Tastatur, Baum

  1. Auge: Der Zusatz darf bei normaler Darstellung keinen Platz belegen.
  2. Tastatur: Ein Sprunglink muss beim ersten Tab sichtbar werden.
  3. Baum: Die Browser-Werkzeuge müssen den vollständigen Namen zeigen.

Aus dem Prüfbericht

Vier Stellen, vier Befunde

Zum Mitnehmen

Die sr-only-Klasse, korrigiert

Eine Hilfsklasse, ein sichtbarer Fokuszustand, kein aria-hidden.

Korrektur in 3 Schritten ansehen
  1. Die Hilfsklasse richtig schreiben

    display none entfernt den Text auch aus der Ausgabe. Ein Ausschnitt von einem Pixel verbirgt ihn nur visuell.

    KorrekturvergleichSchritt 1 · CSS

    Vorher

    .sr-only {
      display: none;
    }

    Nachher

    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip-path: inset(50%);
      white-space: nowrap;
    }

    Markierte Zeilen wurden geändert

    So prüfen Sie es Fahren Sie mit einem Vorleseprogramm über die Stelle. Der Text wird gelesen, ist aber nicht zu sehen.

  2. Den Sprunglink bei Fokus zeigen

    Der Sprunglink ist das erste Ziel der Tab-Taste. Bei Fokus verlässt er die Hilfsklasse und wird sichtbar.

    KorrekturvergleichSchritt 2 · CSS

    Vorher

    .skip-link {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
    }

    Nachher

    .skip-link {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
    }
    
    .skip-link:focus {
      width: auto;
      height: auto;
      padding: 0.5rem 1rem;
      background: #ffffff;
    }

    Markierte Zeilen wurden geändert

    So prüfen Sie es Laden Sie die Seite und drücken Sie einmal Tab. Der Sprunglink erscheint oben links.

  3. aria-hidden durch sr-only ersetzen

    Ein verborgener Bereich mit Link widerspricht sich. Das Attribut entfällt; Zusatztexte bekommen stattdessen die Hilfsklasse.

    KorrekturvergleichSchritt 3 · HTML

    Vorher

    <div aria-hidden="true">
      <a href="/archiv/">Archiv öffnen</a>
    </div>

    Nachher

    <div>
      <a href="/archiv/">Archiv öffnen</a>
    </div>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Drücken Sie Tab, bis der Link Fokus hat. Ein Vorleseprogramm nennt ihn jetzt.

Werbung

Kostenloser Website-Barrierefreiheits-Check

Website auf Barrierefreiheit prüfen.

Technische WCAG-Warnsignale erkennen. Kritische Stellen zuerst prüfen.

Der Website-Check ist bereit.

Werbung

Ein letzter Schritt

Prüfen, bevor Sie gehen.

Finden Sie automatisch erkennbare Barrieren auf Ihrer eigenen Website.

Website prüfen

Kostenlos starten · keine Installation

Automatisches Screening. Tastaturbedienung und Screenreader bleiben manuelle Prüfung.