7

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

IAccessible 和 IAccessible2 有什么区别?我原本以为 IAccessible2 可能是 IAccessible 的更新版本,但经过进一步研究,它似乎实际上是由微软的竞争对手制造的。维基百科说“它被定位为微软新 UI 自动化 API 的替代品。” MSAA 如何适应这一点?

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

4

1 回答 1

6

Microsoft Active Accessibility (MSAA) 是 Microsoft 最初的辅助功能 API;MSAA 版本 1是 Windows 95 的附加版本。MSAA 在其支持的角色、名称、值和状态集方面受到限制;这意味着可以将可访问性元数据传达给辅助技术(例如屏幕阅读器)的图形组件集是有限的。

IAccessible是 MSAA 的一部分:

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

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

Microsoft UI 自动化是 Microsoft 自己的 MSAA 继任者。请参阅UI 自动化和活动可访问性

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

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

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

于 2019-03-12T20:34:05.973 回答