我正在开始有关可访问性的工作,我对遇到的各种技术感到有些困惑。

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

任何人都可以澄清一下IAccessible,IAccessible2,UI自动化API和MSAA之间的区别吗?为什么一个可能比另一个更好呢?

最佳答案

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

[IAccessible](https://docs.microsoft.com/en-us/previous-versions//ms696097(v=vs.85)是MSAA的一部分:



MSAA的局限性刺激了IAccessible2(最初在IBM)的发展,后者旨在填补MSAA中的空白,例如“支持文本控件,表,超链接以及可访问对象之间的关系”。它与Linux(尤其是Gnome)上的Accessibility Toolkit (ATK)协调一致。 IAccessible2是MSAA的补充,而不是替代品。

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



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

这些更新的可访问性API至关重要的领域之一是对富Internet应用程序的可访问性支持。 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

关于accessibility - IAccessible,IAccessible2,UIAutomation和MSAA之间有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55129774/

10-09 14:39