Barrierefreiheit systematisch über Design-Tokens verankern
AI generated
A11Y
WCAG
Barrierefreiheit · Tooling & Prozess
Barrierefreiheit systematisch über Design-Tokens verankern
Wie ein Design-Token-System aus Barrierefreiheit eine strukturelle Eigenschaft statt eine wiederkehrende Einzelentscheidung macht

Jedes Mal, wenn eine Farbe, ein Abstand oder eine Schriftgröße frei und ad hoc gewählt wird, entsteht ein neues Risiko für eine Kontrast-, Touch-Target- oder Skalierbarkeits-Barriere, die anschließend einzeln wieder gefunden und behoben werden muss. Design-Tokens verschieben diese Entscheidung von der einzelnen Komponente auf die Ebene des gesamten Design-Systems: Wird ein Farb-Token einmal korrekt gegen Kontrastanforderungen geprüft, profitiert jede Komponente, die dieses Token verwendet, automatisch davon. Dieser Artikel zeigt, wie Farb-, Spacing- und Typography-Tokens Barrierefreiheit strukturell statt punktuell im gesamten Team verankern.

11 Min. Lesezeit Design Tokens Design System Kontrast

1. Das Design-System als struktureller Hebel für Barrierefreiheit

Barrierefreiheit, die allein über Code-Reviews oder nachträgliche Audits durchgesetzt wird, bleibt eine reaktive Angelegenheit: Ein Fehler entsteht, wird irgendwann entdeckt und dann einzeln korrigiert, während dieselbe Fehlerklasse an anderer Stelle im Code bereits erneut existiert. Ein Design-Token-System verändert diese Dynamik grundlegend, weil es die korrekten Werte, etwa einen Farbton mit ausreichendem Kontrast, an genau einer zentralen Stelle definiert und über alle Komponenten hinweg konsequent wiederverwendet.

Diese Zentralisierung bedeutet, dass eine einzelne, sorgfältig geprüfte Entscheidung, wie zum Beispiel welcher Grauton auf welchem Hintergrund als sekundärer Text verwendet werden darf, sich automatisch über den gesamten Shop verbreitet, statt in jeder neuen Komponente erneut individuell getroffen und erneut individuell geprüft werden zu müssen. Barrierefreiheit wird damit zu einer Eigenschaft der Design-Grundlage selbst, nicht zu einer Checkliste, die bei jeder neuen Komponente von Neuem abgearbeitet werden muss.

2. Kontrastgeprüfte Farb-Tokens statt Ad-hoc-Farbwahl

Statt einer Designerin oder einem Entwickler die freie Wahl eines beliebigen Hex-Werts für Text auf einem farbigen Hintergrund zu überlassen, definiert ein Token-System eine begrenzte, bewusst kuratierte Palette von Farbkombinationen, die jeweils bereits gegen die WCAG-Kontrastanforderung von mindestens 4,5 zu 1 für normalen Text und 3 zu 1 für großen Text geprüft wurden. Jedes Token trägt dabei einen sprechenden Namen wie text-secondary-on-surface, der die vorgesehene Nutzung eindeutig beschreibt, statt eine reine Farbbezeichnung wie gray-500 zu verwenden, die keine Aussage über den erlaubten Einsatzkontext trifft.

Besonders wichtig ist die Prüfung von Token-Kombinationen, nicht nur einzelner Farben, weil derselbe Grauton auf weißem Hintergrund ausreichenden Kontrast bieten kann, auf einem hellgrauen Hintergrund jedoch bereits darunter fällt. Ein gutes Token-System definiert deshalb erlaubte Vordergrund-Hintergrund-Paare als Einheit und macht es damit strukturell schwer, versehentlich eine nicht geprüfte, kontrastarme Kombination in einer neuen Komponente einzusetzen.


