【问题标题】:What is the difference between IAccessible, IAccessible2, UIAutomation and MSAA?IAccessible、IAccessible2、UIAutomation 和 MSAA 有什么区别?
【发布时间】:2019-08-03 09:57:35
【问题描述】:

我正在着手研究可访问性,但我对遇到的不同技术感到有些困惑。

IAccessible 和 IAccessible2 有什么区别?我最初认为 IAccessible2 可能是 IAccessible 的更新版本,但经过进一步研究,它看起来实际上是由微软的竞争对手制造的。维基百科称“它已被定位为微软新 UI 自动化 API 的替代品。” MSAA 如何融入其中?

谁能澄清 IAccessible、IAccessible2、UI 自动化 API 和 MSAA 之间的区别?为什么一个可能比另一个更可取?

【问题讨论】:

    标签: accessibility uiaccessibility uia iaccessible


    【解决方案1】:

    Microsoft Active Accessibility (MSAA) 是 Microsoft 最初的辅助功能 API; version 1 of MSAA 是 Windows 95 的附加版本。MSAA 在它支持的 roles, names, values and states 集方面受到限制;这意味着可以将可访问性元数据传达给辅助技术(例如屏幕阅读器)的图形组件集是有限的。

    IAccessible 是 MSAA 的一部分:

    IAccessible 接口是一组方法,可公开各种用户界面 (UI) 元素的最常见属性和行为。 UI 元素是一个控件,例如菜单或按钮,它是用户界面的一部分。可访问对象是具有有意义的 IAccessible 界面的 UI 元素。

    MSAA 的局限性拒绝了 IAccessible2(最初在 IBM)的开发,其目的是填补 MSAA 的空白,例如“支持文本控件、表格、超链接和可访问对象之间的关系”。它与 Linux(尤其是 Gnome)上的 Accessibility Toolkit (ATK) 协调一致。 IAccessible2 是对 MSAA 的补充,而不是替代。

    Microsoft UI 自动化是 Microsoft 自己的 MSAA 继任者。见UI Automation and Active Accessibility

    Microsoft Active Accessibility 是 Windows 95 中引入的旧 API,旨在使 Windows 应用程序易于访问。 Microsoft UI 自动化是适用于 Windows 的新辅助功能模型,旨在满足辅助技术产品和自动化测试工具的需求。与 Microsoft Active Accessibility 相比,UI 自动化提供了许多改进。

    它为用户界面组件提供了一组更丰富的角色、状态和属性,可以与实现 API 的辅助技术进行通信。

    这些较新的可访问性 API 至关重要的一个领域是对富互联网应用程序的可访问性支持。 W3C 的 WAI-ARIA 规范的开发人员审查了存在于各种平台上的可访问性 API,并将可用的角色、状态和属性映射到他们在 WAI-ARIA 规范中提出的对应物。这涉及创建mapping tables,可在 WAI-ARIA 1.0 用户实施指南中找到。另请参阅 Microsoft 文档中的 UI Automation for W3C Accessible Rich Internet Applications Specification。在 Microsoft Edge 中,Microsoft transitioned from MSAA to UI Automation

    【讨论】:

      猜你喜欢
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 2011-12-12
      • 2010-09-16
      • 2012-03-14
      • 2012-02-06
      • 2011-02-25
      相关资源
      最近更新 更多