我正在尝试为我的Qt应用程序实现辅助功能。我正在使用NVDA(http://www.nvda-project.org/)和Freedom Scientific的JAWS(http://www.freedomscientific.com/products/fs/jaws-product-page.asp)作为我想支持的屏幕阅读器。
我正在分配窗口小部件的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不提供我需要的辅助功能信息?
答案 0 :(得分:2)
您必须导入插件才能让Qt拥有可访问的小部件。这使屏幕阅读器可以读取对象的名称和层次结构。
要实现这一点,您需要将qtaccessible小部件添加到qmake项目文件中:
QTPLUGIN += qtaccessiblewidgets
在main.cpp中添加一个Q_IMPORT_PLUGIN
Q_IMPORT_PLUGIN(qtaccessiblewidgets)
然后屏幕阅读器将能够准确阅读:
“按钮。保存。保存您在上面输入的选项。按空格键激活按钮。”
当您选择(或以其他方式关注)按钮时
答案 1 :(得分:-1)
在一个教程视频中,我看到了Qt表面组件 具有属性“ AccessibleName”和“ AccessibleDescription”。 这表明Qt应用程序是屏幕可读的 可以开发。在编程语言中被称为Java和C# 属性相同。 我正在Windows 10上开发Python
问题: 是否有关于如何使Python Qt应用程序适合屏幕阅读器的指南?