Gehirngerecht Digital

WCAG-Kriterien für: Entwicklung

Ein blaues Viereck mit Sonnenbrille und einem Mund. Es hat eine Maus und eine Tastatur in der Hand. Es symbolisiert Entwicker*innen.

Filter:

Kurzbeschreibung:

Grafische Bedienelemente, wie klickbare Icons oder klickbare Bilder, benötigen einen Namen, damit auch Screenreader-User die Funktion der Grafik verstehen. Das geht zum Beispiel mit Text im Alt-Attribut oder einem aria-label.

Zwei Pfeile. Einer hat kein Aria-Label. Das Zweite hat eins, in dem s steht die Funktion: Zurück.

Kurzbeschreibung:

CAPTCHAs brauchen Alternativen. Ein Audio-CAPTCHA braucht ein Bild-CAPTCHA als Alternative und umgekehrt. Bildbasierte CAPTCHAs brauchen auch einen Text im Alt-Attribut, der den Zweck des CAPTCHAs beschreibt.

Eine Illustration von einem Text-CAPTCHA, bei dem man Buchstaben und Zahlen eingeben muss. Daneben ist ein alternatives Audio-CAPTCHA, bei dem man etwas anhören und dann die Antwort darauf eintippen muss.

Kurzbeschreibung:

Inhalte, die optisch wie Listen aussehen, müssen im HTML auch als Listen ausgezeichnet sein. Dafür kannst du entweder <ul>, <ol> oder <dl> nutzen, je nachdem, wofür die Liste gedacht ist.

Beispiel einer ungeordneten Liste und den richtigen HTML-Elementen dafür.

Kurzbeschreibung:

Formulare müssen so aufgebaut sein, dass ihre Struktur und Zusammenhänge auch im Code richtig hinterlegt sind. Dazu gehört, dass jedes Feld einen verständlichen Namen hat und Gruppen von Feldern programmatisch als Einheit ausgezeichnet werden.

Eine Illustration von einem Kontaktformular. Man sieht das Input-Feld für Vorname. Darüber ist eine Beschriftung des Feldes, die durch das HTML "for"-Element mit dem Input-Feld darunter verknüpft ist.

Kurzbeschreibung:

Für Absätze und formatierte Texte (fett oder kursiv) müssen die richtigen HTML-Tags verwendet werden. Im Fließtext dürfen keine Abstände mit doppelten Zeilenumbrüchen (<br><br>) erzeugt werden.

Beispiel von einem Paragrafen, der einen gefetteten Text beinhaltet. Der Text wurde hier richtig mit einem strong-Tag gefettet.

Kurzbeschreibung:

Wenn eine Webseite HTML-Tabellen für das Layout benutzt, dürfen diese keine Semantik (<table>, <th>, <td>) haben, damit Screenreader sie nicht als Tabellen auslesen. 

Eine Illustration von einem Layout, dass mit einer Tabellenstruktur gemacht wurde. Das HTML-Mark-up im Tabellen-header ist durchgestrichen, weil es nicht verwendet werden darf.

Kurzbeschreibung:

Informationen, die visuell in Tabellenform dargestellt werden, müssen auch im HTML als Tabelle ausgezeichnet sein. So können assistive Technologien die Inhalte richtig auslesen.

Eine Tabelle mit einer Kopfzeile. Dazu sind die richtigen HTML-Elemente angegeben.

Kurzbeschreibung:

Die Header von Tabellen müssen als <th> und die Inhalte als <td> ausgezeichnet werden. Bei komplexen Tabellen mit mehreren Headern brauchst du außerdem das »scope«-Attribut, um die Zusammenhänge klarzumachen.

Eine Illustration einer Tabelle. Die Tabelle hat zwei Kopfzeilen, ein mal oben und ein mal links. Es sind die HTML-Attribute zu sehen, die man benötigt, um das zu beschreiben. Und zwar scope ist gleich "row" und scope ist gleich "col".

Kurzbeschreibung:

Überschriften müssen auch im HTML als solche ausgezeichnet sein (h1 bis h6) und sollten in der richtigen Reihenfolge stehen – also zum Beispiel keine <h5> direkt nach einer <h2>.

In einem Browserfenster sind drei Überschriften untereinander dargestellt. Die Größte steht oben und ist mit einem Tag als h1 gekennzeichnet. Darunter folgen eine kleinere h2 und eine noch kleinere h3.

Kurzbeschreibung:

Alleinstehende Zitate müssen als <blockquote> ausgezeichnet sein. Das können etwa Feedbacks von Kund*innen sein, die einzeln auf der Webseite stehen. Im Fließtext braucht ein Zitat dagegen nicht unbedingt eine Auszeichnung.

In einer Sprechblase steht: "Ich bin eine Kundenreview auf der Seite." Der Text ist in dem HTML-Element Blockquote angezeigt.

Kurzbeschreibung:

Die visuelle Anordnung (z. B. mit CSS-Grids) darf die logische Reihenfolge von Inhalten nicht beeinflussen. Zusammengehörende Elemente, wie eine Überschrift und ein Text, müssen auch so von Screenreadern gelesen werden können.

Illustration einer Webseite, in der die Elemente mit Zahlen benannt sind, um die Reihenfolge anzuzeigen.

Kurzbeschreibung:

Man muss eine Website sowohl im Hoch- als auch im Querformat anschauen können. Das Wechseln des Formats darf nicht blockiert werden.

Zwei Illustrationen von einem Handy. Ein mal steht es und ein mal liegt es. Darin ist ein Kontaktformular gezeigt, dass seine Anordnung ändert, wenn das Handy anders gehalten wird.

Kurzbeschreibung:

Wenn User persönliche Daten (Name, Adresse, Passwort) eingeben müssen, brauchen die Formularfelder ein autocomplete-Attribut mit den richtigen Werten. Beispiel für den Namen: autocomplete=”given-name”

Illustration von einem Formularfeld. Darauf steht Personen-Daten-Formular. Es sind zwei Eingabefelder zu sehen, Name und E-Mail-Adresse. Darunter ist jeweils ein autocomplete-Tag mit der richtigen Bezeichnung für das Feld.

Kurzbeschreibung:

Deine Website muss auch bei 320 px Breite (oder 400 % Zoom bei 1280 px) so funktionieren, dass alle Inhalte und Funktionalitäten erhalten bleiben und Texte nicht horizontal und vertikal gescrollt werden müssen.

Ein Text, der sich richtig anpasst, wenn man zoomt.

Kurzbeschreibung:

Wenn User den Zeilen- oder Buchstabenabstand von Texten vergrößern, dürfen die Texte nicht abgeschnitten oder verdeckt werden.

Zwei Verstöße gegen das Kriterium: Einmal werden Texte einfach abgeschnitten und einmal überlagern sie sich mit anderen Texten.

Kurzbeschreibung:

Elemente, die per Fokus oder Hover eingeblendet werden (wie Untermenüs), sollten per ESC-Taste zu schließen sein. Außerdem dürfen sie sich weder von selbst wieder schließen noch während man mit der Maus über sie fährt.

Illustration von einer Website mit Navigation. Ein Menü-Punkt hat ein Untermenü, welches ausgeklappt ist. Ein Mauszeiger hovert über den obersten Menü-Punkt.

Kurzbeschreibung:

Wenn deine Website automatisch Ton abspielt, der länger als drei Sekunden dauert, musst du eine Möglichkeit bieten, den Ton abzuschalten.

Eine Illustration einer Audiodatei auf einer Website. Die Audiodatei läuft, man kann sie aber über einen Button stoppen.

Kurzbeschreibung:

Eine Webseite muss auf 200 % vergrößert werden können, ohne dass dabei Texte oder andere Inhalte verdeckt werden oder ganz verschwinden. Alle wichtigen Funktionen der Webseite müssen weiterhin bedienbar bleiben.

Illustration einer Webseite. Einmal mit normaler Textgröße und einmal mit 200 % Textgröße.

