Barrierefreie gemeinsame Komponenten
Verankert verständliche Zustände, zugängliche Beschriftungen und belastbares Layout direkt in gemeinsam genutzten Oberflächenkomponenten.
accessible-component-engineering
Teammitglieder mit diesem Skill
Wann ist der Skill hilfreich?
Nutze diesen Skill, wenn barrierefreie Grundeinstellungen aus deinem Designsystem in alle Ansichten übernommen werden sollen.
Wobei hilft er dir?
- Vereinheitlicht Fokus-, Lade-, Fehler-, Auswahl- und deaktivierte Zustände.
- Verknüpft Beschriftungen, Hilfen und Fehlermeldungen über zuverlässige Kennungen.
- Prüft lange Übersetzungen, vergrößerten Text, Touchflächen und reduzierte Bewegung.
Das könntest du fragen
Prüfe Button, FormField und Dialog mit langen deutschen Texten, Textvergrößerung und reiner Tastaturbedienung. Prüfe auch Lade-, deaktivierte und Fehlerzustände. Eine lange Fehlermeldung muss ihrem Feld zugeordnet bleiben, ohne die Absenden-Schaltfläche zu verdecken.
Ausführliche Dokumentation
Hier findest du die ursprüngliche Anleitung, Beispiele und Prüfschritte des Skills in ihrer Originalsprache.
Weniger anzeigen
Accessible Component Engineering
When accessibility is baked into shared design-system primitives (Button, IconButton, TextField, Select, Checkbox, Dialog, Menu, Tabs, Toast, Tooltip), every screen using those primitives inherits accessible defaults automatically; when a shared primitive is broken, it multiplies barriers across the entire product.
1. Complete Interactive State Matrix
Every interactive component in the system must define and visually distinguish its full state matrix:
default(rest): clear affordance and>= 3:1boundary contrast where applicable.hover: pointer feedback paired with cursor rules.focus-visible: high-contrast keyboard focus ring (>= 2pxoutline,outline-offset,>= 3:1contrast against adjacent surface) that survivesforced-colors: activemode.active(pressed): tactile visual confirmation on pointer down orSpace/Enteractivation.disabled/readonly: visually distinct, non-interactive (oraria-disabled="true"when focusability must be preserved), blocking click/submit side effects.loading/pending: prevents double submission (aria-busy="true"ordisabled), preserves button width so layout does not jump, and exposes accessible loading status.invalid/error(for form controls): setsaria-invalid="true", pairs border/icon indicator with color (never color alone), and links the error message ID viaaria-describedby.selected/checked/expanded/current: synchronizes visual active styling witharia-selected,aria-checked,aria-expandedoraria-current.
2. Built-In ARIA & ID Wiring
Automate repetitive accessibility plumbing inside the component primitive so feature developers cannot forget it:
FormFieldwrapper: generate a deterministic unique ID (useId()), bind<label for={id}>to the input'sid, and automatically assemblearia-describedbyfrom the helper-text ID and error-message ID whenever either is rendered.Dialog/Drawerprimitive: automatically wirerole="dialog",aria-modal="true",aria-labelledby={titleId}, initial focus placement, backgroundinert/ focus trapping,Escapedismissal and opener focus restoration.IconButtonprimitive: require an explicit accessible label (aria-labelortitle/srOnlyLabel) in the component's type signature and automatically mark the child icon<svg>witharia-hidden="true" focusable="false".
3. Content Resilience, Reflow & Localization
Test every shared component against hostile real-world content before shipping:
- Long & unbroken strings: handle 50-character German compound words, Hungarian suffixes, long email addresses and URLs via appropriate wrapping (
overflow-wrap: break-word) or truncation (text-overflow: ellipsisonly when full text remains accessible). - Multi-line button & badge labels: use
min-heightand vertical padding rather than fixedheight: 36pxso 200% text scaling or wrapped labels never clip vertically. - Touch targets & reduced motion: ensure interactive controls meet
>= 24x24px(44x44pxpreferred on touch) and transitions respect@media (prefers-reduced-motion: reduce). - Coordinate complex widget semantics and keyboard navigation patterns with the accessibility developer.
Enthaltene Dateien 1
SKILL.md
