Suggerimenti per dare accessibilità alle interfacce utente
Below is a series of tips for making applications compatible with accessibility
programs, such as the Accessibility interface provided by Windows.
- Use groups instead of labels.
- If you use a Label to title a group of related widgets, remove the label and
replace their parent composite with a Group whose text is the same as the
title Label.
- Avoid intermediate composites.
- Accessibility tools will read as far up the parent hierarchy of a widget
with focus as possible. Assicurarsi che non esistano widget senza testo nella struttura.
- Use read-only texts instead of labels.
- A Text can be accessed using the keyboard and should be used if you want
the information in a label to be accessible to keyboard navigation. Note that a
label beside a text will be treated as a title and so if you have a title/value pair,
it is only required that you make the value widget a Text.
- 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)
- Assign mnemonics to all labels of controls in
dialogs / preference pages / property pages (e.g. buttons, check-boxes, radio
buttons, etc)
- 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)
- Avoid extra free-standing labels.
- You cannot navigate to free-standing labels with the keyboard and screen readers
like JAWS skip these since they do not take focus
- 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:
- impostando un tasto di scelta rapida su una voce di menu nella barra dei menu principale (tali tasti
vengono ignorati nei menu di scelta rapida)- le azioni JFace prevedono il supporto per questo tipo di
operazione
- collegando un listener di tasti su un particolare controllo
(ad esempio, nell'implementazione di una vista o un editor)
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}
- Le combinazioni Alt+{tasto} possono entrare in conflitto con i tasti di scelta dei menu
- Le combinazioni Ctrl+Alt+{tasto} possono entrare in conflitto con l'immissione di
caratteri speciali sulle tastiere internazionali (alt Gr = Ctrl+Alt)
- Le combinazioni Ctrl+Spazio+{tasto} possono entrare in conflitto con Ctrl-Spazio, utilizzato per
il passaggio di modalità nelle lingue asiatiche.
- 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