Suggerimenti per dare accessibilità alle interfacce utente

Di seguito è riportata una serie di suggerimenti per rendere un elemento utilizzabile dall'interfaccia IAccessibility fornita da Windows.

Utilizzare gruppi invece di etichette
Se si utilizza un etichetta per fornire un titolo a un gruppo di widget correlati, rimuovere l'etichetta e sostituire la relativa struttura composta principale con un gruppo il cui testo corrisponda a quello dell'etichetta del titolo.
 
Evitare strutture composte intermedie
Gli strumenti IAccessibility estenderanno la lettura fino alla gerarchia principale di un widget attivato fino ad esaurire i widget. Assicurarsi che non esistano widget senza testo nella struttura.
 
Utilizzare testi di sola lettura invece di etichette
Un testo risulta accessibile mediante tastiera e deve essere utilizzato se si desidera che le informazioni di un'etichetta siano accessibili all'esplorazione mediante tastiera. Si noti che un'etichetta accanto a un testo sarà considerata come un titolo e quindi, se si dispone di una coppia title:value che si desidera mostrare, occorre semplicemente rendere come testo il widget del valore.
 
Leggere e comprendere l'elenco di controllo IBM
IBM fornisce un utile elenco di controllo per ottenere un buon accesso facilitato alla pagina http://www.ibm.com/able/guidelines/software/accesssoftware.html
 
Assegnare tasti di scelta a tutti i menu e voci di menu
Verificare che tali tasti di scelta siano univoci all'interno di un determinato menu. Se un menu viene composto dinamicamente da più plugin, è meglio non assegnare tasti di scelta, dal momento che sarebbe impossibile evitare conflitti (ad esempio, l'elenco File > Nuovo o Finestra > Mostra vista)
 
Assegnare tasti di scelta a tutte le etichette dei controlli di finestre di dialogo / pagine delle preferenze / pagine delle proprietà (ad esempio pulsanti, caselle di riepilogo, pulsanti di scelta)
Verificare che tali tasti di scelta siano univoci all'interno della finestra di dialogo. Fare attenzione ad evitare conflitti con i pulsanti predefiniti (ad esempio, Ripristina &predefiniti, &Applica nelle pagine delle preferenze; &Avanti, &Indietro, &Fine nelle procedure guidate). Non assegnare tasti di scelta ai pulsanti OK e Annulla. Se si rende OK il pulsante predefinito della shell e Annulla equivale a chiudere la shell, i tasti Invio e Esc sono associati a tali pulsanti per impostazione predefinita. In genere utilizzare i tasti Esc o Invio non è una buona idea.
 
Assicurarsi che i controlli che non presentano etichette siano preceduti da un'etichetta.
Se un controllo non ha una propria etichetta (ad esempio un campo di testo), utilizzare un'etichetta precedente che termina con ':' e assegnare ad essa un tasto di scelta. I programmi di lettura dello schermo come JAWS leggeranno questa etichetta quando il controllo è attivo (vedere Finestra > Preferenze > Generale)
 
Evitare altre etichette in posizione libera
Non è possibile passare ad etichette libere tramite tastiera e le utilità di lettura dello schermo come JAWS le ignorano perché non diventano attive
 
Non assegnare tasti di scelta ai controlli nella finestra principale
Non assegnare tasti di scelta ai controlli della finestra principale (diversi dai menu principali e dalle voci dei menu principali), anche se questa ha l'aspetto di una finestra di dialogo (ad esempio, gli editor di moduli in org.eclipse.ui.forms) poiché in genere si creano conflitti con i tasti di scelta dei menu
 
Assegnare tasti di scelta rapida per le funzioni utilizzate di frequente (e solo per queste)
Esistono attualmente solo due modi per collegare tasti di scelta rapida in SWT: Consultare la tabella dei tasti di scelta rapida di Eclipse SDK, disponibile in Eclipse nella pagina delle preferenze Generale > Tasti, per evitare conflitti.
 
Evitare le combinazioni Alt+{tasto}, Ctrl+Alt+{tasto} e Ctrl+Spazio+{tasto}
Cercare di salvare il contesto di navigazione
Ad esempio, in Finestra > Preferenze, è possibile ricordare quale pagina è stata selezionata per ultima. Questo evita di dover esplorare l'intero elenco ogni volta
 
Assegnare a una persona specifica del team la responsabilità dell'accesso facilitato per il progetto
Assicurarsi che una persona del team conosca l'importanza di un buon accesso facilitato e sia disponibile a fornire una collaborazione completa.
 
Verificare l'accessibilità
Stabilire una giornata in cui "non si adoperi il mouse" e si tenti di utilizzare il prodotto servendosi della sola tastiera. Se si sviluppa in ambiente Windows, ottenere una copia di JAWSTM e verificare che sia possibile utilizzare l'UI con questo strumento