Overview
Accessibilità
Feature A11y usate nei campi dinamici del parametric-dialog, senza impattare il layout visivo corrente.
Scope
- Campi renderizzati dinamicamente via
wuic-field-editor/wuic-field-filter. - Associazione etichette-controlli per widget nativi e widget PrimeNG.
- Navigazione tastiera coerente tramite
tabIndexcalcolato in base all'ordine campi.
Advanced
Accessibilità
Per i campi dinamici del form (parametric-dialog) il framework applica queste regole:
for=""sulle label solo quando il controllo target e realmente associabile (evita warning browser su label orfane).- fallback semantico: quando
fornon e affidabile, viene usatoaria-labelledbysul controllo input interno. idlabel stabile (<field.ang_name>__label) usato come riferimento A11y per widget complessi (p-autoComplete,p-select).- applicazione runtime di
aria-labelledbyanche dopo rerender async dei widget PrimeNG. tabIndexdinamico propagato ai field widget in base all'ordine dei campi nel form.tabIndexesteso anche ai pulsanti toolbar delparametric-dialog(isEditForm=true) dopo l'ultimo campo editabile.
Tema ad alto contrasto
E disponibile anche una variante tema ad alto contrasto selezionabile dalla dropdown tema (Accessibilita Alto Contrasto).
- attiva la classe globale
theme-high-contrastsuhtml/body. - mantiene il layout corrente (nessun cambio struttura componenti), intervenendo solo su token colore, bordi e focus ring.
- aumenta contrasto foreground/background e rende i bordi dei controlli piu evidenti.
- applica focus visibile rinforzato (
outlinead alto contrasto) per navigazione tastiera. - mantiene compatibilita con i preset PrimeNG gia in uso (base
aura+ override A11y).
Target normativo di riferimento (Italia/UE):
- WCAG 2.1 livello AA (criteri di contrasto, focus visibile e navigazione da tastiera).
- EN 301 549 (standard europeo per accessibilita ICT nel settore pubblico).
- Legge 4/2004 "Legge Stanca" e linee guida AGID (contesto italiano PA).
Esempi visivi (gallery "Feature screenshots"):
manual-accessibilita-01— edit-form metadata in tema alto contrasto: tabparametric-dialogcon bordi 2px neri, indicatore tab attivo--hc-accentblu (#0038a8), ring focus contrastato, audit Lighthouse Accessibility 93.manual-accessibilita-02— list-grid in tema alto contrasto: header tabella, righe e controlli filtro con palette WCAG (bg#ffffff, fg#000000, bordi--hc-border), audit Lighthouse Accessibility 100.
Note operative
- Nessun cambiamento richiesto al layout CSS: gli interventi sono semantici/accessibility-first.
- In caso di widget custom aggiuntivi, esporre
@Input() tabIndexe (se necessario)@Input() ariaLabelledBy. - Verifica consigliata in DevTools > Issues:
- assenza warning Incorrect use of <label for=...>;
- assenza warning No label associated with a form field;
- ordine focus tastiera coerente con ordine campi/pulsanti.
Screenshot