Kurzbeschreibung:

Eine Website muss komplett mit der Tastatur bedienbar sein. Dabei muss man alle Inhalte erreichen können, und alle wichtigen Funktionen müssen ausgeführt werden können.

Eine Illustration einer Tastatur

Kurzbeschreibung:

Wenn ein Element den Fokus über die Tastatur erhalten kann, muss es auch möglich sein, den Fokus per Tastatur wieder wegzubewegen. Man muss also mit der Tab-Taste, den Pfeiltasten, ESC oder Enter das Element wieder verlassen können.

Ein Modal, dessen Schließ-Button nicht mit der Tastartur zu erreichen ist.

Kurzbeschreibung:

Wenn deine Website einzelne Zeichen (Buchstaben, Ziffern, Sonderzeichen) mit Funktionen belegt, sollten diese Tastenkürzel anpassbar oder abschaltbar sein.

Einstellungen zu Tastenbefehlen, Illustration von den Tasten, S, Z und M. Daneben steht, wofür sie Kurzbefehle sind und ein Switch-Knopf, um sie an- und auszuschalten.

Kurzbeschreibung:

Zeitliche Begrenzungen auf einer Seite müssen abschaltbar oder verlängerbar sein. Man darf User also nicht einfach ausloggen, ohne sie zu warnen oder ihnen zu ermöglichen, die Zeit zu verlängern.

Illustration eines Modals, das den Nutzer warnt, dass er in 20 Sekunden ausgeloggt wird.

Kurzbeschreibung:

Animationen, die auf deiner Website automatisch starten und länger als 5 Sekunden dauern, müssen pausiert, gestoppt oder ausgeblendet werden können.

Eine Illustration von einem Slider auf einer Webseite. Der Slider hat ein Pause-Knopf, um ihn anzuhalten.

Kurzbeschreibung:

Deine Website darf keine Elemente enthalten, die größer als 148 × 148 Pixel (Richtwert) sind und öfter als dreimal pro Sekunde aufblitzen. Dazu gehören zum Beispiel blinkende GIFs oder flackernde Sequenzen in Videos.

Unser Maskottchen Tine, dem ganz schwummrig ist, weil eine Website zu viel geflackert hat!

Kurzbeschreibung:

Auf einer Website muss es möglich sein, wiederholende Bereiche (wie Header und Footer) zu überspringen. Nutze dafür am besten versteckte Sprunglinks oder HTML-Landmarks.

Ein Beispiel von einem Sprunglink, der in einem Header angezeigt wird und mir ermöglicht direkt zum Hauptinhalt zu springen.

Kurzbeschreibung:

Interaktive Elemente dürfen, wenn sie per Tastatur fokussiert sind, nicht vollständig von anderen Inhalten verdeckt werden. Sticky-Header, aufklappbare Menüs oder Dialoge dürfen zum Beispiel keine fokussierten Elemente überdecken.

Ein Sticky-Header überdeckt einen Button.

Kurzbeschreibung:

Jede Unterseite muss einen sinnvollen HTML-Titel haben, damit man sie im Browser leicht finden kann. Der Titel sollte den »Namen der aktuellen Seite« plus den »Namen der ganzen Webseite« enthalten.

Illustration einer Website mit Titel, bestehend aus dem Namen der Seite, auf der man sich befindet, sowie dem Namen der ganzen Webseite.

Kurzbeschreibung:

Mit der Tastatur (Tab-Taste) muss man die Inhalte deiner Website in einer sinnvollen Reihenfolge ansteuern können. Normalerweise folgt die Tab-Reihenfolge der visuellen Reihenfolge.

Eine Seite mit Zahlen-Markierungen für die Reihenfolge, in der die Elemente angesteuert werden sollen.

Kurzbeschreibung:

Die Unterseiten deiner Website müssen auf mehr als einem Weg erreichbar sein. Zusätzlich zur Navigation solltest du zum Beispiel eine Suche oder eine Sitemap anbieten.

