Qt Accessible Widgets

时间:2010-10-08 19:08:15

标签: qt accessibility

我正在尝试为我的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不提供我需要的辅助功​​能信息?

2 个答案:

答案 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应用程序适合屏幕阅读器的指南?