UI: Dark Mode + Accessibility (VoiceOver, Dynamic Type, Reduce Motion, Kontrast) #4

Open
opened 2026-05-03 14:41:54 +02:00 by root · 0 comments
Owner

Beschreibung

Dark Mode Support und Accessibility müssen systematisch angegangen werden.

Dark Mode (wiki/reference/hig-dark-mode.md)

  • Alle Farben auf Semantic Colors umstellen
  • Base vs Elevated Backgrounds für Hierarchie
  • Trait-Collection-Handling für Fretboard

Accessibility (wiki/reference/hig-accessibility.md)

  • VoiceOver: Alle interaktiven Elemente brauchen Labels
    • Fretboard: "E3 (lowE string, 3rd fret)"
    • Toggles: "A string, active/inactive"
    • Mode: "Training mode, Name Note/Find Note"
  • Dynamic Type: bis AX5 (312%) skalieren
  • Reduce Motion: Animationen durch Dissolves ersetzen
  • Kontrast: 4.5:1 Text, 3:1 UI-Komponenten

Feedback (wiki/reference/hig-feedback.md)

  • Haptics für korrekte/falsche Antworten (SensoryFeedback API, iOS 17+)

Motion (wiki/reference/hig-motion.md)

  • Springs (iOS 17+) oder Easing für Animationen
  • Reduce-Motion-Alternative: Dissolve statt Scale

Akzeptanzkriterien

  • Dark Mode: App funktioniert vollständig im Dark Mode
  • VoiceOver: Alle Elemente haben korrekte Labels
  • Dynamic Type: Kein Text bricht bei AX5 (312%)
  • Reduce Motion: Animationen werden durch Fades ersetzt
  • Kontrast: Alle Text/Hintergrund-Kombinationen ≥ 4.5:1
  • Haptics: Correct/Incorrect Feedback funktioniert
## Beschreibung Dark Mode Support und Accessibility müssen systematisch angegangen werden. ## Dark Mode (wiki/reference/hig-dark-mode.md) - Alle Farben auf Semantic Colors umstellen - Base vs Elevated Backgrounds für Hierarchie - Trait-Collection-Handling für Fretboard ## Accessibility (wiki/reference/hig-accessibility.md) - VoiceOver: Alle interaktiven Elemente brauchen Labels - Fretboard: "E3 (lowE string, 3rd fret)" - Toggles: "A string, active/inactive" - Mode: "Training mode, Name Note/Find Note" - Dynamic Type: bis AX5 (312%) skalieren - Reduce Motion: Animationen durch Dissolves ersetzen - Kontrast: 4.5:1 Text, 3:1 UI-Komponenten ## Feedback (wiki/reference/hig-feedback.md) - Haptics für korrekte/falsche Antworten (SensoryFeedback API, iOS 17+) ## Motion (wiki/reference/hig-motion.md) - Springs (iOS 17+) oder Easing für Animationen - Reduce-Motion-Alternative: Dissolve statt Scale ## Akzeptanzkriterien - [ ] Dark Mode: App funktioniert vollständig im Dark Mode - [ ] VoiceOver: Alle Elemente haben korrekte Labels - [ ] Dynamic Type: Kein Text bricht bei AX5 (312%) - [ ] Reduce Motion: Animationen werden durch Fades ersetzt - [ ] Kontrast: Alle Text/Hintergrund-Kombinationen ≥ 4.5:1 - [ ] Haptics: Correct/Incorrect Feedback funktioniert
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
root/Fretboard-Trainer#4
No description provided.