易访问性的API将成为未来的主流。

Web可访问性是人。 成功的web可访问性是对预期的不同需要各种各样的人,了解你的网络用户,他们消费信息的不同方式,同理心与他们和他们的感觉什么是方便和令人沮丧的你可以帮助他们避免不必要的障碍。

有了这些了解,可访问性成为一个冷硬的技术挑战。 网站建设公司掌握的技术是至关重要的对易访问设计做出明智的决定。

如何辅助技术提供一个web应用程序,使其可访问的用户吗? 他们得到他们需要的信息在哪里? 的关键之一是一个技术称为易访问性API (或可访问性应用程序编程接口,使用其完整的正式头衔)。

阅读屏幕

理解的作用使Web应用程序可访问的易访问性API,它有助于知道一点关于辅助技术提供应用程序和随着时间的推移,是如何进化的。

一个文本的世界

与基于文本的DOS操作系统,屏幕上的字符和光标位置在屏幕在计算机的内存缓冲区。 辅助技术可以通过阅读获取这些信息直接从屏幕缓冲区或通过拦截信号被发送到监测。 可以操纵的信息——例如,放大或转换成另一种格式,如合成演讲。

得到的图形

图形界面的到来如OS / 2,Mac OS和Windows意味着关键信息在屏幕上是什么可能不再是简单地读取缓冲区。 现在一切都在屏幕上绘制图片,包括文本的照片。 因此,辅助技术在这些平台上必须找到一种新的方式来获取信息的接口。

他们处理这拦截绘制调用发送到图形引擎,使用这些信息来创建另一个屏幕版本的接口。 随着应用程序绘制调用通过绘制文本的图形引擎,克拉,文本强调,下拉窗口等,信息出现在屏幕上的对象可以被捕获并存储在一个数据库被称为离屏模式。 该模型可以通过屏幕阅读器阅读或使用屏幕放大镜放大用户当前的界面内的焦点。 在字节富裕Schwerdtfeger 1991年撰写的开创性文章”, 使GUI说话 ”,将详细描述当年的范式。

离屏模式

认识的对象在这个离屏模型通过启发式分析。 例如,操作系统可能会发出指令,在屏幕上绘制了一个矩形,边界和一些表示文本的形状在里面。 人类可能会看那个对象(在其他方面的信息在屏幕上)并正确推断出这是一个按钮。 一个辅助技术所需的启发式犯同样的推理其实非常复杂,导致一些问题。

告知用户一个对象,一个辅助技术将试图确定哪些对象是通过寻找识别信息。 例如,在一个Windows应用程序,屏幕阅读器可能提供窗口对象的类名。 辅助技术也试图获取对象的状态信息的方式吸引——例如,跟踪高亮显示可能有助于推断当一个对象被选中。 这个工作当一个对象的角色或状态可以很容易地确定,但 在许多情况下,相关信息还不清楚 通过编程方式,模糊的或不可用。

这种逆向工程的信息是不可靠的和严格的。 一个辅助技术可以实现只支持一个新功能一次它被引入到操作系统或应用程序。 对象可能不传达有用的信息,在任何情况下它花了一些时间来识别它,开发支持它所需的启发式方法,然后发布一个新版本的屏幕阅读器。 这创建了一个延迟之间的引入新特性和辅助技术支持的能力。

离屏模型需要阴影图形引擎,但发动机不让这个容易。 离屏模式独立计算诸如白色空间管理以及协调一致,和错误几乎不可避免地上升。 这些错误可能导致异常的信息传达给辅助技术用户或垃圾堆积和内存泄漏,导致崩溃。

易访问性api

从1990年代末,介绍了操作系统的易访问性api是一个更可靠的方式来传递信息辅助技术。 而不是应用复杂的启发式方法来确定一个屏幕上的对象,辅助技术可以查询每个对象的特定信息的易访问性API。 作者应用程序现在可以提供必要的信息以一种他们知道辅助技术会理解。

