2010-10-08 29 views
1

我正在尝试为我的Qt应用程序实现可访问性。我使用NVDA(http://www.nvda-project.org/)和Freedom Scientific的JAWS(http://www.freedomscientific.com/products/fs/jaws-product-page.asp)作为我想支持的屏幕阅读器。Qt可访问小工具

我正在分配控件的accessibleName和accessibleDescription属性(http://doc.trolltech.com/4.7/qwidget.html#accessibleDescription-prop)以便屏幕阅读器读取此信息。

实施例:

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

在这两个屏幕阅读器一切都使用鼠标时工作正常。但是,当焦点在小部件中发生变化时,所有阅读者阅读的内容都是“窗格”。为什么Qt不提供我需要的可访问性信息?

回答

1

你必须导入一个插件才能让Qt拥有可访问的小部件。这使屏幕阅读器可以读取对象的名称和层次结构。

为了得到这一点,你需要qtaccessible小部件添加到您的qmake项目文件:

QTPLUGIN += qtaccessiblewidgets 

而在main.cpp中添加Q_IMPORT_PLUGIN

Q_IMPORT_PLUGIN(qtaccessiblewidgets) 

然后屏幕阅读器将能够准确阅读:

“按钮。保存。保存上面输入的选项。按空格激活按钮。”

当您选项卡(或以其他方式专注于)按钮