我正在开始处理可访问性,我对遇到的不同技术感到有些困惑。
iAccessible和iAccessible 2有什么区别?我最初认为iAccessible2可能是iAccessible的新版本,但是在进一步的研究中,它实际上是由微软的竞争对手制作的。维基百科说:"它已被定位为Microsoft新的UI自动化API的替代品。"MSAA如何适应?
任何人都可以澄清iAccessible,iAccessible2,UI自动化API和MSAA之间的区别吗?为什么一个人可能比另一个更可取?
Microsoft Active可访问性(MSAA)是Microsoft的原始可访问性API;MSAA的版本1是Windows 95的附加发行版。MSAA在支持的一系列角色,名称,价值和状态方面受到限制。这意味着可以将其可访问性元数据传达给辅助技术(例如屏幕读取器)的图形组件集有限。
iAccessible是MSAA的一部分:
iAccessible接口是一系列方法,可以揭示各种用户界面(UI)元素的最常见属性和行为。UI元素是一个控件,例如菜单或按钮,它是用户界面的一部分。一个可访问的对象是具有有意义的 iAccessible 接口的UI元素。
MSAA的局限性拒绝了iAccessible2(最初是在IBM)的开发,该开发旨在填补MSAA中的空白,例如"支持文本控件,表格,表,超链接以及可访问对象之间的关系"。它与Linux(尤其是GNOME)上的可访问性工具包(ATK)进行了协调。iAccessible2是MSAA的补充,而不是替代品。
Microsoft UI自动化是Microsoft自己的MSAA的继任者。请参阅UI自动化和主动可访问性:
Microsoft Active可访问性是Windows 95中引入的旧式API,旨在使Windows应用程序访问。Microsoft UI自动化是Windows的新可访问性模型,旨在满足辅助技术产品和自动化测试工具的需求。UI自动化对Microsoft Active可访问性提供了许多改进。
它为用户界面组件提供了一组更丰富的角色,状态和属性,可以将其传达给实施API的辅助技术。
这些较新的可访问性API至关重要的一个领域是对丰富的互联网应用程序的可访问性支持。W3C的WAI-ARIA规范的开发人员审查了各种平台上存在的可访问性API,并将可用的角色,状态和属性映射到Wai-Aria规范中的拟议同行。这涉及创建可以在WAI-ARIA 1.0用户实现指南中找到的映射表。另请参阅Microsoft文档中的W3C可访问富的Internet应用程序规范的UI自动化。在Microsoft Edge中,Microsoft从MSAA过渡到UI自动化。