易访问性API代表对象的用户界面,将每个对象在应用程序的信息。 一般来说,有几个对象的信息,包括:



  • 它的作用 (例如,它可能是一个按钮,一个应用程序窗口或图像);
  • 一个名字 确定它在界面(如果有一个可见的标签像文本按钮,这通常是它的名字,但也可能是编码直接在对象);
  • 它的状态 或当前状态(例如,目前一个复选框被选中,部分选择或不选择)。



第一个平台易访问性API,Microsoft Active可访问性(MSAA),也可以在Windows 95的1997年更新。 MSAA提供信息的角色和状态对象和他们的一些属性。 但它没有进入文本格式、接口和对象之间的关系是确定困难或不可能的。

1998年,IBM和Sun Microsystems建造了一个跨平台的易访问性API的Java。 Java Swing 1.0给访问富文本信息,关系、表、超链接和更多。 Java Jive屏幕阅读器,基于这个平台,是第一次屏幕阅读器的用户界面组件的信息包括角色、状态和相关的属性,以及富文本格式的细节。

值得注意的是,Java摇摆舞是由三个开发者在大约五个月,开发一个屏幕阅读器通常通过一个萤幕下的模型 几年 。

易访问性API成为主流

2001年,辅助技术服务提供程序接口(AT-SPI)Linux发布,基于Java的工作,并于2002年苹果包括NSAccessibility协议Mac OS X(10.2捷豹)。

与此同时在Windows上,形势越来越复杂。 微软运自动化用户界面(UIA)API作为Windows 7的一部分,而IBM发布的IAccessible2 Windows和Linux作为一个开放标准,再从Java上的工作。

移动平台易访问性API存在触摸屏智能手机成为主流之前,但在2009年苹果UI易访问性API添加到iOS 3和Android 1.6(甜甜圈)附带的可访问性框架。

在2015年初,Chrome OS突出作为最主流的平台缺乏一个标准的易访问性API。 但谷歌正在测试自动化API,在平台旨在填补这一空白。

现代的易访问性API

在现代易访问性api,用户界面表示为分层树。 例如,一个应用程序窗口将包含多个对象,第一个可能是一个菜单栏。 菜单栏将包含大量的菜单,每个包含一个菜单项的数量,等等。 易访问性API描述一个对象与其他对象的关系提供上下文。 例如,一个单选按钮可能会是一个“兄弟”在一组。

其他特性,比如关于文本格式的信息,适用于标题内容部分或表细胞和事件通知等事情都变得司空见惯在现代的易访问性api。

辅助技术现在标准方法对操作系统的调用对象在屏幕上的信息。 这是更可靠,更有效,比拦截底层操作系统消息和试图解构到一些有意义的事情。

从网络上的易访问性API

在浏览器中,平台易访问性API是用来使浏览器本身的信息可用于辅助技术和目前公开的信息呈现内容。

浏览器通常支持一个或多个可用的平台上运行他们的易访问性api。 例如,在Windows上,Firefox、Chrome,Opera和Yandex支持MSAA / IAccessible和IAccessible2,而Internet Explorer支持MSAA / IAccessible和UIAExpress。 Safari和Chrome支持NSAccessibility OS X和UIAccessibility iOS。

浏览器使用HTML DOM以及进一步的信息来源于CSS,生成一个可访问性树层次结构显示的内容,并将这些信息传递给平台易访问性API。 信息,比如角色名称和内容中的每个对象的状态,以及它如何与其他对象的内容,可以通过辅助技术查询。

结论

今天的技术,操作系统、浏览器和辅助技术——共同努力,从一个web界面中提取可访问性信息,适当地将其呈现给用户。 如果无法获得适当的语义内容,然后辅助技术将使用旧的和不可靠的技术接口可用。

易访问性api的价值是让操作系统、浏览器和辅助技术有效和可靠地为用户提供他们需要的信息。 现在很容易让一个接口开发编写良好的HTML,CSS和JavaScript很能轻松使用辅助技术的用户。 因此,很大一部分的可访问性是一个很容易满足的责任web开发人员:了解你的工作,用你的工具,许多作品会不可思议地全部到位。

文章整理来自网络,转载请注明汤阴网站建设公司-汤阴豫唐网络,翻译不好,请见谅!

分享