Voici une série de conseils à appliquer à l'interface IAccessibility fournie par Windows.
1) Utilisez des groupes au lieu de libellés
Si vous utilisez un libellé pour attribuer un titre à un groupe de widgets associés, supprimez le libellé et remplacez le composite parent par un groupe dont le texte est identique au libellé de titre.
2) Evitez les composites intermédiaires.
Les outils IAccessibility parcourent jusqu'en haut la hiérarchie parent d'un widget sélectionné s'il se trouvent des widgets à lire. Vérifiez que l'arborescence ne contient pas de widgets sans texte.
3) Utilisez des textes en lecture seule au lieu de libellés
Un texte peut être accédé via le clavier et utilisé si vous souhaitez que les informations d'un libellé soient accessibles à la navigation via le clavier. Notez que le libellé en regard d'un texte est considéré comme un titre et que si vous avez un couple titre:valeur à afficher, il suffit de transformer le widget en texte.
4) Lisez et assimilez la liste de contrôle IBM. http://www-3.ibm.com/able/accesssoftware.html
5) Affectez des mnémoniques à tous les menus et options de menu.
Assurez-vous leur unicité au sein d'un menu donné. Lorsqu'un menu est composé dynamiquement à partir de plusieurs plug-ins, il est préférable de ne pas affecter de mnémoniques car les conflits sont alors inévitables (par ex., les listes Fichier > Nouveau ou Fenêtre > Afficher la vue)
6) Affectez des mnémoniques à tous les libellés des contrôles des boîtes de dialogue / pages de préférence / pages de propriétés (par ex., boutons, cases à cocher, boutons d'option, etc.)
Assurez-vous de leur unicité au sein de la boîte de dialogue. Veillez à éviter les conflits avec les boutons par défaut (par ex., Restaurer &Valeurs par défaut, &Appliquer des pages de préférence, et &Suivant, &Précédent, &Fin des assistants). N'affectez pas de mnémoniques aux boutons OK et Annuler. Si vous définissez le bouton OK comme bouton par défaut du shell et que Annuler équivaut à fermer le shell, les boutons Entrée et Esc leur correspondent par défaut. En général, l'emploi de Esc ou Entrée n'est pas recommandé.
7) Lorsqu'un contrôle ne dispose pas de son propre libellé (par ex., une zone de texte), utilisez un libellé précédent qui se termine par ':' et affectez-lui une mnémonique. Les lecteurs d'écran tels que JAWS liront ce libellé lorsque le contrôle sera sélectionné (voir, par exemple, Fenêtre > Préférences > Plan de travail)
8) Evitez les libellés indépendants supplémentaires auxquels vous ne pouvez pas accéder à l'aide du clavier et que les lecteurs d'écran tel JAWS ignorent car ils ne peuvent pas être sélectionnés.
9) N'affectez pas de mnémoniques aux contrôles de la fenêtre principale (autres que les menus principaux et les options de menu principal), même si elle se présente comme une boîte de dialogue (par ex., les éditeurs de formulaire dans WSAD) car cela engendre généralement des conflits avec les mnémoniques des menus.
10) Affectez des touches de raccourci aux fonctions les plus utilisées (et UNIQUEMENT aux fonctions les plus utilisées).
En général, il n'existe que deux manières d'ancrer des touches de raccourci dans SWT :
- Par association d'un accélérateur à une option de menu dans la barre de menus principale (ignoré dans les menus contextuels. Les actions JFace supportent cette opération.
- Par ancrage d'un écouteur de touche sur un contrôle particulier (par ex., dans l'implémentation d'une vue ou d'un éditeur).
Consultez la table des touches de raccourci du SDK Eclipse (disponible sur la page eclipse.org -> Projects -> Eclipse Project -> Platform -> UI -> Development Resources -> Accessibility) afin d'éviter tout conflit.
12) Evitez les combinaisons Alt+{touche} qui peuvent entrer en conflit avec des mnémoniques de menu.
13) Evitez les combinaisons Ctrl+Alt+{touche} souvent incompatibles avec l'entrée de caractères spéciaux sur des claviers internationaux (alt Gr = Ctrl+Alt).
14) Evitez les combinaisons Ctrl+espace+{touche} car Ctrl-espace est utiliser pour changer de mode dans les langues asiatiques.
15) Essayez de sauvegarder le contexte de navigation.
Par exemple, dans Plan de travail / Préférences, nous mémorisons désormais la dernière page sélectionnée. Ceci évite de parcourir de nouveau toute la liste.
16) Chargez une personne de l'équipe d'assurer l'accessibilité de votre projet.
17) Testez cette accessibilité.
Imposez de temps en temps aux membres de l'équipe une "journée sans souris" pendant laquelle ils tentent d'utiliser le produit uniquement avec les touches du clavier. Procurez-vous une copie de JAWSTM (http://www.freedomscientific.com/) et vérifiez que votre interface est utilisable par ce biais.