Interface-Gestaltung und Barrierefreiheit
Überblick
Der Standard ist zugänglich, minimalistisch und schön – durch Konstruktion, nicht durch Nachbearbeitung. Geschmack ist als Regel nicht handlungsleitend, daher wird er in Einschränkungen, Präzedenzfälle und Eskalation umgewandelt. Der Agent wird nicht gebeten, Geschmack zu erfinden, sondern nur Einschränkungen zu respektieren und den Rest zu eskalieren.
Barrierefreiheit – eine Anforderung, kein Feinschliff
Überprüfbare Regeln:
- Jedes interaktive Element ist tastaturerreichbar mit einem sichtbaren Fokuszustand.
- Jedes Steuerelement hat einen zugänglichen Namen; jedes Formularfeld hat ein zugehöriges Label und klare Fehlermeldungen.
- Semantisches HTML und Landmarken anstelle von
div-Suppe. - Farbkontrast erfüllt WCAG AA; Bedeutung wird nie nur durch Farbe vermittelt.
- Respektieren Sie die reduced-motion-Präferenzen.
Schön und minimalistisch – als Einschränkungen, nicht als Stimmungen
- Konsistenz durch Einschränkung. Verwenden Sie die Tokens des Designsystems – Abstände, Schriftgrößen, Farbskala. Keine einmaligen Magic Numbers. Kohärenz ist die Ästhetik.
- Vorhandene Bildschirme sind der Styleguide. Passen Sie die etablierte visuelle Sprache an, bevor Sie etwas erfinden.
- Zurückhaltung (UI-YAGNI). Jedes Element verdient seinen Platz; entfernen Sie, bis das Entfernen etwas kaputt macht. Hierarchie und Weißraum statt Dichte und Dekoration.
- Bevorzugen Sie die Muster der Komponentenbibliothek, bevor Sie benutzerdefinierte UI bauen.
- Zwei ähnliche UI-Elemente → eine parametrisierte Komponente. Unterschiede sind Props/Varianten, niemals Copy-Paste. Eine dritte Kopie ist ein Fehler. (DRY angewandt auf das Interface.)
Die Eskalationsregel
Geschmacksentscheidungen eskalieren; sie werden nie eigenständig getroffen. Wenn eine Wahl wirklich ästhetisch ist und durch Tokens oder Präzedenzfälle nicht eindeutig bestimmt ist, raten Sie nicht stillschweigend:
- Folgen Sie dem nächstgelegenen vorhandenen Präzedenzfall, oder
- Zeigen Sie Optionen auf (Mockups, Side-by-Side-Vergleiche) für eine menschliche Geschmacksentscheidung.
Kurzreferenz
| Situation | Vorgehen |
|---|---|
| Neue Komponente ähnelt einer vorhandenen | Parametrisieren Sie die vorhandene; kopieren Sie nicht |
| Ein Abstands-/Farbwert ist nicht in den Tokens | Verwenden Sie den nächstgelegenen Token; erfinden Sie keine Magic Number |
| Wirklich neuartige visuelle Entscheidung | Eskalieren Sie mit Optionen; treffen Sie keine eigenständige Entscheidung |
| Hinzufügen eines interaktiven Elements | Tastatur + Fokus + zugänglicher Name, von Anfang an |
Durchsetzung: a11y-Linting/Tests in CI (z. B. eslint-plugin-jsx-a11y, axe) für die überprüfbaren Regeln; ästhetische Zurückhaltung ist Ermessenssache des Reviewers gemäß der Eskalationsregel.
Vollständige Begründung: Artikel VII der Verfassung, gebündelt in engineering-constitution/references/engineering-constitution.md.