首页 文章

Qt Accessible Widgets

提问于
浏览
2

我'm trying to implement accessibility for my Qt application. I'm使用NVDA(http://www.nvda-project.org/)和Freedom Scientific的JAWS(http://www.freedomscientific.com/products/fs/jaws-product-page.asp)作为我想支持的屏幕阅读器 .

我'm assigning the widget'的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 回答

  • 2

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

    要实现这一点,您需要将qtaccessible小部件添加到qmake项目文件中:

    QTPLUGIN += qtaccessiblewidgets
    

    在main.cpp中添加一个Q_IMPORT_PLUGIN

    Q_IMPORT_PLUGIN(qtaccessiblewidgets)
    

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

    “按钮 . 保存 . 保存您在上面输入的选项 . 按空格键激活按钮 . ”

    当您选中(或以其他方式放置焦点)按钮时

相关问题