kind: reference search: Barrierefreiheit, Accessibility, a11y, Screenreader, Kontrast, Alt-Text, Tastatur, WCAG, BITV, BFSG

Barrierefreiheit

Eine Website ist barrierefrei, wenn alle sie benutzen können: wer nicht sieht und sie sich vorlesen lässt, wer nur die Tastatur benutzt, wer Farben schlecht unterscheidet, wer die Schrift groß braucht oder nicht hört, was ein Video sagt. Hier stehen die wichtigsten Regeln, was das Gesetz dazu sagt und wie du deine eigene Seite prüfst.

1. Was Barrierefreiheit heißt

Menschen benutzen das Internet auf sehr verschiedene Weise. Wer blind ist, hört die Seite von einem Screenreader, einem Programm, das vorliest, was auf ihr steht, und springt mit der Tastatur von Überschrift zu Überschrift. Wer die Maus nicht halten kann, bedient alles mit der Tastatur oder mit der Stimme. Wer schlecht sieht, vergrößert die Seite auf das Doppelte oder mehr. Und viele Barrieren treffen alle einmal: helle Sonne auf dem Bildschirm, ein Video in der Bahn ohne Ton, ein gebrochener Arm.

Barrierefreiheit ist darum keine Zugabe für wenige. Sie entsteht beim Bauen: mit dem richtigen HTML-Element, einem Text für jedes Bild, genug Kontrast. Hinterher lässt sie sich nur mühsam nachrüsten.

Die Regeln dafür stehen in den Web Content Accessibility Guidelines (WCAG) des W3C, heute in der Fassung 2.2. Sie haben drei Stufen, A, AA und AAA; Gesetze verlangen meist AA.

2. Die wichtigsten Regeln

Die WCAG ordnen ihre Regeln nach vier Grundsätzen. In Klammern steht die Nummer der Regel in den WCAG 2.2 und ihre Stufe.

Regel Was sie verlangt
Wahrnehmbar: alles, was die Seite zeigt, kommt auch an, wenn man es nicht sieht oder hört
Text für Bilder
1.1.1, A
Jedes Bild hat ein alt, das sagt, was es zeigt; ein Bild nur zur Zierde hat alt="", damit der Screenreader es überspringt.
Untertitel
1.2.2, A
Ein Video mit Ton hat Untertitel.
Kontrast
1.4.3, AA
Text hebt sich mindestens 4,5 : 1 vom Hintergrund ab, großer Text (ab 18 Punkt, fett ab 14) mindestens 3 : 1.
Nicht nur Farbe
1.4.1, A
Was eine Farbe sagt, sagt auch noch etwas anderes: ein Fehler ist rot und hat ein Zeichen oder ein Wort, ein Link ist blau und unterstrichen.
Vergrößern
1.4.4 und 1.4.10, AA
Auf das Doppelte vergrößert und auf 320 Pixel Breite geht nichts verloren und nichts muss seitwärts geschoben werden.
Bedienbar: alles lässt sich bedienen, auch ohne Maus
Tastatur
2.1.1, A
Jeder Link, Knopf und jedes Feld ist mit Tab erreichbar und mit Enter oder der Leertaste zu benutzen.
Fokus sichtbar
2.4.7, AA
Man sieht, wo man mit der Tastatur gerade ist; outline: none ohne Ersatz nimmt das weg.
Große Klickflächen
2.5.8, AA
Was man anklickt oder antippt, ist mindestens 24 × 24 Pixel groß oder hat so viel Abstand zum nächsten.
Verständlich: man weiß, was die Seite tut und was sie will
Sprache
3.1.1, A
<html lang="de">: Der Screenreader liest dann deutsch vor, nicht mit englischer Aussprache.
Beschriftungen
3.3.2, A
Jedes Eingabefeld hat ein <label>, das sagt, was hinein soll.
Robust: Browser und Hilfsprogramme verstehen, was auf der Seite ist
Das richtige Element
4.1.2, A
Ein Knopf ist ein <button>, ein Link ein <a href>, eine Überschrift ein <h2>: Nur dann wissen Screenreader, was es ist, und die Tastatur kommt hin. Ein <div> mit onclick kann das alles nicht von selbst.

Nur Farbe

Eine Rot-Grün-Schwäche ist häufig: In Europa hat sie etwa jeder zwölfte Mann. Wer sie hat, sieht Rot und Grün als ähnliche Brauntöne. Eine Liste, in der nur ein grüner oder ein roter Punkt sagt, was gelöst ist, sagt dann nichts mehr, und ein Feld, dessen Fehler nur ein roter Rahmen zeigt, sieht aus wie jedes andere. Ein Zeichen und ein Wort dazu gehen nicht verloren, auch nicht in Grau, auf einem schlechten Beamer oder beim Ausdruck.

Kontrast

Wie gut sich Text vom Hintergrund abhebt, misst das Kontrastverhältnis: von 1 : 1, Grau auf demselben Grau, bis 21 : 1, Schwarz auf Weiß. Helles Grau auf Weiß sieht auf einem guten Bildschirm elegant aus, auf dem Handy in der Sonne ist es kaum zu lesen.