/* Tailwind v4 CSS-first Theme: kontrastgeprueft definierte Farb-Tokens */
@theme {
  --color-text-primary: oklch(0.21 0.02 265);      /* 15.2:1 auf --color-surface */
  --color-text-secondary: oklch(0.42 0.02 265);    /* 5.1:1 auf --color-surface, WCAG AA */
  --color-text-on-accent: oklch(0.98 0 0);         /* 6.8:1 auf --color-accent */
  --color-surface: oklch(0.99 0 0);
  --color-accent: oklch(0.45 0.18 255);
}

3. Spacing-Tokens für Touch-Target-Mindestgrößen

WCAG 2.5.8 verlangt für interaktive Elemente eine Mindestgröße von 24 mal 24 CSS-Pixeln, während die strengere AAA-Anforderung 2.5.5 sogar 44 mal 44 Pixel vorsieht, ein Maß, das insbesondere für Personen mit motorischen Einschränkungen entscheidet, ob ein Button überhaupt zuverlässig getroffen werden kann. Wird diese Mindestgröße nicht als Token, sondern als freie Entscheidung jeder einzelnen Komponente behandelt, entstehen zwangsläufig Inkonsistenzen, etwa ein kompakter Icon-Button in einer Toolbar, der deutlich unter dem Mindestmaß liegt.

Ein Spacing-Token-System definiert deshalb feste Mindestwerte für interaktive Elemente, etwa --size-touch-target-min mit vierundvierzig Pixeln, die von jeder Button- und Icon-Komponente im Design-System verpflichtend referenziert werden, unabhängig davon, wie klein das visuelle Icon selbst gestaltet ist. Der klickbare Bereich kann dabei größer als das sichtbare Icon sein, etwa über zusätzliches Padding, das über dasselbe Token gesteuert wird, statt die Klickfläche fest an die visuelle Größe zu koppeln.


@theme {
  --size-touch-target-min: 44px;
  --spacing-icon-button-padding: 10px; /* Icon 24px + Padding = 44px Klickflaeche */
}

.icon-button {
  min-width: var(--size-touch-target-min);
  min-height: var(--size-touch-target-min);
  padding: var(--spacing-icon-button-padding);
}

4. Typography-Tokens mit garantierter Skalierbarkeit

WCAG 1.4.4 verlangt, dass Text bis zu zweihundert Prozent vergrößert werden kann, ohne dass Inhalte oder Funktionalität verloren gehen, eine Anforderung, die zuverlässig nur erfüllt werden kann, wenn Schriftgrößen konsequent in relativen Einheiten wie rem statt in festen Pixelwerten definiert sind. Ein Typography-Token-System legt jede Schriftgröße einmalig in rem fest und verhindert damit strukturell, dass eine einzelne Komponente versehentlich eine feste Pixelgröße verwendet, die sich der Nutzer-Zoomeinstellung entzieht.

Zusätzlich lohnt sich der Einsatz von clamp() innerhalb der Token-Definition, um eine responsive, aber innerhalb definierter Grenzen bleibende Skalierung zwischen mobilen und Desktop-Ansichten zu erreichen, ohne dass dabei die Basis-Skalierbarkeit über die Zoomfunktion des Browsers verloren geht. Ein Zeilenabstand-Token, der proportional zur Schriftgröße mitskaliert statt fest definiert zu sein, verhindert zudem, dass Text bei starker Vergrößerung eng und schwer lesbar zusammenrückt.


@theme {
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1.05rem + 0.375vw, 1.375rem);
  --leading-base: 1.6; /* skaliert proportional mit --text-base */
}

5. Technische Token-Struktur: CSS Custom Properties in Tailwind v4

In Tailwind CSS v4 lassen sich Design-Tokens direkt über den CSS-first-Ansatz im @theme-Block als CSS Custom Properties definieren, wodurch sie ohne zusätzliches Build-Tooling automatisch als Utility-Klassen zur Verfügung stehen und gleichzeitig zur Laufzeit im Browser inspizierbar bleiben, etwa für einen automatisierten Kontrast-Check gegen den tatsächlich gerenderten Wert. Diese direkte Verfügbarkeit als CSS-Variable erlaubt es außerdem, Tokens dynamisch anzupassen, etwa für einen Dark-Mode, ohne die zugrunde liegende Utility-Klasse in jeder Komponente ändern zu müssen.