Illustration von einem Menü-Symbol und einem Lupen-Symbol. Darunter noch ein Menü-Symbol und ein Sitemap-Symbol. Beide sind mit einem grünen Haken versehen.

Kurzbeschreibung:

Interaktive Elemente (Buttons, Links usw.) brauchen einen Fokuszustand. Es muss immer sichtbar sein, welches Element auf der Seite den Tastaturfokus hat. 

Illustration von zwei Buttons. Der Erste hat einen Fokus-Rahmen, der Zweite nicht. Der Erste ist richtig, der Zweite ist ein Fehler.

Kurzbeschreibung:

Jede Funktion einer Website muss per einfacher Eingabe zu bedienen sein. Komplexere Gesten wie Swipen oder Aktionen mit mehreren Fingern brauchen eine »klickbare« Alternative (Maus, Touch, Enter).

Illustration von einem Handy. Darin ist ein Bild von einem Dreieck, dass sexy sein soll. Darüber steht: Swipe nach links oder rechts. Darunter sind zwei Buttons, die Ja und Nein symbolisieren. Daneben steht, dass eine Wischen-Aktion nur barrierefrei ist, wenn es Buttons als Alternative zum Swipen gibt.

Kurzbeschreibung:

Das Drücken und Halten eines Buttons oder Links (mit Maus oder Finger) darf nicht direkt eine Aktion auslösen. Erst das Loslassen darf die Aktion ausführen, damit sie noch abgebrochen werden kann.

Illustration von zwei Buttons. Einer wird von einem Finger gedrückt. Darüber steht, dass nicht direkt eine Aktion ausgeführt werden darf, wenn man den Finger auf einem Bedienelement hat.

Kurzbeschreibung:

Funktionen, die durch die Bewegung eines Geräts ausgelöst werden, müssen auch über eine einfache Eingabe (Maus, Touch, Enter) auslösbar sein. Zudem muss die Aktivierung durch Bewegung abgeschaltet werden können.

Illustration von einem Handy, welches geschüttelt wird. Daneben ein Plus und ein Button, der da sein muss, um die gleiche Aktion auszuführen, die mit dem Schütteln ausgeführt wird.

Kurzbeschreibung:

Wenn es Funktionen auf der Website gibt, die nur über Drag-and-drop-Gesten ausgelöst werden, müssen diese eine einfache Eingabe als Alternative haben. Dazu zählt zum Beispiel das Klicken eines Buttons.

Ein Beispiel eines Feldes, in das der Nutzende eine Datei reinziehen kann. Dazu gibt es noch die Alternative Möglichkeit über einen Button eine Datei hochzuladen.

Kurzbeschreibung:

Der <html>-Tag muss ein »lang«-Attribut mit der Sprache der Seite haben. So können assistive Technologien die Seite in der richtigen Sprache wiedergeben, und auch die automatische Übersetzung im Browser funktioniert richtig.

Illustration einer Website bei der im language-Attribut die Sprache Deutsch angegeben ist.

Kurzbeschreibung:

Den Tastatur-Fokus auf ein Element zu setzen, darf keine unerwartete Funktion auslösen. Funktionen müssen zum Beispiel erst bei Bestätigung per Enter, Space oder Mausklick ausgeführt werden.

Der Absende-Button eines Kontakt-Formulars hat den Fokus. Dadurch darf das Formular noch nicht abgesendet werden.

Kurzbeschreibung:

Das Interagieren mit einem Formularelement (z. B. Checkbox) darf keine unerwartete Kontext-Änderung, wie eine Verschiebung des Tastaturfokus, auslösen. Eine Kontext-Änderung ist erlaubt, wenn der User vorher gewarnt wurde.

Eine Illustration einer Checkbox. Diese löst unerwartet Kontextänderungen aus, wenn man sie anklickt. Sie bewegt den Fokus weg oder öffnet einen neuen Tab.

Kurzbeschreibung:

Wenn Fehler auf der Website auftreten, sollten sie leicht erkennbar sein und nicht nur durch Farben hervorgehoben werden. Zusätzlich brauchst du einen Text, der den Fehler beschreibt.

