【问题标题】:Qt Accessible WidgetsQt 可访问小部件
【发布时间】:2010-10-08 19:08:15
【问题描述】:

我正在尝试为我的 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 没有提供我需要的可访问性信息?

【问题讨论】:

    标签: qt accessibility


    【解决方案1】:

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

    为此,您需要将 qtaccessible 小部件添加到您的 qmake 项目文件中:

    QTPLUGIN += qtaccessiblewidgets
    

    然后在 main.cpp 添加一个 Q_IMPORT_PLUGIN

    Q_IMPORT_PLUGIN(qtaccessiblewidgets)
    

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

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

    当您选择(或以其他方式将焦点放在)按钮时

    【讨论】:

      【解决方案2】:

      在一个教程视频中,我看到了 Qt 表面组件 具有属性“AccessibleName”和“AccessibleDescription”。 这表明 Qt 应用程序是屏幕可读的 可以开发。在编程语言中被称为Java和C# 属性相同。 我正在 Windows 10 上开发 Python

      问题: 是否有关于如何使 Python Qt 应用程序适合屏幕阅读器的指南?

      【讨论】:

      • OP 已经知道 Qt 和这两个属性通常是可能的。问题在文本和源代码中提到了它们。
      • 如果自己有问题,请将它们作为问题发布到网站上。谢谢。
      猜你喜欢
      • 1970-01-01
      • 2019-12-23
      • 1970-01-01
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多