Wichtig ist, dass Tokens niemals als reine Bequemlichkeits-Abkürzung für einen einmalig verwendeten Wert missbraucht werden, sondern konsequent an ihre semantische Bedeutung gebunden bleiben, damit eine spätere Anpassung, etwa eine Kontrastkorrektur nach einem Audit, an einer einzigen Stelle vorgenommen werden kann und sich zuverlässig über den gesamten Shop propagiert.

6. Governance: wer darf Tokens ändern und wie werden sie freigegeben

Ein Token-System entfaltet seinen Nutzen nur, wenn Änderungen an zentralen Tokens nicht beiläufig von jeder Entwicklerin oder jedem Entwickler vorgenommen werden können, sondern über einen definierten Freigabeprozess laufen, ähnlich einem Code-Review, bei dem jede neue oder geänderte Farbkombination explizit gegen die Kontrastanforderung geprüft wird, bevor sie in den zentralen Token-Satz aufgenommen wird. Diese Governance verhindert, dass ein einzelner, unter Zeitdruck getroffener Kompromiss unbemerkt zur dauerhaften Grundlage für zahlreiche Komponenten wird.

In der Praxis hat sich bewährt, Token-Änderungen als eigenen Pull-Request-Typ zu behandeln, der verpflichtend von einer Person mit Barrierefreiheits-Expertise im Team geprüft wird, unabhängig davon, wie dringend die zugrunde liegende fachliche Anforderung erscheint, weil ein einmal eingeführter, nicht konformer Token sich anschließend über sehr viele Komponenten hinweg verbreitet und entsprechend teuer in der nachträglichen Korrektur wird.

7. Tokens auf Komponenten-Ebene in Hyvä und Tailwind anwenden

In einem Hyvä-Theme übersetzen sich Design-Tokens direkt in Tailwind-Utility-Klassen, die in den .phtml-Templates verwendet werden, etwa text-text-secondary für ein per Token definiertes Farbschema statt eines direkten text-gray-500. Diese Konvention macht bereits beim Lesen des Templates sichtbar, welche semantische Rolle eine Farbe erfüllt, und erleichtert es, bei einer späteren Token-Anpassung alle betroffenen Stellen zuverlässig über eine einfache Suche nach dem Token-Namen zu finden.

Für wiederverwendbare Hyvä-Komponenten wie Buttons oder Formularfelder lohnt sich zusätzlich eine zentrale, gemeinsam genutzte .phtml-Vorlage oder ein ViewModel, das die Token-basierten Klassen einmalig kapselt, statt dass jede einzelne Verwendungsstelle im Theme die Utility-Klassen erneut einzeln zusammensetzt und dabei Gefahr läuft, ein Token zu vergessen oder durch einen abweichenden Hartcode-Wert zu ersetzen.

8. Automatisierte Prüfung der Tokens selbst

Der Token-Satz selbst lässt sich automatisiert gegen Kontrastanforderungen prüfen, indem ein kleines Skript jede definierte Vordergrund-Hintergrund-Kombination durchläuft und das Kontrastverhältnis berechnet, statt sich allein auf die manuelle Prüfung im Design-Review zu verlassen. Ein solches Skript kann als eigener CI-Job bei jeder Änderung an der Token-Datei automatisch ausgeführt werden und schlägt fehl, sobald eine neu eingeführte Kombination unter die geforderte Kontrastschwelle fällt.

Für Spacing-Tokens lässt sich analog prüfen, ob jede als interaktiv markierte Komponente tatsächlich das Mindestmaß-Token referenziert, etwa über einen Lint-Regel-Satz, der direkte, nicht auf ein Token verweisende Pixelwerte in interaktiven Komponenten als Fehler markiert. Diese automatisierte Absicherung auf Token-Ebene verhindert, dass eine einzelne Komponente unbemerkt von der zentral geprüften Grundlage abweicht.

