Answers:
我没有在Qt上进行任何开发,但是我对可访问性的看法是,这种担忧可能有点夸张。我的理解是,尽管GTK具有内置的ATK支持,但Qt必须使用“桥”组件将其本机系统与公认的Linux可访问性框架联系起来。
更新-我过早地称这个问题为时过早。例如,正如user9237所说,它似乎从未真正实现过AT-SPI。因此,引述的trolltech文档看起来有些“乐观”。这是一篇有趣的博客文章,不幸的是它仍然有些陈旧,涵盖了许多这些问题:Qt / KDE和免费可访问性的状态。
这是Mark Doffman的Qt AT-SPI的代码站点。他说,
该项目是一个Qt插件,可将QAccessible API桥接到AT-SPI 2协议,使Qt应用程序可与Orca,Accerciser和GOK一起使用。
可能是虚假的Trolltech /诺基亚链接:
这是Qt文档对Qt可访问性的评价(来自 trolltech / nokia):
Qt中的可访问性支持包含一个通用接口,该接口针对每个平台上的技术实现:Windows上的MSAA,Mac上的Mac OS X可访问性以及Linux上的Unix / X11 AT-SPI。Qt的可访问性界面紧密遵循大多数客户端支持的MSAA(Microsoft Active>可访问性)标准。Qt使用的其他技术>提供类似的功能。*
较新的文档概述了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 OSX。在Unix / X11上,支持是初步的。”
从未在Linux上为Qt实现过AT-SPI支持(因为它需要编写CORBA绑定)。dbus AT-SPI现在已经可以使用,如果有人愿意的话,可以实现它,可惜到目前为止还没有人。
由于AT-SPI支持需要CORBA,因此Linux上的可访问性曾经是Qt的问题。
现在已修复:从Ubuntu 11.10开始,Qt附带基于dbus AT-SPI的可访问性支持。可访问性适用于基于QWidget的经典应用程序和QML应用程序。