2010-10-26 25 views
0

J'ai une exigence que JButton désactivé soit lu par la version 9 de JAWS, c'est-à-dire si j'ai un JButton avec le texte "Vrai", il devrait être lu quelque chose comme "Vrai, bouton désactivé". Mais lorsque j'utilise setEnabled(false), il ne participe plus à la séquence de mise au point de l'onglet et ne peut donc jamais être lu. Est-il possible de rendre un JButton désactivé par JAWS comme je l'ai décrit?Lecture désactivée JButtons avec JAWS

Ma « solution » est en ce moment à imiter les boutons et handicapés définir le nom accessible comme suit:

button.setForeground(Color.GRAY); 
button.getAccessibleContext().setAccessibleName(buttonText + " disabled"); 

Mais je vraiment utiliser plutôt des boutons réel sont désactivés.

+0

Pouvez-vous spécifier ce que JAWS est dans votre contexte? Les acronymes sont à dix sous. –

+0

Dans le contexte de l'accessibilité et de l'article 508, je pense que c'est assez clair. Mais: JAWS (acronyme de Job Access With Speech) est un lecteur d'écran, un logiciel destiné aux utilisateurs malvoyants, produit par le groupe Blind and Low Vision de Freedom Scientific de St. Petersburg, Floride, États-Unis. ... –

Répondre

2

Comme un utilisateur de mâchoires qui a dû se battre avec beaucoup d'une interface de swing je ne crois pas que ce soit possible et vous devriez rester avec votre solution. De plus, il est à noter qu'Oracle a cessé de travailler sur le Java Access Bridge, de sorte que les nouvelles versions de Java pourraient ne plus fonctionner avec les mâchoires à l'avenir. Je ne peux pas trouver un lien pour confirmer ou infirmer cette façon ou l'autre. Même si Oracle n'a pas arrêté le support pour le pont d'accès, il n'y a pas eu de travail significatif sur celui-ci depuis plusieurs années. Je ne pense pas qu'il soit possible d'utiliser une JVM 64 bits avec Jaws et Swing mais je peux me tromper. En général, l'accessibilité de Swing et Jaws est très médiocre, sauf si vous êtes dans un environnement contrôlé où vous pouvez vous assurer que les utilisateurs ne mettent pas à niveau de nouvelles versions de logiciels sans tests préalables. Bien que je comprenne que les réécritures de l'interface utilisateur ne sont pas triviales si l'on va le faire à l'avenir, je regarderais passer de Swing à SWT. SWT fonctionne bien avec les mâchoires de la boîte car il utilise des contrôles standard sous les couvertures. J'utilise Eclipse comme un IDE assez accessible et toutes les applications SWT que j'ai examinées à l'exception des éditeurs UML sont assez accessibles avec Jaws et aucune personnalisation.

+0

Merci Jared, j'avais soupçonné que Swing et le Java Access Bridge étaient de mauvaise qualité, mais c'était ma première application de bureau Java et je n'ai pas eu l'occasion de choisir l'API. Je suis déçu d'apprendre que SWT aurait été tellement mieux, puisque nous aurons probablement un assez grand nombre d'utilisateurs de JAWS. Mais c'est une bonne information à avoir pour influencer les choix futurs. Franchement, je préfère utiliser .NET et WPF ou WinForms. –