9. Rollout im Team: Migration von Hartcode-Werten zu Tokens

Die Umstellung eines gewachsenen Shops auf ein konsequentes Token-System gelingt selten in einem einzigen großen Schritt, sondern eher schrittweise, beginnend mit den am häufigsten wiederverwendeten Elementen wie Buttons, Formularfeldern und Textfarben, bei denen eine einzelne Token-Definition den größten Hebel für die meisten Seiten gleichzeitig entfaltet. Eine automatisierte Suche nach häufig vorkommenden Hex-Werten im bestehenden Code hilft dabei, die dringendsten Kandidaten für eine Migration zu priorisieren.

Damit die Umstellung im Team tatsächlich nachhaltig wirkt, lohnt sich eine kurze, aber verpflichtende Einführung für alle Entwicklerinnen und Entwickler, die erklärt, warum ein Token statt eines direkten Hex- oder Pixelwerts verwendet werden soll, ergänzt um eine einfache Nachschlage-Referenz aller verfügbaren Tokens, damit die richtige Wahl im Alltag nicht mehr Aufwand bedeutet als das bisherige, unstrukturierte Vorgehen.

Token-Kategorie Beispiel Abgesicherte WCAG-Anforderung Nutzen im Team
Farb-Tokens --color-text-secondary 1.4.3 Kontrast (Minimum) 4,5 zu 1 Kein Farbwert ohne geprüften Kontrast im Einsatz
Spacing-Tokens --size-touch-target-min 2.5.8 Zielgröße (Minimum) 24x24 Pixel Konsistente, ausreichend große Klickflächen
Typography-Tokens --text-base mit rem und clamp() 1.4.4 Textgröße anpassbar bis 200 Prozent Zoom und Vergrößerung funktionieren zuverlässig
Zeilenabstand-Tokens --leading-base proportional 1.4.12 Textabstand Text bleibt bei Vergrößerung gut lesbar
Fokus-Tokens --ring-focus-visible 2.4.7 Fokus sichtbar Einheitlicher, deutlich sichtbarer Fokusindikator

Mironsoft

WCAG-Audits, barrierefreie Magento-Shops und Schulungen

Unsicher, ob der Shop wirklich barrierefrei ist?

Wir prüfen bestehende Magento-Shops gegen WCAG 2.2, beheben konkrete Barrieren im Hyvä-Frontend und schulen Teams, damit Barrierefreiheit dauerhaft im Entwicklungsprozess verankert bleibt.

WCAG-Audit

Shop systematisch gegen WCAG 2.2 AA prüfen, mit priorisierter Fehlerliste.

Barrieren beheben

Konkrete Umsetzung: Tastaturbedienbarkeit, Screenreader-Support, Kontraste, Formulare.

Team-Schulung

Entwickler und Redakteure für barrierefreie Umsetzung im Alltag sensibilisieren.

10. Zusammenfassung

Design-Tokens und Barrierefreiheit: Das Wichtigste auf einen Blick

Struktureller Hebel

Ein einmal korrekt geprüftes Token verbreitet sich automatisch über den gesamten Shop.

Kontrast-Tokens

Vordergrund-Hintergrund-Paare werden als Einheit definiert und vorab gegen WCAG geprüft.

Touch-Targets

Spacing-Tokens garantieren die Mindestgröße von 44 Pixel für interaktive Elemente.

Governance

Änderungen an zentralen Tokens laufen über einen verpflichtenden Freigabeprozess.

11. FAQ: Design-Tokens und Barrierefreiheit: Das Wichtigste auf einen Blick