Zwei Inputfelder in die ein falsches Passwort eingegeben wurde. Das ist auf unterschiedliche Weise gekennzeichnet. Bei dem oberen Input steht über dem Feld hinter dem Label: Passwort, in Klammern: Passwort ist falsch. Bei dem unteren Input steht der Hinweis: Das Passwort ist falsch, unter dem Feld. Beides sind richtige Wege.

Kurzbeschreibung:

Formularfelder sollten sichtbare Beschriftungen haben, am besten über das <label>-Tag. Die Beschriftung sollte dauerhaft sichtbar sein.

Zwei Formularfelder. Das erste hat keine Beschriftungen, das zweite schon.

Kurzbeschreibung:

Die Texte einer Fehlermeldung sollten möglichst konkret sein, damit man auch weiß, wie der Fehler behoben werden kann.

Es sind zwei Fehlermeldungen abgebildet. Die Erste sagt nur: Fehlerhafte Eingabe, die Zweite ist ausführlicher mit: Das Passwort ist falsch. Es muss mindestens 12 Zeichen enthalten! Die Zweite ist richtig, da sie nicht nur den Fehler, sondern auch direkt einen Lösungsvorschlag liefert.

Kurzbeschreibung:

Bei einer Transaktion oder Interaktion, die negative Folgen haben kann, sollte es möglich sein, die Aktion entweder vor dem Absenden zu prüfen, sie noch einmal zu bestätigen oder sie rückgängig zu machen.

Modal, in dem steht: "Du bist gerade dabei 1 Million an Gehirngerecht zu überweisen!" Darunter befinden sich zwei Buttons, mit dem linken kann man die Aktion rückgängig machen, mit dem rechten bestätigt man: "Sie haben's verdient!"

Kurzbeschreibung:

User sollten Daten nur einmal eingeben müssen. Werden die Daten erneut gebraucht? Dann sollte die Website sie automatisch ausfüllen oder es ermöglichen, sie einfach zu übernehmen (Beispiel: Lieferdaten = Rechnungsdaten).

Es sind zwei Formulare mit einem Feld zu sehen, Schritt 1 und Schritt 2. Die Eingabe des Namens wiederholt sich bei dem 2. Schritt. Das sollte nicht passieren!

Kurzbeschreibung:

Wenn User ihre Identität bestätigen müssen, darf das keinen kognitiven Funktionstest erfordern. Copy-and-paste oder das Ausfüllen über einen Passwort-Manager sollte problemlos möglich sein.

Login-Formular, in das man die Daten per Copy-Paste oder per Password-Manager einfügen kann.

Kurzbeschreibung:

Alle interaktiven Elemente auf einer Website müssen so programmiert sein, dass Name, Rolle und Wert (oder Zustand) von assistiven Technologien ermittelt werden können und auch Änderungen aktualisiert werden.

Eine Checkbox mit dem Output des Accessibility-Trees daneben. Man sieht Namen, Rolle und Zustand der Checkbox angegeben.

Kurzbeschreibung:

Wenn eine Webseite Statusnachrichten oder Benachrichtigungen einblendet, sollten diese auch von Screenreader-Usern automatisch vorgelesen werden – ohne den Fokus zu verschieben. Dafür kannst du ARIA-Live-Regions verwenden.

Ein Beispiel von einer Statusmeldung, die von einem Screenreader vorgelesen wird.

Filter nach Rollen:

Zurück zu allen WCAG-Kriterien

Die WCAG-Kriterien als Poster!

Das WCAG Poster stellt eine Übersicht aller WCAG A und AA Kriterien dar.

WCAG Poster (Digital)

Unser Plakat der WCAG 2.2. Richtlinien als digitale Version. Die Auflösung ist 360dpi und sollte hoffentlich problemlos zoom-bar sein!Alle Erlöse deiner Bestellung gehen an: Lupus Erythematodes Selbsthilfegemeinschaft e. V.Zur Verkaufsseite des WCAG-Posters