屏幕阅读器无法读取node-webkit应用程序上的内容

时间:2014-07-13 01:26:24

标签: javascript accessibility chromium node-webkit screen-readers

我们正在使用node-webkit打包使用HTML5和js制作的应用。一切都运作良好但现在当我们尝试使用屏幕阅读器(Apple VoiceOver或Jaws)阅读内容时,内容似乎无法访问。

屏幕阅读器可以阅读窗口的按钮和窗口标题,但无法读取应用内的HTML。实际上它并不适用于带有node-webkit的开箱即用的样本页面,所以这不是我们应用程序的问题。

任何想法或替代方案?谢谢!

1 个答案:

答案 0 :(得分:2)

Windows,OS X和Linux(以及Android和iOS以及移动设备上的无数其他平台)等每个平台(OS)都有自己的辅助功能API。例如,Windows 7和8上的Windows Automation API(开源软件使用IAccessible2但它似乎是一个有用的额外层。无论如何)

  • 像浏览器这样的软件必须通过此API与操作系统进行通信(它可以是电子邮件客户端,电子表格,文件浏览器等)。
  • 操作系统将进行过滤(示例:如果它不是活动窗口,如果发生系统事件,如删除USB密钥或新通知)
  • 此辅助功能API将告知辅助技术(AT),如屏幕阅读器(SR),了解发生了什么。 SR是一个具有用户配置的复杂软件,它还可以通过语音合成和/或盲文显示器等对其进行过滤,调整和输出。

虽然我只习惯 web 可访问性,而不是与软件,浏览器,API及其内部工作相关的任何内容(所以我可能会非常错误,抱歉)我想通信与来自" WebKit"的可访问性相关操作系统(以及那些" WebKit"在Windows,OS X,可能仍然是Linux等)由Chrome管理软件(以及来自Chromium项目的vanilla Chromium软件),而不是WebKit渲染引擎。 node-webkit是围绕Chromium制作的,但它是否传递了与辅助功能API相关的消息?如果它确实或可以,你应该具有与Chromium相同的可访问性(与Firefox和IE相比,祝你好运)。如果它没有,那就是一个黑盒子 然后,需要添加所有此可访问性API管理以使其工作!也许它只是node-webkit中的一个选项?

如果您想验证与辅助功能API相关的软件是否有任何问题,您可以使用The Paciello Group的 aViewer 进行测试。

可能相关:Blink accessibility(Chromium项目)