Was ein Screenreader hört

Ein Screenreader sieht die Seite nicht, er liest ihr HTML. Was dort nicht steht, erfährt niemand, der ihm zuhört. Aus <img src="rocket.png"> wird etwa »Grafik: rocket«, der Name der Datei; mit alt="Eine Rakete beim Start" wird daraus »Grafik: Eine Rakete beim Start«. Ein <div onclick> liest er wie jeden anderen Text vor, ohne zu sagen, dass man es anklicken kann, und mit der Tastatur kommt man nicht hin; ein <button> heißt »Schalter«, und Tab erreicht ihn.

Ausprobieren kannst du das alles im Labor Fair, barrierefrei, sicher: eine Seite mit anderen Augen sehen, lesen, was ein Screenreader aus ihr macht, den Kontrast selbst ausrechnen und die Barrieren einer Seite Schritt für Schritt ausbauen.

3. Was das Gesetz sagt

  • Öffentliche Stellen: Websites und Apps von Behörden müssen barrierefrei sein, für den Bund nach der Barrierefreie-Informationstechnik-Verordnung (BITV 2.0), in den Ländern nach ihren eigenen Gesetzen. Maßstab sind die harmonisierten europäischen Normen, für Websites die EN 301 549. Jede Seite muss eine Erklärung zur Barrierefreiheit verlinken, die sagt, was noch nicht barrierefrei ist, und jährlich erneuert wird (§ 7 BITV 2.0).
  • Unternehmen: Seit dem 28. Juni 2025 gilt das Barrierefreiheitsstärkungsgesetz (BFSG), mit dem Deutschland den European Accessibility Act der EU umsetzt. Es verlangt Barrierefreiheit unter anderem von Online-Shops und anderen Diensten, mit denen Verbraucherinnen und Verbraucher im Internet einen Vertrag schließen (§ 1 Abs. 3 Nr. 5 BFSG). Ausgenommen sind Kleinstunternehmen, die Dienstleistungen anbieten: weniger als zehn Beschäftigte und höchstens 2 Millionen Euro Umsatz oder Bilanzsumme im Jahr (§ 3 Abs. 3 und § 2 Nr. 17 BFSG).

4. Eine zugängliche Seite

Die Elemente erklärt die Seite HTML, das Aussehen CSS.

<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="utf-8">
  <title>Anmeldung zur Hacker-AG</title>
</head>
<body>
  <h1>Anmeldung zur Hacker-AG</h1>
  <img src="ag.jpg" alt="Sechs Lernende an Laptops, einer zeigt auf seinen Bildschirm">
  <h2>Deine Angaben</h2>
  <form>
    <label for="name">Dein Name</label>
    <input id="name" type="text" autocomplete="name">
    <button type="submit">Anmelden</button>
  </form>
</body>
</html>
  • lang="de" sagt dem Screenreader die Sprache.
  • Die Überschriften gehen der Reihe nach, h1 dann h2; wer nicht sieht, springt an ihnen entlang durch die Seite.
  • for und id verbinden die Beschriftung mit dem Feld: Ein Klick auf »Dein Name« setzt den Cursor hinein, und der Screenreader liest sie vor.
  • Ein echter <button> ist mit der Tastatur erreichbar und sagt, dass er ein Knopf ist.

Dazu gehört etwas CSS:

:focus-visible {
  outline: 3px solid #1a5fb4;
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}

Der Rahmen zeigt, wo die Tastatur gerade ist, und wer im System »weniger Bewegung« eingestellt hat, bekommt keine Animationen, die schwindlig machen können.

5. Selbst prüfen

  1. Nur Tastatur: Leg die Maus weg und geh mit Tab und Shift+Tab durch die Seite. Kommst du überall hin, siehst du immer, wo du bist, und geht alles mit Enter und der Leertaste?
  2. Vergrößern: Strg++ bis 200 %. Ist noch alles da, ohne dass du seitwärts schieben musst?
  3. Vorlesen lassen: Ein Screenreader ist in jedem System schon dabei oder kostenlos: VoiceOver auf dem Mac und dem iPhone, TalkBack auf Android, Orca unter Linux, NVDA für Windows. Hör dir deine Seite mit geschlossenen Augen an.
  4. Kontrast messen: Der Contrast Checker von WebAIM rechnet aus zwei Farben das Verhältnis aus.
  5. Werkzeuge im Browser: Lighthouse in den Entwicklerwerkzeugen von Chrome findet fehlende alt, Beschriftungen und zu wenig Kontrast; der Barrierefreiheits-Inspektor von Firefox zeigt, was ein Screenreader von jedem Element erfährt. Was ein Werkzeug nicht findet, ist damit noch nicht in Ordnung: Ob ein alt das Bild wirklich beschreibt, sieht nur ein Mensch.

6. Zum Nachschlagen