# UI Guidelines
Qualitätsregeln für Benutzeroberflächen. Keine Designvorgaben.
---
## Scope
Diese Datei definiert **Qualitätsanforderungen** für:
- Accessibility (Barrierefreiheit)
- Responsive Design (Mobile-First)
- Performance-Budgets
- SEO-Grundlagen
- GEO/AI-Search-Optimierung
- Interaktionsqualität
**Geltungsbereich:** Gilt global für jedes Projekt. Definiert WIE UI gebaut wird, nicht WIE sie aussieht.
---
## Read Order
Diese Datei wird nach `SYSTEM_SKILLS.md` gelesen:
1. `skills/SYSTEM_SKILLS.md`
2. `skills/UI_GUIDELINES.md` (diese Datei)
3. `skills/DEFINITION_OF_DONE.md`
4. `skills/CLIENT_OVERRIDES.md`
5. Projekt-Specs
---
## Non-Goals
Diese Datei definiert **NICHT**:
- Welche Farben verwendet werden (kommt aus Tokens)
- Welche Schriftarten verwendet werden (kommt aus Tokens)
- Welche Layouts oder Sections erstellt werden (kommt aus ProjectSpec)
- Konkrete visuelle Gestaltung
- UI-Templates oder Komponenten-Vorlagen
**Regel:** Alle visuellen Entscheidungen kommen aus `design_tokens.json` und `stylesheet.css`.
---
## Accessibility (Barrierefreiheit)
### WCAG 2.1 Level AA
Jede UI muss mindestens WCAG 2.1 Level AA erfüllen:
| Anforderung | Kriterium |
|-------------|-----------|
| Kontrast (normaler Text) | mindestens 4.5:1 |
| Kontrast (großer Text) | mindestens 3:1 |
| Kontrast (UI-Elemente) | mindestens 3:1 |
| Fokus-Indikator | sichtbar für alle interaktiven Elemente |
| Tastatur-Navigation | vollständig ohne Maus bedienbar |
| Screen Reader | alle Inhalte zugänglich |
### Semantisches HTML
```html
Zum Kontaktformular
Aktion ausführen
Zum Kontaktformular
...
```
### ARIA-Attribute
- ARIA nur verwenden, wenn natives HTML nicht ausreicht
- `aria-label` für Icons ohne sichtbaren Text
- `aria-expanded`, `aria-hidden` für dynamische Inhalte
- `aria-live` für dynamische Updates (z.B. Fehlermeldungen)
- `role` nur wenn semantisches HTML keine Option ist
### Formulare
- Jedes Eingabefeld braucht ein sichtbares `