🎯 Obiettivo
Migliorare accessibilità e micro-interazioni della UI, rendendo l'app usabile anche da utenti con limitazioni visive/motorie e migliorando la percezione di fluidità tramite piccoli feedback visivi.
📋 Contesto
Requisiti derivati implicitamente da design system e best practice WPF:
- Navigazione completa via tastiera
- Focus visibile e coerente
- Contrasto colori adeguato (WCAG)
- Supporto screen reader (AutomationProperties)
- Micro-animazioni per feedback (senza disturbare l'uso clinico)
📦 Ambiti di Intervento
1. Accessibilità Tastiera
- Definire tab order logico nelle principali view:
MainWindow / sidebar
PatientListView / PatientFormView
ProjectFormView
CalendarView
VisitFormView
SyncView
- Shortcut tastiera per azioni frequenti:
Ctrl+N → nuovo paziente/progetto (a seconda del contesto)
Ctrl+S → salva form
Esc → chiudi dialog/cancel
2. Focus Visibile
- Implementare stile focus globale in
Styles/Controls.xaml (border più spesso + colore accent)
- Garantire che tutti i controlli interattivi mostrino focus quando attivi
- Testare navigazione con
Tab/Shift+Tab in tutte le view principali
3. Contrasto e Tema High-Contrast
- Verificare contrasto testo/sfondo (>= 4.5:1 per testo normale)
- Introdurre tema "High Contrast" opzionale:
- palette con colori più saturi/differenziati
- slider/toggle
HighContrastMode in impostazioni
- Introdurre stile alternativo per DataGrid e form per high-contrast
4. Screen Reader & AutomationProperties
- Assegnare
AutomationProperties.Name e AutomationProperties.HelpText a:
- bottoni principali
- campi form (in aggiunta alle label visuali)
- elementi di lista critici (paziente selezionato, stato progetto, prossima visita)
- Verificare con strumenti standard (Narrator/JAWS NVDA) la leggibilità base
5. Micro-interazioni (animazioni leggere)
- Animazione leggera su hover/click di bottoni principali (opacity/scale minima)
- Fade-in/out per snackbar di successo/errore
- Highlight temporaneo di righe DataGrid modificate dopo salvataggio/sync
- Disabilitare animazioni per utenti che richiedono "riduci movimento" (es. flag in impostazioni)
📋 Tasks
✅ Acceptance Criteria
🔗 Riferimenti
CLUSTER: UI & UX (gap 5.3)
FASE: 4 - Polish & Deploy
PRIORITÀ: 🔵 MEDIA
DIPENDENZE: #55, #54, #83
🎯 Obiettivo
Migliorare accessibilità e micro-interazioni della UI, rendendo l'app usabile anche da utenti con limitazioni visive/motorie e migliorando la percezione di fluidità tramite piccoli feedback visivi.
📋 Contesto
Requisiti derivati implicitamente da design system e best practice WPF:
📦 Ambiti di Intervento
1. Accessibilità Tastiera
MainWindow/ sidebarPatientListView/PatientFormViewProjectFormViewCalendarViewVisitFormViewSyncViewCtrl+N→ nuovo paziente/progetto (a seconda del contesto)Ctrl+S→ salva formEsc→ chiudi dialog/cancel2. Focus Visibile
Styles/Controls.xaml(border più spesso + colore accent)Tab/Shift+Tabin tutte le view principali3. Contrasto e Tema High-Contrast
HighContrastModein impostazioni4. Screen Reader & AutomationProperties
AutomationProperties.NameeAutomationProperties.HelpTexta:5. Micro-interazioni (animazioni leggere)
📋 Tasks
InputBindings) per shortcut principalidocs/ARCHITECTURE.md/docs/WORKFLOW.mdper sezione accessibilità✅ Acceptance Criteria
🔗 Riferimenti
CLUSTER: UI & UX (gap 5.3)
FASE: 4 - Polish & Deploy
PRIORITÀ: 🔵 MEDIA
DIPENDENZE: #55, #54, #83