
WCAG-Farbkontrast online prüfen: AA, AAA und großer Text
Zu geringer Kontrast zwischen Text und Hintergrund ist der häufigste Barrierefreiheitsfehler im Web. Prüfen Sie AA/AAA, indem Sie einfach zwei Farben einfügen — kein Plugin, keine Erweiterung nötig.
Kontrast, der häufigste Barrierefreiheitsfehler im Web
Jedes Jahr stuft der WebAIM-Million-Audit unzureichenden Textkontrast als häufigsten erkannten WCAG-Verstoß ein, noch vor fehlendem Alt-Text oder nicht beschrifteten Links. Der Audit analysiert die meistbesuchten Startseiten im Web. Kontrast ist zudem eines der wenigen Barrierefreiheitskriterien, die sich ohne Screenreader und ohne vollständiges Audit prüfen lassen. Der FastMinify-Kontrastprüfer berechnet das WCAG-2.2-Verhältnis zwischen zwei CSS-Farben (HEX, RGB, HSL, OKLCH, color() oder benannte Farben). Schon beim Tippen zeigt er AA- und AAA-Ergebnisse für normalen Text, großen Text und Nicht-Text-Elemente. Es wird nichts an einen Server gesendet. Er geht über ein einzelnes Farbpaar hinaus: Ein Matrixmodus prüft eine ganze Vordergrundpalette gegen eine ganze Hintergrundpalette in einem Durchgang. Die übrigen Werkzeuge liegen im Farbe-&-CSS-Hub.
Die Kontrastfehler, die immer wieder vorkommen
Ein Grauton #999999 auf Weiß ergibt ein Verhältnis von etwa 2,85:1, deutlich unter dem AA-Schwellenwert von 4,5:1. Trotzdem ist er eine der häufigsten Designentscheidungen für Sekundärtext, Platzhalter und Bildunterschriften.
"Weiche" Markenfarben (Pastellblau, Mintgrün, Hellorange) werden oft für die visuelle Identität gewählt, ohne je mit weißem Text darauf getestet zu werden.
Eine weiße Überschrift funktioniert über dem dunklen Teil des Himmels auf einem Hero-Foto, wird aber über dem hellen Teil einer Wolke unlesbar. Der Kontrast schwankt je nach Position des Textes im Bild.
outline: none ohne Ersatz zerstört die Tastaturnavigation. Der Nicht-Text-Kontrast (SC 1.4.11) gilt auch für Fokusindikatoren.
Welches Verhältnis für AA, AAA und großen Text gilt
Das Kriterium WCAG 1.4.3 (Contrast Minimum) verlangt für normalen Text auf Stufe AA ein Verhältnis von mindestens 4,5:1. Die strengere Stufe AAA (Kriterium 1.4.6) erhöht die Anforderung auf 7:1. Fast alle gesetzlichen Vorgaben zielen auf Stufe AA (BITV und EN 301 549 in Europa, ADA in den USA, RGAA in Frankreich). AAA bleibt empfohlen, wird aber selten für eine ganze Website vorgeschrieben.
WCAG definiert „großen Text“ als Text ab 24 px, also 18 pt, oder ab 18,67 px, also 14 pt, wenn er fett ist (Schriftstärke ab 700). Unterhalb dieser Schwellenwerte gilt Text als normal, selbst wenn er groß wirkt. FastMinify bestimmt den passenden Schwellenwert aus der eingegebenen Größe und Stärke.
Seit WCAG 2.1 verlangt das Kriterium 1.4.11 (Non-text Contrast) ein Verhältnis von mindestens 3:1 zwischen UI-Komponenten und ihrer angrenzenden Farbe. Das betrifft Ränder von Formularfeldern, Kontrollkästchen, bedeutungstragende Icons und Fokusindikatoren.
Wie das Kontrastverhältnis tatsächlich berechnet wird
Das WCAG-2.x-Verhältnis vergleicht die relative Leuchtdichte beider Farben. Das ist ein Wert von 0 bis 1, abgeleitet aus linearisierten RGB-Kanälen und gewichtet mit 0,2126 für Rot, 0,7152 für Grün und 0,0722 für Blau. Das menschliche Auge nimmt Grün nämlich deutlich intensiver wahr als Blau. Das endgültige Verhältnis ist (L1 + 0,05) / (L2 + 0,05), wobei L1 die Leuchtdichte der helleren Farbe ist. Deshalb können zwei „deutlich unterschiedliche“ Farben ein ähnliches Verhältnis ergeben. Zwei ähnlich wirkende Farbtöne können dagegen sehr unterschiedliche Leuchtdichten haben.
Vorher
Nachher
color() als Eingabe und konvertiert sie vor der Berechnung nach sRGB (über colorjs.io)Das WCAG-2.x-Verhältnis hat eine bekannte Schwäche: Es behandelt „Schwarz auf Weiß“ und „Weiß auf Schwarz“ symmetrisch, was nicht immer der tatsächlichen Wahrnehmung entspricht. APCA (Advanced Perceptual Contrast Algorithm), ein Kandidat für WCAG 3, berücksichtigt die Polarität, also hellen Text auf dunklem Grund oder umgekehrt. Auch die Schriftgröße fließt ein, die Bewertung wird dadurch feiner. FastMinify bietet eine optionale APCA-Überlagerung zusätzlich zum offiziellen WCAG-2.2-Verhältnis an, nicht als Ersatz, da WCAG 3 noch kein veröffentlichter Standard ist.
Vom Farbpaar zur kompletten Palette mit dem Kontrastprüfer
Öffnen Sie den Kontrastprüfer und fügen Sie Vordergrund- und Hintergrundfarbe in einem beliebigen CSS-Format ein (HEX, RGB, HSL, OKLCH, benannt). Verhältnis sowie AA-, AAA- und Nicht-Text-Ergebnis aktualisieren sich live. Passen Sie Textgröße und -stärke an, um zu sehen, wie der Schwellenwert für „großen Text“ automatisch greift.
Zuerst beide Farben einfügen
Vordergrund und Hintergrund, in jedem gültigen CSS-Format. Keine manuelle Umrechnung nötig.
Danach Textgröße und -stärke einstellen
Standard ist 16 px/400 (normaler Text). Wechseln Sie zu 24 px oder 18,67 px fett, um eine Überschrift zu testen: Der Schwellenwert für „großen Text“ (3:1/4,5:1) greift automatisch.
Zum Schluss das Ergebnis ablesen
Exaktes Verhältnis, zum Beispiel 4,87:1, Stufe AA, AAA, AA groß oder Fehler für Text und ein separates Ergebnis für den Nicht-Text-Kontrast (3:1, SC 1.4.11).
Ein Primär-Button hat oft drei Farbvarianten (normal, hover, disabled), die einzeln oft ungetestet bleiben.
Statt die Kombinationen eines Design-Systems einzeln zu testen, fügen Sie Ihre Textfarben in Zeilenfarben und Ihre Hintergrundfarben in Spaltenfarben ein. Nutzen Sie eine Farbe pro Zeile, bis zu 16 pro Achse. Das Ergebnis ist ein Raster mit dem Ergebnis jeder Kreuzung, das Sie nach Stufe filtern können (AAA, AA, AA groß oder Fehler).
Jede Prüfung (Farben, Textgröße, Matrix- oder Paarmodus, APCA-Optionen) wird in der URL kodiert. Kopieren Sie den Link aus der Adressleiste oder nutzen Sie die Schaltfläche Diese Einstellungen teilen. Fügen Sie ihn danach in einen Pull Request, ein Ticket oder eine Nachricht an Ihr Designteam ein. Die Seite öffnet sich exakt im selben Zustand.
Kontrast zum CI-Kriterium machen statt zum Hin und Her im Design
Ein manueller Prüfer eignet sich für den Entwurf einer Palette. Um Regressionen zu vermeiden, sollte der Kontrast außerdem bei jedem Pull Request automatisch geprüft werden. axe-core und Lighthouse CI erkennen die meisten Kontrastfehler bei statischem Text. Mit Text über Bildern oder Verläufen tun sie sich schwerer.
Einfaches Beispiel
Schnelle manuelle Prüfung ohne Installation und ohne gesendete Daten. Der Matrixmodus, einzigartig unter diesen Optionen, prüft ein komplettes Design-System in einem Durchgang, und die teilbare URL erleichtert die Zusammenarbeit zwischen Design und Entwicklung. Einschränkung: Es ist eine manuelle Prüfung, die kein automatisiertes CI-Audit ersetzt. Sie erkennt keinen Kontrast auf einem Bild oder einem komplexen Verlauf.
Der integrierte Farbwähler zeigt das Kontrastverhältnis direkt am ausgewählten Element auf der echten Seite an, mit berechneten Stilen, ganz ohne externes Werkzeug. Einschränkung: nur ein Element gleichzeitig, was bei einer ganzen Palette mühsam wird, ohne Matrixmodus und ohne Teilen per Link.
Ein automatisiertes Audit direkt in der CI-Pipeline erkennt systematisch Kontrastregressionen bei jedem Pull Request und deckt Barrierefreiheit über Kontrast hinaus ab. Einschränkung: Es ersetzt nicht die vorgelagerte Phase der Palettengestaltung und kann False Negatives bei Text über einem Bild liefern.
Zusammenfassung
Farbkontrast bleibt der häufigste Barrierefreiheitsfehler im Web und einer der am leichtesten zu behebenden, sobald er erkannt ist. AA (4,5:1) für normalen Text und 3:1 für großen Text und Nicht-Text-Elemente sind die zwei Schwellenwerte, die man sich vor der Freigabe einer Palette merken sollte. Der FastMinify-Kontrastprüfer liefert das Ergebnis schon beim Tippen, im Paarmodus oder im Matrixmodus für ein ganzes Design-System. Ihre Markenfarben gehen dabei nie an einen Server. Ein axe-core-Audit in der CI verhindert Regressionen, und mit dem restlichen Farbe-&-CSS-Hub lässt sich eine konsistente Palette von Anfang bis Ende aufbauen.
Jetzt Ihren Kontrast prüfen
Verwandte Artikel

Fügen Sie Token und JWKS ein und prüfen Sie eine RS256-, ES256- oder HS256-Signatur im Browser. Schlüsselwahl per kid, Fehler und zu prüfende Claims.

HTTP/2 und HTTP/3 ändern den Weg der Dateien, nicht ihre Größe. Messungen zu Größe, Kompilierzeit und Bundling zeigen, was Minifizierung noch bringt.

Rechnen Sie eine Unix-Epoche in ein lesbares Datum um und zurück, unterscheiden Sie Sekunden und Millisekunden und meiden Sie Zeitzonen-, JWT- und Zeitumstellungsfallen.