1Warum sind Design-Tokens ein besserer Hebel für Barrierefreiheit als Einzelfall-Korrekturen?
Ein zentral definiertes und geprüftes Token verbreitet sich automatisch über alle Komponenten, die es verwenden, während eine Einzelfall-Korrektur nur an genau der Stelle wirkt, an der sie vorgenommen wurde. Dadurch verhindert ein Token-System, dass dieselbe Fehlerklasse an mehreren Stellen im Code unabhängig voneinander erneut entsteht.
2Welche WCAG-Anforderung gilt für Farb-Tokens?
Kriterium 1.4.3 verlangt für normalen Text ein Kontrastverhältnis von mindestens 4,5 zu 1 gegenüber dem Hintergrund, für großen Text reicht 3 zu 1. Ein Farb-Token-System prüft diese Anforderung einmalig für jede Vordergrund-Hintergrund-Kombination, statt sie bei jeder neuen Komponente erneut manuell zu berechnen.
3Warum reicht die Prüfung einzelner Farben nicht aus, es müssen Kombinationen geprüft werden?
Derselbe Grauton kann auf einem weißen Hintergrund ausreichenden Kontrast bieten, auf einem hellgrauen Hintergrund jedoch bereits darunter fallen. Ein gutes Token-System definiert deshalb erlaubte Vordergrund-Hintergrund-Paare als feste Einheit.
4Welche Mindestgröße gilt für Touch-Targets nach WCAG?
WCAG 2.5.8 verlangt mindestens 24 mal 24 CSS-Pixel, die strengere AAA-Anforderung 2.5.5 empfiehlt 44 mal 44 Pixel. Ein Spacing-Token wie --size-touch-target-min sorgt dafür, dass jede Button- und Icon-Komponente im Design-System diese Mindestgröße verpflichtend referenziert.
5Wie unterstützen Typography-Tokens die Textvergrößerung nach WCAG 1.4.4?
Indem Schriftgrößen konsequent in relativen Einheiten wie rem statt in festen Pixelwerten definiert werden, bleibt eine Vergrößerung um zweihundert Prozent über den Browser-Zoom zuverlässig möglich. Ein Typography-Token-System verhindert strukturell, dass eine einzelne Komponente versehentlich eine feste Pixelgröße verwendet.
6Wie werden Design-Tokens technisch in Tailwind CSS v4 umgesetzt?
Über den CSS-first-Ansatz im @theme-Block lassen sich Tokens direkt als CSS Custom Properties definieren, die automatisch als Utility-Klassen verfügbar sind und zur Laufzeit im Browser inspizierbar bleiben, etwa für einen automatisierten Kontrast-Check.
7Wer sollte Änderungen an zentralen Design-Tokens freigeben dürfen?
Änderungen an zentralen Tokens sollten über einen definierten Freigabeprozess laufen, verpflichtend geprüft von einer Person mit Barrierefreiheits-Expertise im Team, weil ein einmal eingeführter, nicht konformer Token sich über sehr viele Komponenten verbreitet.
8Wie werden Design-Tokens in Hyvä-Templates konkret verwendet?
Design-Tokens übersetzen sich in Tailwind-Utility-Klassen wie text-text-secondary statt eines direkten text-gray-500 in den .phtml-Templates, wodurch die semantische Rolle einer Farbe schon beim Lesen des Templates sichtbar wird.
9Wie lässt sich der Token-Satz selbst automatisiert auf Kontrastfehler prüfen?
Ein kleines Skript kann jede definierte Vordergrund-Hintergrund-Kombination durchlaufen und das Kontrastverhältnis berechnen, als eigener CI-Job bei jeder Änderung an der Token-Datei, der fehlschlägt, sobald eine neue Kombination unter die geforderte Schwelle fällt.
10Wie gelingt die Migration eines bestehenden Shops von Hartcode-Werten zu Design-Tokens?
Am besten schrittweise, beginnend mit den am häufigsten wiederverwendeten Elementen wie Buttons und Textfarben, unterstützt durch eine automatisierte Suche nach häufigen Hex-Werten im bestehenden Code und eine kurze Team-Einführung in die verfügbaren Tokens.