2.2 W3C/WAI
万维网的发明者蒂姆•伯纳斯-李(Tim Berners Lee),在欧洲核子研究组织开发了万维网的雏形,相应地也开发出第一个Web服务器和第一个浏览器。为了能让万维网成为创意和效率的工具,给使用者提供更好的共享与信息获取交流环境,1994年,蒂姆在麻省理工学院创立了W3C,联盟吸收那些愿意建立万维网标准、提高万维网质量的公司,一起进行技术标准的开发、技术文档的整理汇总工作。
目前,W3C是Web技术领域最具权威和影响力的国际中立性技术标准机构。而W3C遵循了蒂姆的愿景,保持它的两个基本设计原则:Web for All和Web on Everything。其中的Web for all则是最早关注信息无障碍特性的前提条件。
1997年2月,W3C为了提升Web的可访问性,成立了Web无障碍推进组织(Web Accessibility Initiative, WAI)。该组织制定了一系列的关于Web无障碍的标准、规范、检测方法、技巧,并与世界各地的政府、商业、NGO携手合作,在全球范围推动信息无障碍的标准。
对于W3C/WAI而言,Web无障碍(Web Accessibility)是指:“使人人都能进入网络并享受其服务,无论其硬件及软件、网络设备、母语语种、文化、地理位置或身体及精神状态如何”。同时,Web无障碍的发展目的是:为残障人士获取他们所需要的信息、知识、教育与文化提供方便。这不仅是指使用辅助技术设备(如点显器)与特殊软件(如读屏软件)访问Web内容的视障人士,也涉及那些暂时遭遇境遇障碍的普通人。
尽管W3C/WAI发布的Web无障碍标准、规范和技术文档并非强制性的,但是该组织在这个领域所做出的贡献以及影响非常深远,各个国家在涉及无障碍相关的立法、国家标准、行业规范时都会参照W3C/WAI的标准进行开发和完善。
2.2.1 Web内容无障碍指南
W3C/WAI发布的最有影响力的标准是Web内容无障碍指南(Web Content Accessibility Guidelines, WCAG)。
WCAG的当前版本为2.0,即WCAG 2.0,发布于2008年12月,2012年正式被吸纳为ISO/IEC标准,这意味着,ISO成员国如果有计划制定相应标准时,会以此标准作为主要参考范本。
WCAG 2.0定义了如何使残障人士更方便地使用Web内容的方法,也涉及一些建议,这些建议可使Web内容更容易访问。遵循这些建议和原则,能够让Web内容更容易为广大残障人士所接受。
该标准的4大原则是:可感知性,可操作性,可理解性和鲁棒性,作为信息无障碍这个领域的主要基础。
原则之下是准则,提供的12项准则是为了达到一个基本目标:Web的开发者应努力使内容更容易让不同症状的残障用户访问。准则是不可测试的,但提供了框架和总体目标,以帮助作者了解成功标准和更好地实现该技巧。
对每一个准则,提供了可测试的成功标准,以允许WCAG 2.0被用在需要进行需求和一致性测试的地方,例如设计规范、采购、管理、合同协议。为了满足不同的群体和不同的情况,WCAG 2.0定义了一致性的三个级别:A级(最低),AA级,AAA级(最高)。对于文档里的每条准则和成功标准,也说明了范围广泛的各种技巧。
可以说,WCAG 2.0是当前比较完善的无障碍指导方针,虽然它偏重于Web,但是从四大原则的制定方针上,它已经覆盖了当前信息技术领域的大多数产品,并让这些产品至少做到有章可循。
WCAG 2.0作为一份衡量标准是很具有实际意义的,但是标准内容过于专业化,对于标准的使用者、实施者来说:残障群体的需求并不能完全了解,无障碍技术理解困难。所以参考起来并不简单,基于这种需求,在这个标准之下,也有如下4份重要的技术文档。
(1)如何符合WCAG 2.0(How to meet WCAG 2.0):针对技术人员的快速参考,包括所有的指南、成功标准以及创作者正在开发和评估网页内容时可以使用到的技巧。
(2)理解WCAG 2.0(Understanding WCAG 2.0):这是一个让技术人员理解和实施WCAG 2.0的指南。把WCAG 2.0的每一个准则和成功标准,分别总结成一个简短的,更容易理解的文档。
(3)WCAG 2.0技巧(Techniques for WCAG 2.0):这份技术文档,包含实施过程中可能需要运用到的无障碍技巧以及常见错误集,对于每个技巧和常见错误,另附一份文档,其中包括描述、例子、代码和测试。
(4)WCAG 2.0文档(The WCAG 2.0 Documents):这是一份简单文档,对于如何关联和链接技术文档,给出图示和说明。
同时,由于这份标准偏重于Web内容在无障碍方面的实施和开发,但是Web内容的开发、呈现并不是单一工具可以完成的,Web内容的呈现由用户代理实现,Web内容的开发工具则是由数以千计的开发工具完成,这也促使W3C/WAI围绕这两个方面,进行相应的标准开发和技术研讨。请参看开发工具无障碍指南和用户代理无障碍指南。
WCAG一直作为Web无障碍的标杆性标准,被各个国家引用,符合WCAG最低级别的网站,可以兼容大多数的视觉辅助工具和技术,如读屏软件和点显器,有助于视障人群访问互联网。但是由于引入的时间不同,部分国家是以WCAG 1.0版本为基础范本制定的国家标准,需要注意的是,W3C原则上已经不再推荐早期版本WCAG 1.0。
2.2.2 开发工具无障碍指南
开发工具无障碍指南(Authoring Tool Accessibility Guidelines, ATAG)当前版本为2.0,是W3C/WAI于2015年9月发布的推荐标准。
ATAG 2.0包含各种建议,帮助开发者创建对残障群体无障碍的开发工具,它面对两个部分的残障用户需求:①Web内容的开发者,在他们开发Web内容的过程,需要保证开发工具用户界面无障碍;②Web内容终端用户,这类开发工具创作的Web内容,也是无障碍的。
所以ATAG 2.0分为两部分:A部分涉及残障作者编辑工具用户接口的可访问性,残障作者可以更加容易地访问和使用这些工具;B部分涉及来自所有作者(不仅是残障作者)的编辑工具支持,这些工具允许、支持、促进了残障终端作者更易访问的Web内容的创建。该标准也提供支持和帮助文档,实施ATAG 2.0(Implementing ATAG 2.0)。
这个标准的另外一个目的是,确保残障用户在使用博客、微博、社交网站这类需要自己创建内容的网站应用时,可以无障碍地访问、无障碍地创造内容,并且确保创造的Web内容也是无障碍的,可以被辅助工具访问。
2.2.3 用户代理无障碍指南
用户代理无障碍指南(User Agent Accessibility Guideline, UAAG)当前版本为2. 0。到目前为止,UAAG 2.0是作为工作组备忘(Group Note),并且工作组也没有制定明确的计划将其推进到正式的推荐标准。这意味着,UAAG 2.0的标准文本已经完成,并识别出了一系列可以由浏览器等用户代理实现的技术特性,因为用户代理涉及过多的系统平台,W3C/WAI的工作组成员很难在各个方面达成一致,所以尚未完全通过可实现性测试。虽然如此,持续提升用户代理的无障碍访问能力的需求是现实存在的,该文档仍具有参考价值。
UAAG主要针对于Web浏览器、媒体播放器、辅助技术和其他用户代理,它向开发者和使用者解释了浏览器、媒体播放器及其他用户代理程序应该如何支持残障人士获取信息,并提供相关辅助技术。该技术文档也提供了一组基于UAAG的移动互联网信息无障碍的UAAG 2.0参考案例(UAAG 2.0 References),解释了移动终端上的Web浏览器如何借助UAAG为残障人士提供帮助。
UAAG 1.0在2002年12月就被批准发布,目前是一个稳定的推荐版本。2.0版本的开发是为了让未来的浏览器、媒体播放器及用户代理更具有无障碍特性,并提出进一步的要求,它基于用户技术和平台提供替代信息,并且结合了WCAG 2.0的一部分内容做了修订。
2.2.4 可及性富互联网应用
W3C/WAI的另一个重要技术规范是可及性富互联网应用(Accessible Rich Internet Applications, WAI-ARIA),当前版本为1.0。
WAI-ARIA提供无障碍访问动态、可交互Web内容的技术规范,为浏览器、媒体播放器、辅助技术的开发人员以及Web内容开发者定义了可以获得更广泛跨平台可访问性的方法。
互联网技术不断变化,尤其是Web技术发展非常迅速,很多新的技术不能很好地与辅助技术进行交互,例如动态的AJAX, JavaScript,都缺少无障碍接口,不能被辅助技术直接访问,为了弥补这个问题,WAI-ARIA定义了更丰富、更具有辅助特征的标签、角色,填补了Web技术开发与无障碍实施需求之间的沟渠。
比如说,Web开发者自创了诸多用户界面控件,这些控件允许用户实时地获取新的内容,且不必请求页面刷新。当用户在页面上使用例如扩展菜单以及拖曳功能等交互特性时,WAI-ARIA支持浏览器和辅助软件之间的这类操作,它也让Web、Web应用的开发者能够根据实际情况更好地去遵守WCAG 2.0的规范。同时,传统的互联网内容不再局限于Web,在某种程度上也覆盖了移动端的应用和特殊用户代理,更具有普适性。
WAI-ARIA 1.0是为自定义的控件提供适当的语义,从而让这些控件对于残障人士是无障碍的、可用的、可交互的。它也为了增强像HTML和SVG这样的宿主语言对语义化的支持,当开发者通过样式和脚本创建新类型的对象时,它为辅助技术明确阐述语义,而不要求辅助技术直接支持页面的语言。
简单来说,如果一个新的技术,因为实现某种特定需求,需要一个控件,这类元素很难很快地被辅助技术支持,因为浏览器的支持、辅助技术的支持,有时间上的滞后,这时可以使用WAI-ARIA明确说明这个控件是什么角色类型、什么属性,这样读屏软件这类辅助技术可以更直接地了解,并与之交互。
但是,理想的情况是,主要的宿主语言会逐步提供更明确的语义标签和可访问性标签,用以支持无障碍和辅助技术,而慢慢消除掉WAI-ARIA的各类特殊标签,但这也是这个规范的意义之一——刺激更多的可访问性标签产生。但在当前阶段,WAI-ARIA是作为弥补主体标准、宿主语言间缺少实质性、可访问性标签的主要手段,不可或缺。
注:本节指明的W3C当前版本指的是W3C的推荐版,推荐版是W3C的最稳定版本标志,较新的版本号作为开发稿、候选稿、审议稿,在最终发布前可能会有较大改动而并非W3C的稳定版本,除非有特别说明,参阅W3C文档时,应尽量参考推荐版本。