João Asked: 2011-01-16 09:50:32 +0800 CST2011-01-16 09:50:32 +0800 CST 2011-01-16 09:50:32 +0800 CST Qt 的可访问性问题是什么? 772 Jonathan Ridell 在一篇博文中说Qt 存在可访问性问题。我只想知道这些问题是什么。非常感谢并继续出色的工作。Ubuntu 摇滚! unity-2d 3 个回答 Voted belacqua 2011-01-19T14:18:21+08:002011-01-19T14:18:21+08:00 我没有在 Qt 中进行任何开发,但我对可访问性主题的解释是,这种担忧可能有点夸大了。我的理解是,虽然 GTK 具有内置的 ATK 支持,但 Qt 必须使用“桥”组件将其本机系统与公认的 Linux 可访问性框架联系起来。 更新——我把这个问题夸大了可能还为时过早。例如,正如 user9237 所说,看起来 AT-SPI 并没有真正实现过。所以引用的奇趣科技文档看起来有点“乐观”。这是一篇有趣的博文,可惜还是有点老,涵盖了很多这样的问题:Qt/KDE 和免费可访问性的状态。 这是 Mark Doffman 的Qt AT-SPI 代码站点。他说, 这个项目是一个 Qt 插件,它将 QAccessible API 连接到 AT-SPI 2 协议,使 Qt 应用程序能够与 Orca、Accerciser 和 GOK 一起使用。 可能是伪造的 Trolltech/Nokia 链接: 以下是 Qt 文档对 Qt 可访问性的评价(来自 trolltech/nokia): Qt 中的可访问性支持包括一个通用接口,为每个平台上的技术实现:Windows 上的 MSAA、Mac 上的 Mac OS X 可访问性和 Linux 上的 Unix/X11 AT-SPI。Qt 的可访问性界面严格遵循大多数客户端支持的 MSAA(Microsoft Active > Accessibility)标准。Qt 使用的其他技术>提供类似的功能。* 一个稍新的文档概述了 Qt 的可访问性。 相比之下,这里是 Gnome 项目中可访问性接口的简要介绍: GAIL(GNOME 可访问性实现库)是 ATK 定义的可访问性接口的实现。GTK 是一个已经被 GAIL 模块映射到 ATK 的工具包。许可证、下载和其他信息可以在这里找到。GAIL 源代码也可作为高级 ATK 使用的优秀教程。此外,您可能对GAIL 参考手册感兴趣。 user9237 2011-01-20T17:45:10+08:002011-01-20T17:45:10+08:00 第一个答案中的引用似乎不正确http://doc.qt.nokia.com/latest/accessible.html “Qt 在 Windows 上支持 Microsoft Active Accessibility (MSAA),在 Mac OS X 上支持 Mac OS X Accessibility。在 Unix/X11 上,支持是初步的。” 在 Linux 上从未为 Qt 实现 AT-SPI 支持(因为它需要编写 CORBA 绑定)。dbus AT-SPI 现在可用,如果有人有时间可以实施,遗憾的是到目前为止还没有人。 Aurélien Gâteau 2011-11-03T07:50:50+08:002011-11-03T07:50:50+08:00 由于 AT-SPI 支持需要 CORBA,Linux 上的可访问性曾经是 Qt 的一个问题。 现在已修复:从 Ubuntu 11.10 开始,Qt 提供了基于 dbus AT-SPI 的可访问性支持。可访问性可用于经典的基于 QWidget 的应用程序以及 QML 应用程序。
我没有在 Qt 中进行任何开发,但我对可访问性主题的解释是,这种担忧可能有点夸大了。我的理解是,虽然 GTK 具有内置的 ATK 支持,但 Qt 必须使用“桥”组件将其本机系统与公认的 Linux 可访问性框架联系起来。
更新——我把这个问题夸大了可能还为时过早。例如,正如 user9237 所说,看起来 AT-SPI 并没有真正实现过。所以引用的奇趣科技文档看起来有点“乐观”。这是一篇有趣的博文,可惜还是有点老,涵盖了很多这样的问题:Qt/KDE 和免费可访问性的状态。
这是 Mark Doffman 的Qt AT-SPI 代码站点。他说,
可能是伪造的 Trolltech/Nokia 链接:
一个稍新的文档概述了 Qt 的可访问性。
相比之下,这里是 Gnome 项目中可访问性接口的简要介绍
: GAIL(GNOME 可访问性实现库)是 ATK 定义的可访问性接口的实现。GTK 是一个已经被 GAIL 模块映射到 ATK 的工具包。许可证、下载和其他信息可以在这里找到。GAIL 源代码也可作为高级 ATK 使用的优秀教程。此外,您可能对GAIL 参考手册感兴趣。
第一个答案中的引用似乎不正确http://doc.qt.nokia.com/latest/accessible.html
“Qt 在 Windows 上支持 Microsoft Active Accessibility (MSAA),在 Mac OS X 上支持 Mac OS X Accessibility。在 Unix/X11 上,支持是初步的。”
在 Linux 上从未为 Qt 实现 AT-SPI 支持(因为它需要编写 CORBA 绑定)。dbus AT-SPI 现在可用,如果有人有时间可以实施,遗憾的是到目前为止还没有人。
由于 AT-SPI 支持需要 CORBA,Linux 上的可访问性曾经是 Qt 的一个问题。
现在已修复:从 Ubuntu 11.10 开始,Qt 提供了基于 dbus AT-SPI 的可访问性支持。可访问性可用于经典的基于 QWidget 的应用程序以及 QML 应用程序。