Eliminierung technischer Schulden mit PHPStan, Rector PHP und PHPUnit. Über 20 Jahre Praxiserfahrung in skalierbaren Backends.
- Erstellt:
- Aktualisiert:
- Autor:
- Roland Golla
Was ist Contrast Enhancement?
Contrast Enhancement mit NCA: Schnelle Hilfe vom Experten
Gesetzliche Konformität & Inklusion. Optimierung von Performance und Conversion durch radikal nutzerzentriertes, universelles Design.
Skalierbare KI-Systeme mit echtem Code Ownership. CI/CD, Backup-Strategien und Infrastruktur, die mit deinem Team wächst.
Technik 1: prefers-contrast respektieren
:root {
--color-text: #2b2b2b;
--color-bg: #fafafa;
--color-border: #c8c8c8;
--color-link: #0b6e4f;
}
@media (prefers-contrast: more) {
:root {
--color-text: #000000;
--color-bg: #ffffff;
--color-border: #000000;
--color-link: #003d2b;
}
a {
text-decoration-thickness: 2px;
}
button, input, select {
border-width: 2px;
}
}
Technik 2: Den Windows Kontrastmodus überleben
- Hintergrundbilder verschwinden. Ein Icon als background-image ist weg. Ein Button, der nur über Hintergrundfarbe erkennbar war, ist unsichtbar.
- Box Shadows verschwinden. Ein Fokus Ring, der nur über box-shadow gesetzt war, ist weg. Die Tastaturnavigation wird blind.
- Rahmen bleiben. Alles mit einem echten border überlebt, auch wenn die Farbe ersetzt wird.
- SVG mit currentColor bleibt. Inline SVG, das seine Farbe vom Text erbt, wird korrekt umgefärbt.
@media (forced-colors: active) {
.button {
border: 2px solid ButtonText;
}
.card {
border: 1px solid CanvasText;
}
:focus-visible {
outline: 3px solid Highlight;
outline-offset: 2px;
}
.icon {
forced-color-adjust: auto;
fill: currentColor;
}
}
Technik 3: Text auf Bildern und Verläufen lesbar halten
- Overlay: Ein halbtransparenter dunkler Layer zwischen Bild und Text. Mit 50 bis 60 Prozent Deckkraft erreicht weißer Text auf fast jedem Foto 4,5:1. Der einfachste und robusteste Weg.
- Textbox: Der Text bekommt einen eigenen, deckenden Hintergrund. Das Bild bleibt unangetastet, der Kontrast ist exakt berechenbar.
- Text Shadow als Notlösung: Ein weicher dunkler Schatten hilft bei kurzen Headlines, ist aber für Fließtext nicht ausreichend und wird von Kontrast Tools nicht mitgemessen.
.hero {
position: relative;
}
.hero::before {
content: '';
position: absolute;
inset: 0;
background: rgb(0 0 0 / 0.55);
}
.hero__text {
position: relative;
color: #ffffff;
}
@media (prefers-contrast: more) {
.hero::before {
background: rgb(0 0 0 / 0.8);
}
}
Technik 4: Kontrastmodus als Schalter auf der Seite
- Sie sind selbst barrierefrei. Als Button ausgezeichnet, mit Tastatur erreichbar, mit aria-pressed für den Zustand. Ein Schalter für Kontrast, der im Kontrastmodus verschwindet, ist ein Klassiker.
- Sie merken sich die Wahl. Über localStorage oder ein Cookie, damit die Einstellung beim nächsten Seitenaufruf noch gilt.
- Sie setzen nur ein Attribut. Ein data-contrast auf dem html Element, den Rest macht CSS über dieselben Tokens wie die Media Query. Kein doppeltes Stylesheet.
Contrast Enhancement Techniken im Vergleich
Alle Kontrastmodi automatisiert testen mit Cypress
const modes = [
{ name: 'Standard', features: [] },
{ name: 'Dark Mode', features: [['prefers-color-scheme', 'dark']] },
{ name: 'Hoher Kontrast', features: [['prefers-contrast', 'more']] },
];
modes.forEach(({ name, features }) => {
it(`Startseite erfüllt Kontrast im Modus ${name}`, () => {
cy.visit('/', {
onBeforeLoad(win) {
cy.stub(win, 'matchMedia').callsFake((query) => ({
matches: features.some(([f, v]) => query.includes(`${f}: ${v}`)),
addEventListener: () => {},
removeEventListener: () => {},
}));
},
});
cy.injectAxe();
cy.checkA11y(null, { runOnly: ['color-contrast', 'color-contrast-enhanced'] });
});
});
For accessibility, Lc 15 is the point of invisibility for many users.
Color Accessibility erklärt: Farbe nie als einziges Signal, Kontrast nach WCAG 2.2, Paletten für Farbsehschwäche, Dark Mode und Tests mit axe-core und Cypress.
Mehr erfahrenContrast Enhancement in NCA Projekten
Wir sind hier, um Ihnen zu helfen. Gemeinsam meistern wir Ihre digitalen Herausforderungen und fördern die Inklusion im Internet. Lassen Sie uns Ihre Projekte mit barrierefreiem Webdesign erfolgreich machen.
Häufige Fragen zu Contrast Enhancement
Contrast Enhancement umfasst alle Techniken, die den Kontrast über das WCAG Minimum hinaus erhöhen oder an Nutzereinstellungen anpassen: prefers-contrast, forced-colors, Overlays für Text auf Bildern und ein Kontrast Schalter auf der Seite. 2026 ist das Standard in jedem Design System, das BFSG Anforderungen dauerhaft erfüllen will.
WCAG 2.2 Kriterium 1.4.6 Kontrast Erhöht (Level AAA) verlangt 7:1 für normalen Text und 4,5:1 für großen Text ab 18 Punkt oder 14 Punkt fett. Das ist der Zielwert für einen Kontrastmodus. Im Standardmodus reichen 4,5:1 und 3:1 nach Kriterium 1.4.3, das über EN 301 549 und BFSG verbindlich ist.
In Cypress lässt sich window.matchMedia beim Seitenaufruf überschreiben, sodass prefers-contrast oder prefers-color-scheme simuliert werden. Danach prüft axe-core mit den Regeln color-contrast und color-contrast-enhanced. Letztere ist standardmäßig deaktiviert und muss explizit aktiviert werden. Den Windows Kontrastmodus prüft axe nicht, dort bleibt der manuelle Test.
Der Kontrastmodus ersetzt alle Farben durch Systemfarben und entfernt Hintergrundbilder und Box Shadows. Icons als background-image sind dann weg. Die Lösung: Inline SVG mit fill currentColor, echte border statt box-shadow für Rahmen und ein outline statt box-shadow für den Fokus Ring. Testen lässt sich das über die forced-colors Emulation in Chrome und Edge.
Nicht zwingend. prefers-contrast liest die Systemeinstellung des Nutzers, das reicht in den meisten Fällen. Ein eigener Schalter ist sinnvoll für Kiosk Anwendungen, fremde Geräte oder Seiten mit sehr eigener Farbwelt. Wenn, dann als echter Button mit Tastaturbedienung und gespeicherter Einstellung, nie als Drittanbieter Overlay Widget.
Farbkontrast ist die Messgröße: das Helligkeitsverhältnis zweier Farben und die Mindestwerte der WCAG. Contrast Enhancement ist die Praxis, diesen Kontrast über das Minimum zu heben und an Nutzereinstellungen anzupassen. Farbkontrast beantwortet, ob ein Farbpaar besteht. Contrast Enhancement beantwortet, wie die Seite auch für Menschen funktioniert, denen das Minimum nicht reicht.
Mit einem halbtransparenten dunklen Overlay zwischen Bild und Text, meist 50 bis 60 Prozent Deckkraft für weißen Text. Alternativ bekommt der Text einen eigenen deckenden Hintergrund. Text Shadow hilft nur bei kurzen Headlines und wird von Kontrast Tools nicht gemessen. Für die WCAG zählt immer die schlechteste Stelle im Bild, nicht der Durchschnitt.
Manche Nutzer brauchen weniger Kontrast, etwa bei Migräne, Lichtempfindlichkeit oder bestimmten Formen von Legasthenie. Das Betriebssystem meldet das über prefers-contrast: less. Eine Seite kann darauf reagieren, indem sie reines Schwarz auf reinem Weiß leicht abmildert, etwa dunkles Grau auf hellem Grau, ohne unter die WCAG Mindestwerte zu fallen.
Nein. Overlay Widgets von Drittanbietern versprechen Kontrast, Schriftgröße und Vorlesen per Knopfdruck, ersetzen aber keine barrierefreie Umsetzung. Sie kollidieren oft mit Screenreadern, sind selbst nicht immer barrierefrei und gelten gegenüber der Marktüberwachung nicht als Nachweis. Ein eigener Kontrastmodus über CSS Tokens ist schlanker und zuverlässiger.
CSS Schlüsselwörter, die im forced-colors Modus die vom Nutzer im Betriebssystem gewählten Farben annehmen. CanvasText ist die Textfarbe, Canvas der Hintergrund, ButtonText und ButtonFace gelten für Buttons, Highlight für Auswahl und Fokus, LinkText für Links. Wer sie in der forced-colors Media Query nutzt, bleibt automatisch im Farbschema des Nutzers.
APCA ist ein Kontrastmodell, das für WCAG 3 entwickelt wird. Es bildet die wahrgenommene Helligkeit besser ab als das heutige Verhältnis und bezieht Schriftgröße und Gewicht ein. Verbindlich ist es noch nicht, WCAG 2.2 und die EN 301 549 nutzen weiterhin das Verhältnis. Wer Farben als Tokens verwaltet, kann die Messmethode später einfach tauschen.
Nein. Dark Mode ist eine Vorliebe für dunkle Oberflächen, kein Kontrastmodus. Viele Dark Mode Paletten haben sogar geringeren Kontrast als der helle Modus, etwa Grau auf Dunkelgrau. Jede Farbe braucht deshalb einen eigenen geprüften Wert für hell, dunkel und hohen Kontrast. Alle drei Varianten gehören in die automatisierte Prüfung.