2010-10-08 6 views
1

J'essaie d'implémenter l'accessibilité pour mon application Qt. J'utilise NVDA (http://www.nvda-project.org/) et JAWS de Freedom Scientific (http://www.freedomscientific.com/products/fs/jaws-product-page.asp) en tant que lecteurs d'écran que je veux prendre en charge.Qt Widgets accessibles

J'attribue les propriétés accessibilityName et accessibleDescription du widget (http://doc.trolltech.com/4.7/qwidget.html#accessibleDescription-prop) afin que le lecteur d'écran lise ces informations.

Exemple:

saveButton->setAccessibleName("save"); 
saveButton->setAccessibleDescription("Save the options you have entered above"); 

Dans les deux lecteurs d'écran tout fonctionne correctement lorsque vous utilisez la souris. Cependant, lorsque le focus change dans un widget, tous les lecteurs lisent "volet". Pourquoi Qt ne fournit-il pas les informations d'accessibilité dont j'ai besoin?

Répondre

1

Vous devez importer un plug-in pour que Qt dispose de widgets accessibles. Cela permet aux lecteurs d'écran de lire les noms et les hiérarchies des objets.

Pour cela, vous devez ajouter des widgets qtaccessible à votre fichier de projet qmake:

QTPLUGIN += qtaccessiblewidgets 

Et main.cpp ajouter un Q_IMPORT_PLUGIN

Q_IMPORT_PLUGIN(qtaccessiblewidgets) 

Ensuite, les lecteurs d'écran seront en mesure de précision lire:

"Bouton Enregistrer Enregistrer les options que vous avez entrées ci-dessus.Appuyez sur espace pour activer le bouton."

Lorsque vous onglet (ou autrement mettre l'accent sur) un bouton

Questions connexes