【问题标题】:Screen reader can't read content on node-webkit app屏幕阅读器无法读取 node-webkit 应用程序上的内容
【发布时间】:2014-09-03 07:43:06
【问题描述】:

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

屏幕阅读器能够读取窗口的按钮和窗口的标题,但无法读取应用程序内的 HTML。实际上,它不适用于使用 node-webkit 开箱即用的示例页面,因此不是我们的应用程序的问题。

有什么想法或替代方案吗?谢谢!

【问题讨论】:

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


    【解决方案1】:

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

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

    虽然我只习惯于 web 可访问性,而不是与软件、浏览器、API 及其内部工作相关的任何事情(所以我可能错了,抱歉)我猜通信与从“WebKit”到操作系统的可访问性(Windows、OS X 上还有“WebKit”,可能还有 Linux 等)由 Chrome 软件(以及来自 Chromium 项目的 vanilla Chromium 软件)管理,而不是 WebKit 渲染引擎。 node-webkit 是围绕 Chromium 制作的,但它会传递与无障碍 API 相关的消息吗?如果可以或可以,您应该具有与 Chromium 相同的可访问性(与 Firefox 和 IE 相比,祝您好运)。如果没有,那就是一个黑匣子。
    然后需要添加所有这些可访问性 API 管理才能使其正常工作!也许它只是 node-webkit 中的一个选项?

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-23
      • 1970-01-01
      • 1970-01-01
      • 2011-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多