本文档是 开发工具无障碍指南(ATAG)2.0 的简体中文翻译,ATAG 2.0是W3C推荐文档。

由于翻译者的局限性,不能保证文字或内容的完全准确,本翻译内容仅做为参考,原文地址:http://www.w3.org/TR/ATAG20/

译者:张昆 (Kenny Zhang)

[内容列表]  |  [实现 ATAG 2.0]

W3C

Authoring Tool Accessibility Guidelines (ATAG) 2.0

2015年9月24日,W3C推荐标准

当前版本:
http://www.w3.org/TR/2015/REC-ATAG20-20150924/
最新版本:
http://www.w3.org/TR/ATAG20/
上一版本:
http://www.w3.org/TR/2015/PR-ATAG20-20150721/
编辑:
Jan Richards,包容性设计研究院,OCCAD大学
Jeanne Spellman, W3C
Jutta Treviranus,包容性设计研究院,OCAD大学

该文档发布以来的任何错误或问题,请参看本文档勘误表

参见译文


摘要

开发工具无障碍指南(ATAG)2.0为设计web内容开发工具提供指导,这些工具可被残障人士无障碍使用(A部分),并用来帮助、支持和促进所有开发者产出更加无障碍的web内容(B部分)。参见开发工具无障碍指南(ATAG)概览,查看ATAG简介和技术与教育资料的链接。

本文档的状态

此部分描述了本文档在其发布时的状态。其他文档有可能取代本文档。W3C当前的发布清单和技术报告的最新版本详见技术报告索引 http://www.w3.org/TR/

W3C推荐文档——ATAG2.0

开发工具无障碍指南(ATAG)2.0,于2015.09.24成为 W3C推荐文档,创建自开发工具无障碍指南工作组。该工作组创建了实现报告,该报告展示了该指南满足的现有标准。在咨询委员会投票支持发布之后,经理事审阅,批准该标准转换为推荐标准。该文档对ATAG2.0文本无改动,对代码有小的修改,以调整间距,并删除多余的和注释用的HTML。

本文档已由W3C成员、软件开发者、其他W3C组织和有关各方审核,并由理事批准为w3c推荐标准。该文档是个稳定文档,可以作为参考资料或者被其他文档引用。W3C制定推荐标准的作用是,加强对规范的注意,并推进其广泛应用。这增强了Web的功能性和互操作性。

ATAG2.0被相关联非正式文档,实现 ATAG 2.0所支持。尽管没有ATAG2.0的正式状态,该文档提供了重要信息,来理解和实现ATAG2.0。

应开发工具无障碍组要求,任何意见请发送至public-atag2-comments@w3.org公共意见列表文档是公开的。ATAG2.0推荐文档接收到的意见不会导致该指南当前版本的改变,但是会在勘误或未来版本中处理。开发工具无障碍组现没有计划对评论做出正式回复。ATAG WG 邮件列表讨论档案是公开的,工作组或下属组将会在未来工作中处理该文档已接收到的建议。

Web无障碍倡议

本文档作为W3C Web无障碍倡议(WAI)的一部分。AUWG的目标已在工作组章程里讨论。

专利

本文档是根据 2004年2月5日W3C专利政策由相应工作组制定的。 W3C维护该工作组交付的任何专利发布的公开列表;该页面也包含发布专利的说明。拥有专利知识的个人,且其专利的必要声明必须发布W3C专利政策 章节6所要求的信息。

本文档由2015年9月1日W3C流程文档管辖。


目录


简介

该章节是告知性的。

开发工具无障碍指南V2.0是W3C推荐文档。该文档包含各种建议,帮助开发者创建对残障群体更加无障碍的开发工具,包含听力障碍、认知障碍、神经性障碍、肢体障碍、语言障碍和视觉障碍。

开发工具无障碍主要解决两个重叠残障用户群的需求:

需要重点强调的是,为了满足这两组用户需求的要求,该指南中是分开声明的。事实上,用户生成内容的加速趋势意味着开发者和终端用户是深度关联的。例如,当用户进入一个论坛,用户频繁生成与其他用户交互的内容。不管是开发用户界面还是其他论坛生成内容的无障碍问题都会降低论坛整体的无障碍性能。

注意:

  1. "开发工具"在ATAG2.0中有专门的定义。该定义,包含几个规范点,详见词汇表
  2. "无障碍web内容(WCAG)"和相关的词汇,例如"无障碍样例(WCAG)"被ATAG2.0用来参考"符合WCAG 2.0的内容",无论级别A、AA,还是AAA,假设任何用来满足WCAG2.0成功标准的web内容技术都是支持无障碍的。该定义反映出WCAG2.0需要特别注意的一点,尽管是满足WCAG2.0(级别AAA)的web内容,也无法“对所有类型、所有等级或多重障碍的个体无障碍”。更多信息,详见"与Web内容无障碍指南(WCAG)2.0的关系"。
  3. ATAG2.0不包含标准可用性建议,除非它们对残障群体的影响比其他人显著。
  4. 开发工具只是web无障碍的一方面。web无障碍的不同组件以及不同组件间相互协作的概览,详见:

指南ATAG 2.0的层级

可能使用ATAG2.0的个人和组织非常广泛,包含开发工具开发者, 开发工具用户(开发者), 开发工具购买者、政策制定者。为了满足这些用户的不同需求,提供了几个指南层级:

更多ATAG技术和教育材料的链接,详见开发工具无障碍指南(ATAG)概览

一致性级别

为了保证在开发工具的创建过程中能最简单的使用ATAG2.0和WCAG 2.0,TAG 2.0共用了WCAG 2.0一致性级别的三个模型: 级别A(最低)、AA(中)、AAA (最高)。更多信息,详见理解一致性的级别

整合无障碍特性

当实现ATAG2.0时, 开发工具开发者应该认真整合那些支持更加无障碍开发的特性,让这些特性与开发工具的其他特性有一样的“外观和感觉”。紧密集成有可能做到:


指南

该章节的成功标准和一致性适用注意事项是规范性的

部分A:使开发工具用户界面无障碍

部分A 一致性适用注意事项

  1. “开发工具用户界面”的范围:部分A的成功标准适用于与生成"包含"web内容技术有关的开发工具用户界面的所有方面。这包含正在编辑的web内容视图和其他独立于正在编辑内容的功能(例如,菜单、按钮栏、状态栏、用户偏好、文档)。
  2. 反映内容的无障碍问题:开发工具有责任保证编辑视图中的正在编辑的web内容,以一种对残障开发者更加无障碍的方式呈现。(例如:保证内容中的文本替代可以编程式确定)。但是,当开发工具用户界面无障碍问题 是由正在编辑的内容直接引起的(例如,内容中的一个图片缺少文本替代),该情况不认为是开发者工具用户界面无障碍性能的缺失。
  3. 开发者控制: 部分A的成功标准只适用于工具开发者提供的开发工具用户界面,并不适用于任何其他组织而不是开发工具开发者的后续修改(例如:用户修改默认设置、第三方的插件)。
  4. 用户代理特性: 基于Web的开发工具可能会依赖用户代理的特性(例如,键盘导航、查找功能、显示偏好、撤销功能)来满足成功标准。一致性声明是可选的,但是任何声明必须记录用户代理
  5. 提供无障碍功能满足部分A: 部分A的成功标准适用于全部的开发工具用户界面,包含部分A中被添加来满足成功标准的任何功能(例如,文档、搜索功能)。唯一的例外是预览功能,只要这些功能满足指南A.3.7的相关成功标准。预览界面与编辑视图不一样,因为所有的开发者,包含残障开发者,都会得益于预览功能,该功能可以精确的在用户代理中呈现出终端用户体验到的界面效果。
  6. 无法识别的功能: 当成功标准要求开发工具实现web内容符合语义标准,成功标准只有当这些语义被编程式编码的时候才适用(例如,当这个规则在标记中被编码时,描述图像文本只可以被当做非文本内容的文本替代)。

原则A.1:开发工具用户界面遵循适用性无障碍指南

指南A.1.1: (开发工具用户界面)保证基于web的功能无障碍。[实现A.1.1]

理论基础: 当开发工具(或者开发工具的部分)是基于web的,符合WCAG 2.0将会便于所有开发者访问, 包含那些使用辅助技术的开发者。

A.1.1.1基于web的功能无障碍(WCAG):

如果开发工具 包含基于web的用户界面,这些基于web的用户界面需要满足WCAG 2.0的成功标准。(级别A满足WCAG2.0级别A成功标准;级别AA满足WCAG2.0级别AA成功标准;级别AAA满足WCAG2.0级别AAA成功标准)

指南A.1.2:(开发工具用户界面)保证非web功能无障碍。[实现 A.1.2]

理论基础:当开发工具(或者开发工具的部分)是非web的, 遵循现有平台的无障碍指南,使用无障碍服务实现沟通,便于所有开发者访问,包含那些使用辅助技术的用户。

A.1.2.1 无障碍指南:

如果开发工具包含非web用户界面,这些非web用户界面需要遵循平台的用户界面无障碍指南。(级别 A)

A.1.2.2平台无障碍服务:

如果开发工具包含非web用户界面,这些非web用户界面通过平台无障碍服务提交无障碍信息。(级别 A)

原则A.2:编辑视图可感知

指南A.2.1: (开发工具用户界面)使替代内容对开发者可获得。[实现 A.2.1]

理论基础:为了与正在编辑的web内容进行交互,一些开发者需要访问替代内容

A.2.1.1 渲染非文本内容的文本替代:

如果一个编辑视图渲染非文本内容,任何编程式链接的文本替代可以编程式确定(级别A)

A.2.1.2渲染时基媒体的替代:

如果一个编辑视图渲染时基媒体,以下至少一个为真:(级别 A)

理论基础:当呈现用来传递状态信息(例如,突出拼写错误的单词),或者用来提供有关终端用户正在编辑的内容将会有怎样的体验的信息的时候,一些开发者需要使用辅助技术,访问有关编辑视图呈现的详细信息。

A.2.2.1编辑视图状态标识:

如果一个编辑视图正在编辑的内容添加了状态标识,状态标识传递的信息可以编程式确定(级别A)

  • 注意: 状态标识可以标识错误(例如,拼写错误),跟踪改变,隐藏元素或者其他信息。

A.2.2.2访问渲染文本属性:

如果一个编辑视图渲染任何格式化的文本属性开发者也可以使用编辑视图编辑这些属性,则这些属性是可以编程式确定的。(级别AA)

原则A.3:编辑视图可操作

指南A.3.1:(开发工具用户界面)开发功能键盘可访问。[实现A.3.1]

理论基础:一些运动受限、视觉障碍的开发者不会使用鼠标,而是使用键盘接口访问开发工具的所有功能。

A.3.1.1键盘可访问(最低):

开发工具的所有功能通过键盘接口可访问,且对个别按键不能限定时间,除了那些依靠用户移动路径而不只是终点的基础功能。(级别A)

  • 注意1:键盘接口是由很多平台提供的编程式服务,允许以一种设备独立的方式运行。但该成功标准并不意味着硬件键盘的存在。
  • 注意2:路线例外与基础功能有关,与输入技巧无关。例如,如果使用笔迹输入文本,输入技巧(笔迹)需要路线独立输入,但是基础功能(文本输入)不是。路径异常包含其他输入变量,这些变量是从点触设备中连续采样,包含压力、速度和角度。
  • 注意3:该成功标准不是强制性的,应该鼓励除键盘操作以外的其他输入方式(例如,鼠标、触摸)。

A.3.1.2无键盘陷阱:

如果键盘焦点可以使用键盘接口移动到元素上,那么可以只使用键盘接口将焦点从该元素移走。如果不是需要未修改的方向键或者tab键或者其他标准的退出方法,工具使用者需要被告知移走焦点的方法。(级别A)

A.3.1.3有效键盘访问:

开发工具用户界面包含比连续键盘访问更有效的键盘访问机制。(级别AA)

A.3.1.4键盘访问(加强):

开发工具的所有功能通过键盘接口可操作,且对个人点击没有特定时间限制。 (级别AAA)

A.3.1.5 自定义键盘访问:

如果开发工具包含键盘命令,则这些键盘命令可以自定义。 (级别AAA)

A.3.1.6指定键盘命令:

如果开发工具包含键盘命令,

开发工具需要为工具使用者提供一种方式,让使用者决定键盘命令与开发工具用户界面元素的联系。(级别AAA)

指南A.3.2: (开发工具用户界面)为开发者提供足够的时间。[实现A.3.2]

基础理论:一些开发者在输入、操作鼠标、处理信息方面有困难,会因短的时间限制或者需要快速反应而被使用系统拒绝,例如点击一个移动的目标。

A.3.2.1自动保存(最低):

开发工具不包含会话时间限制或开发工具可以在会话时间限制到达前自动保存编辑模式。(级别 A)

A.3.2.2 时间可调:

开发工具不包含时间限制或以下至少一个为真:(级别A)

  • (a) 关闭: 开发者被允许在遇到时间限制前关闭时间限制;或
  • (b) 调整:开发者被允许在遇到时间限制前,将时间限制调大至少默认设置的10倍;或
  • (c) 延长:在时限前,警告开发者,并且给定至少20秒让开发者使用简单操作延长时间限制(例如,“点击空格键”),并且允许将时间限制延长至少10倍;或
  • (d) 实时例外: 时间显示是实时事件的一个必须部分(例如,协同开发系统),时间限制没有替代是可能的;或
  • (e) 必要例外:时间限制是必须的,延长时间限制会导致活动失效;或
  • (f) 20小时例外: 时间限制长于20小时。

A.3.2.3静态输入元素:

开发工具不包含可接收输入的移动的用户界面元素,且这些元素的移动不能被开发者暂停。 (级别A)

A.3.2.4内容编辑保存(扩展):

开发工具可以设置为自动保存正在编辑的web内容(级别 AAA)

指南A.3.3: (开发工具用户界面)帮助开发者避免可能会引起癫痫的闪光。 [实现A.3.3]

基础理论:闪光会导致感光癫痫症的开发者发病。

A.3.3.1静态视图选择:

如果一个编辑视图可以播放基于时间的视觉内容,播放不要自动加载内容,且播放可以暂停。(级别A)

指南A.3.4:(开发工具用户界面)通过内容结构增强导航和编辑。[实现 A.3.4]

基础理论:一些在输入和操作鼠标方面有困难的开发者,会得益于开发工具结构化呈现web内容,其简化了导航和编辑内容。

A.3.4.1 结构导航:

如果编辑视图正在编辑的web内容中暴露标记元素,标记元素(例如,源代码、内容渲染)是可选择的,并提供一种导航机制在元素间移动。(级别 AA)

A.3.4.2编程式关系导航:

如果编辑视图允许在web内容中编辑编程式关系,则提供机制支持相关联内容之间的导航。(级别AAA)

  • 注意: 根据web内容技术开发的性质,关系应该包括但不限于,元素嵌套、标题、标签、编程式定义、和ID关系。

指南A.3.5: (开发工具用户界面)提供内容文本检索。[实现 A.3.5]

基础理论:一些在输入和操作鼠标方面有困难的开发者,会得益于文本检索,可以在正在编辑的web内容中导航到任意点。

A.3.5.1文本检索:

如果开发工具提供了一个基于文本内容的编辑视图,则编辑视图需支持文本检索,需要做到以下全部为真:(级别AA)

  • (a)所有可编辑文本:任何编辑视图可编辑的文本内容是可检索的(包含替代内容);和
  • (b)匹配:匹配结果可以呈现给开发者,且具有焦点; 和
  • (c)不匹配:当没有检索结果,需要告知用户;和
  • (d)两种方式:检索可以前进和后退。

指南A.3.6:(开发工具用户界面)管理偏好设置。[实现 A.3.6]

基础理论:一些开发者需要设置自己的显示设置,与默认呈现不同,是开发者为要发布web内容定义的。提供保存和重置键盘和偏好设置的能力,有益于那些需求会随时间改变的开发者(例如:因为疲劳)。

A.3.6.1 独立显示:

如果开发工具包含编辑视图显示设置,开发工具允许开发者调整这些设置而不改变正在编辑的web内容(级别 A)

A.3.6.2保存设置:

如果开发工具包含显示和/或控制设置,这些设置可以在开发会话时保存。(级别AA)

A.3.6.3应用平台设置:

开发工具体现平台显示控制设置的改变,除非开发者使用开发工具选择更多特定显示和控制设置。(级别AA)

指南A.3.7:(开发工具用户界面)预览至少与在售用户代理中一样可访问。[实现 A.3.7]

基础理论:预览是被很多开发工具提供的功能,因为开发者工作流程经常定期检查用户代理将会显示给终端用户web内容。残障开发者也需要相同的机会检查自己的工作。

A.3.7.1预览(最低):

如果提供了预览,以下至少一个为真:(级别A)

  • (a)在售用户代理:预览使用在售用户代理渲染内容。或
  • (b)UAAG(级别 A):预览需要满足用户代理无障碍指南1.0级别A [UAAG10]

A.3.7.2预览(加强):

如果提供了预览功能,则开发者 可以指定哪个用户代理来实现预览。(级别 AAA)

原则A.4:编辑视图可理解

指南A.4.1:(开发工具用户界面)帮助开发者避免和更正错误。 [实现A.4.1]

基础理论:因为例如精细动作困难和语音识别系统错误等因素,一些残障开发者更容易输入错误。

A.4.1.1内容改变可逆(最低):

所有的开发操作可逆的,或者开发工具需要开发者确认才能继续。 (级别A)

A.4.1.2设置改变确认:

如果开发工具提供机制改变开发工具用户界面设置,则这些机制可以回退设置改变,或者开发工具要求开发者确认才能继续。 (级别A)

A.4.1.3内容改变可逆(加强):

开发者可以连续的回退一系列可逆开发操作(级别AAA)

指南A.4.2: (开发工具用户界面)用户界面文档化,包含所有无障碍特性。[实现 A.4.2]

基础理论:一些开发者不能够理解或操作开发工具用户界面,在没有说明文档的情况下。

A.4.2.1描述无障碍特性:

用来满足ATAG2.0的部分A 的,开发工具的每一个功能,以下至少一个为真:(级别A)

  • (a)在文档中描述:无障碍特性的使用在开发工具文档中给出解释;或
  • (b)在界面上描述:无障碍特性的使用在开发工具用户界面给出解释;或
  • (c)平台服务:无障碍特性是由基础平台提供的服务;或
  • (d)不被开发者使用:无障碍特性不直接被开发者使用 (例如,传递信息到平台无障碍服务)。

A.4.2.2 文档化所有功能:

对于开发工具中的每一个功能,以下至少一个为真:(级别AA)

  • (a)在文档中描述:功能的使用在开发工具说明文档中给出解释;或
  • (b)在界面上描述:功能的使用在开发工具用户界面上给出解释;或
  • (c)无障碍平台服务:功能是由基础平台提供的服务;或
  • (d)不被开发者使用:功能不直接被开发者使用(例如,传递信息到平台无障碍服务)。

部分B:支持无障碍内容的生成

部分B 一致性适用注意事项:

  1. 开发者可获得:开发者参考的部分B的任何成功标准只适用于创建会话时期。
  2. 工具开发者控制:部分B的成功标准只适用于由工具开发者提供的开发工具。这包含开发工具开发者的后续修改,而不是其他组织(例如,第三方插件,用户自定义模板,用户修改默认设置)。
  3. 创建会话结束之后的适用性:开发工具有责任保证web内容无障碍(WCAG),这些web内容是在开发者开发会话结束之后自动地生成的。(详见成功标准B.1.1.1)。例如,如果工具开发者改变了内容管理系统中整个网站模板, 这些模板需要为自动生成内容满足无障碍需求。开发工具不对开发者引起的内容无障碍性能改变负责,这是开发者的责任,不管是开发者生成的或者由其他开发者指定的系统自动生成的。(例如,一个第三方反馈)。
  4. 开发系统:根据开发工具的每个ATAG2.0定义,一些软件工具(被标识在任何一致性声明中)可以被用作接口满足部分B的需求(例如,一个开发工具可以使用第三方软件无障碍检测工具)。
  5. 提供无障碍特性满足部分B:部分A的成功标准适用于整个开发工具用户界面,包含满足部分B成功标准必须呈现的任何功能(例如,检测工具,修复工具,教程,说明文档)。
  6. 多种开发角色:一些开发工具包含很多开发者角色,每一个都有不同的视图和内容编辑 权限(例如,内容管理系统可能会将设计者、内容编辑者、质量监督者等角色分开)。在这种情况下,部分B的成功标准适用于整个开发工具,而不是单一特定开发角色视图。无障碍内容支持功能在可用的地方,都应该让任何开发角色可获得。
  7. 未识别内容:当成功标准要求开发工具根据语义标准处理web内容,成功标准只有在这些语义被编程式编码的时候才适用(例如,文本描述一个图片只可以被认为是非文本内容的文本替代,当该角色在标记中被编码的时候)。

原则B.1:完全自动化过程生成无障碍内容

指南B.1.1:保证特定自动化内容无障碍[实现B.1.1]

理论基础:如果开发工具自动生成包含无障碍问题(WCAG)web内容,这将会给开发者带来额外的修复工作。

B.1.1.1创建会话后自动生成内容(WCAG):

创建会话结束之后,开发工具不会自动生成 web内容,或者,开发者可以指定哪些内容为开发工具不会自动生成 web内容,或者,开发者可以指定哪些内容为无障碍web内容(WCAG)(级别A满足WCAG2.0级别A成功标准;级别AA满足WCAG 2.0级别A和AA成功标准;级别AAA满足所有WCAG 2.0成功标准)

B.1.1.2创建会话期间自动生成内容(WCAG):

如果开发工具创建会话期间提供了自动生成web内容功能,以下至少一个为真:(级别A满足WCAG2.0级别A成功标准;级别AA满足WCAG 2.0级别A和AA成功标准;级别AAA满足所有WCAG 2.0成功标准)
  • (a)无障碍:开发者没有输入的情况下,内容是无障碍的web内容(WCAG);或
  • (b)提示:在自动生成期间,开发者可以获得任何必须的无障碍信息(WCAG)提示;或
  • (c)自动检测 :自动生成过程之后,无障碍检测是自动执行的;或
  • (d)检测建议:在自动生成过程之后,开发工具提示开发者执行无障碍检测。

指南B.1.2: 保证无障碍信息被保留。[实现 B.1.2]

基础理论:在web内容转换的输入和输出之间,无障碍信息(WCAG)是维持web内容无障碍(WCAG)的可比性级别所必须的。

B.1.2.1重构和重写转换(WCAG):

如果开发工具提供重构转换或者重写转换,且输出的web内容技术存在类似机制,以下至少一个为真:(级别A满足WCAG2.0级别A成功标准;级别AA满足WCAG 2.0级别A和AA成功标准;级别AAA满足所有WCAG 2.0成功标准)

  • (a)保留:无障碍信息(WCAG)被保留在输出中;或
  • (b)警告:默认选项用来警告开发者那些可能丢失的无障碍信息(WCAG) (例如,将矢量图形保存为光栅图像格式);或
  • (c)自动检测:转换之后,无障碍检测是自动执行的;或
  • (d)检测建议:转换之后,开发工具提示开发者执行无障碍检查。

B.1.2.2开发工具内置复制粘贴(WCAG):

如果开发工具支持结构化内容的复制和粘贴,则当开发工具是复制粘贴的源和目的地,且源和目的地使用相同的web内容技术,复制内容的任何无障碍信息(WCAG)被保留。(级别A满足WCAG2.0级别A成功标准;级别AA满足WCAG 2.0级别A和AA成功标准;级别AAA满足所有WCAG 2.0成功标准)

B.1.2.3优化保存无障碍:

如果开发工具提供优化web内容转换,输入中的任何无障碍信息(WCAG)会被保存到输出。(级别 A)

B.1.2.4保留非文本内容的文本替代:

如果开发工具提供在输出中保存了非文本内容web内容转换,则如果输出的web内容技术存在类似机制,任何非文本内容的文本替代也应被保存。(级别 A)

  • 注意:该成功标准只适用于当输出技术是一致性"包含"的情况下。

原则B.2: 支持开发者生成无障碍内容

指南B.2.1:保证无障碍内容生成的可能性。[实现 B.2.1]

基础理论:为了支持无障碍web内容(WCAG)的生成,最低,使用开发工具生成符合WCAG 2.0web内容是可能的。

B.2.1.1无障碍内容的可能性 (WCAG):

开发工具不会限制开发者指定的web内容,或这些限制不会阻止WCAG 2.0成功标准的满足。(级别A满足WCAG2.0级别A成功标准;级别AA满足WCAG 2.0级别A和AA成功标准;级别AAA满足所有WCAG 2.0成功标准)

指南B.2.2:指导开发者生成无障碍内容。[实现 B.2.2]

基础理论:通过指导开发者一开始就专注于无障碍web内容(WCAG)的创建和维护, web内容无障碍问题(WCAG)是减少的,且需要较少的修复工作。

B.2.2.1凸显无障碍选项(WCAG):

如果为了获得相同的开发结果 (例如,样式文本),提供给开发者创建活动的选择,会生成无障碍web内容(WCAG)选项至少应该与不会生成无障碍web内容的选项一样突出(级别A满足WCAG2.0级别A成功标准;级别AA满足WCAG 2.0级别A和AA成功标准;级别AAA满足所有WCAG 2.0成功标准)

B.2.2.2设置无障碍属性(WCAG):

如果开发工具提供机制设置web内容属性(例如,属性值),也应该提供机制设置与无障碍信息(WCAG)有关的web内容属性。(级别A满足WCAG2.0级别A成功标准;级别AA满足WCAG 2.0级别A和AA成功标准;级别AAA满足所有WCAG 2.0成功标准)

指南B.2.3:帮助开发者管理非文本内容的替代内容。[实现B.2.3]

基础理论:不恰当生成的替代内容会产生web内容无障碍问题(WCAG),且会干扰无障碍检测
注意:该指南只适用于当非文本内容开发者指定的时候(例如,插入图片)。当无障碍内容是开发工具自动生成时,详见指南 B.1.1

B.2.3.1替代内容可编辑(WCAG):

如果开发工具提供了添加非文本内容的功能,开发者能够修改非文本内容文本替代编程式链接(级别A满足WCAG2.0级别A成功标准;级别AA满足WCAG 2.0级别A和AA成功标准;级别AAA满足所有WCAG 2.0成功标准)

  • 注意:当非文本内容是装饰性的、格式性的、不可见的或验证码时,例外。

B.2.3.2文本替代的自动修复:

开发工具不会尝试修复非文本内容的替代文本或者以下所有为真:(级别A)

  • (a)没有通用或不相关字符串:通用字符串(例如,"图片")和不相关字符串(例如,文件名,文件格式)不被用于文本替代;且
  • (b)会话期间修复:如果在会话期间出现修复尝试,在内容中插入文本替代之前, 开发者有机会去接受,修改或者拒绝修复尝试;且
  • (c)会话结束后修复:如果修复尝试发生在开发会话已经结束后,修复的文本替代被标识在后续开发会话(如果有)中,且在插入到内容之前,开发者有机会接受、修改或者拒绝。

B.2.3.3保存重用:

如果开发工具提供添加非文本内容的功能,当开发者输入编程式链接的非文本内容文本替代时,以下两个全部为真:(级别AAA)

  • (a)保存和建议:如果相同的非文本内容是重用的,文本替代是自动保存且被开发工具建议;且
  • (b)编辑选项:开发者有编辑和删除已保存文本替代的选项

指南B.2.4:使用无障碍模板帮助开发者。[实现 B.2.4]

基础理论:提供无障碍模板 (WCAG)有几个好处,包含:立即提高正在编辑文本内容的无障碍性能(WCAG),降低开发者必要的工作量,且演示了无障碍web内容的重要性(WCAG)。

B.2.4.1无障碍模板选项(WCAG):

如果开发工具提供了模板,在模板使用范围中,有无障碍模板(WCAG)选项(级别A满足WCAG2.0级别A成功标准;级别AA满足WCAG 2.0级别A和AA成功标准;级别AAA满足所有WCAG 2.0成功标准)

B.2.4.2标识无障碍模板:

如果开发工具包含一个模板选择机制且提供了一些非无障碍模板(WCAG)选项,模板选择机制可以显示无障碍和非无障碍选项之间的区别。(级别AA)

  • 注意:这些区别可以包含无障碍模板、非无障碍模板或两者的提供信息。

B.2.4.3开发者创建模板:

如果开发工具包含模板选择机制并允许开发者创建新的非无障碍模板(WCAG),开发者能使用模板选择机制显示无障碍模板和自己创建的非无障碍模板间的区别。(级别AA)

  • 注意:这些区别可以包含为无障碍模板(WCAG)、非无障碍模板或两者的提供信息。

B.2.4.4无障碍模板选择(加强):

如果开发工具提供模板,则所有的模板都是无障碍模板 (满足WCAG级别AA)(级别AAA)

指南B.2.5:使用无障碍开发预置内容帮助开发者。[实现 B.2.5]

基础理论:提供无障碍开发预置内容(WCAG)(例如,剪贴画,同步媒体,小部件)有几个好处,包含:立即提升正在编辑的web内容的无障碍性能(WCAG),减少开发者必要的工作,且演示了无障碍性能的重要性。

B.2.5.1无障碍开发预置内容选项:

如果开发工具提供开发预置内容,提供无障碍开发预置内容 (WCAG级别AA)系列选项(级别 AA)

B.2.5.2标识开发预置内容无障碍特性:

如果开发工具包含一个开发预置内容选择机制且提供一些非无障碍开发预置内容(满足WCAG级别AA) 选项,则该选择机制可以显示无障碍与非无障碍间的区别。(级别AA)

  • 注意:区别可包含为无障碍开发预置内容,非无障碍开发预置内容或两者的提供信息。

原则B.3:支持开发者提升现有内容的无障碍性能

指南B.3.1:帮助开发者检测无障碍问题。[实现 B.3.1]

基础理论:当无障碍检测开发工具的一个集成功能时,这帮助开发者在开发期间了解web内容无障碍问题(WCAG),这样开发者就可以立即处理这些问题。

B.3.1.1检测帮助(WCAG):

如果开发工具提供了开发者添加或修改web内容的能力,这样WCAG 2.0成功标准可能会被违反,则提供成功标准的无障碍性能检测(例如,一个HTML编辑工具插入图片时应该检查替代文本;一个具有编辑文本轨道能力的视频编辑工具应该检查字幕)。(级别A满足WCAG2.0级别A成功标准;级别AA满足WCAG 2.0级别A和AA成功标准;级别AAA满足所有WCAG 2.0成功标准)

B.3.1.2帮助开发者决策:

如果开发工具 提供了无障碍检测,且该检测依赖开发者判定潜在web内容无障碍问题(WCAG)是否被正确标识(例如,人工检测半自动检测),则无障碍性能检测过程提供了描述怎样去判定的说明。(级别 A)

B.3.1.3帮助开发者定位:

如果开发工具提供了检测,且该检测需要开发者判定一个潜在web内容无障碍问题(WCAG)被正确标识(例如,人工检测半自动化检测),则相关内容被标识给开发者。(级别 A)

  • 注意:根据编辑视图的性质和潜在web内容无障碍问题(WCAG)的范围,标识需要包含高亮元素或元素渲染,显示行数,或者提供说明。

B.3.1.4状态报告:

如果开发工具提供了检测, 则开发者可以接收到基于无障碍检测结果的无障碍性能状态报告。(级别 AA)

  • 注意:无障碍状态报告没有特定格式,可能包含已发现问题列表或一个WCAG 2.0一致性级别,等。

B.3.1.5结果的编程式链接:

如果开发工具提供了检测开发工具可以将无障碍检测结果与已检测的web内容编程式链接(级别 AA)

指南B.3.2:帮助开发者修复无障碍问题。 [实现 B.2.3]

基础理论:当修复是开发过程的一个组成部分,这很大程度上增加了检测的作用,增加了web内容无障碍问题(WCAG)被正确处理的可能性。

B.3.2.1修复帮助(WCAG):

如果检测 (详见成功标准 B.3.1.1)可以发现一个WCAG 2.0成功标准没有满足,提供修复建议:(级别A满足WCAG2.0级别A成功标准;级别AA满足WCAG 2.0级别A和AA成功标准;级别AAA满足所有WCAG 2.0成功标准)

原则B.4:开发工具提升和整合无障碍特性

指南B.4.1:保证支持无障碍内容生成的特性可获得。 [实现B.4.1]

基础理论:如果在开发工具用户界面中打开无障碍内容支持特性并设置合理的突出显示无障碍内容支持特性将会更加可能被使用。

B.4.1.1默认激活特性:

所有无障碍内容支持特性被默认打开。(级别A)

B.4.1.2重新激活特性选项:

开发工具不包含关闭无障碍内容支持特性选项或者这些特性可以关闭也可以打开。(级别A)

B.4.1.3特性禁用警告:

开发工具不包含关闭无障碍内容支持特性选项,或者,如果这些特性可以被关闭,开发者需要被告知这会增加内容无障碍问题(WCAG)的风险。(级别AA)

B.4.1.4突出特性:

所有无障碍内容支持特性与其他有关无效标记、语义错误、拼写错误或者语法错误至少一样突出(级别 AA)

指南B.4.2:保证文档促进无障碍内容产出。[实现 B.4.2]

基础理论:在判定怎样使用无障碍内容生成特性时,一些开发者需要需要支持(例如,怎样响应文本替代提示,怎样使用无障碍检测工具)。将无障碍开发演示作为常规培训,或者至少不演示非无障碍实践,将会帮助某些开发者接受无障碍特性。

B.4.2.1模型实践(WCAG):

文档中一定规模的样例 (例如,标记WYSIWYG屏幕截图,编辑视图)演示了无障碍开发实践(WCAG)(级别A满足WCAG 2.0级别A成功标准;级别AA 满足WCAG 2.0级别A 和AA成功标准;级别AAA满足所有的WCAG 2.0 成功标准)

B.4.2.2特性说明:

使用的任何无障碍内容支持特性出现在说明文档中。(级别A)

B.4.2.3教程:

开发工具为无障碍开发过程提供一个该工具特定的教程(级别AAA)

B.4.2.4说明索引:

为使用任何无障碍内容支持特性开发工具说明文档包含一说明索引。(级别AAA)


一致性

本章节是规范性的

一致性意味着开发工具满足在指南章节定义的适用性成功标准。该章节描述了一致性和一致性要求的列表。

一致性要求

满足成功标准

判定是否达到ATAG2.0一致性的第一步是看成功标准是否满足。可能的答案如下:

与web内容无障碍指南(WCAG) 2.0的关系

在发布时,WCAG 2.0[WCAG20]是web内容无障碍相关的当前W3C推荐文档。基于这个原因,ATAG2.0参考WCAG2.0设置需求,为(1)基于web的开发工具用户界面的无障碍特性(部分A)和(2)开发者应该怎样能够、被支持、被指导来生成web内容,这些web内容对残障终端用户更加无障碍(在部分 B)。

具体的说,ATAG2.0参考了WCAG2.0关于 "无障碍内容"词汇的定义(和相关词汇,例如"无障碍模板")。在用来满足WCAG2.0成功标准的任何web内容技术都是无障碍支持的假设下,"无障碍内容"的定义是与WCAG2.0一致的内容,无论无障碍级别A、AA、AAA。短语"无论无障碍级别A、AA、AAA"将依赖使用说明的"无障碍内容"的定义将不同的情况纳入了考虑(例如,在ATAG2.0的级别成功标准与级别AAA成功标准)。该定义同时包含以下两点:

注意"使用即时的无障碍支持方式":

WCAG2.0一致性部分是需求,该需求是"依赖使用技术无障碍支持的方式来满足WCAG2.0成功标准。任何非无障碍支持方式提供的信息或功能,同样以无障碍支持的方式可获得。" 在广义上,WCAG2.0考虑将web内容技术做到"无障碍支持",当(1)使用web内容技术的方式被用户的辅助技术支持和(2)web内容技术无障碍支持终端用户可获得的用户代理

该概念不容易扩展到开发工具,因为很多开发工具可以在很多环境中被安装和使用,这些环境对于辅助技术和用户代理有不同的可获得性(例如,私有网络与共有网站,弹雨网站与多语网站)。因此:

ATAG2.0不包含无障碍支持环境。作为结果,ATAG2.0成功标准不参考WCAG2.0一致性,但作为替代,参考"满足WCAG2.0成功标准"。

一旦开发工具被安装和投入使用,能够评估开发工具生成的web内容一致性,包含WCAG2.0无障碍支持需求是否满足。但是,该WCAG2.0一致性评定将会完全独立于ATAG2.0的开发工具一致性。

一致性选项和级别

有两种一致性类型,每种分别有三个级别:

ATAG 2.0 一致性(级别A,AA,或AAA)

当一个开发工具被用来生成无障碍web内容(WCAG)而不需要额外的工具或组件时,一致性选项可能被选择。一致性级别判定如下:

注意1:部分A一致性适用性注意部分B一致性适用性注意必须被应用。
注意2:如果没有满足最低一致性级别(级别A)(例如,至少一个适用性级别A成功标准没有满足),发布一个声明指出满足了哪个成功标准是有好处的。

局部ATAG 2.0一致性-过程组件(级别A,AA,或者AAA)

当一个开发工具为了成为完全开发系统需要额外的工具或组件时,该一致性选项可能被选择。该选项可能被用在具有限制功能却接近完全系统的组件上(例如,只缺少无障碍检测功能的标记编辑器)。

一致性级别(A, AA,或AAA)判定如上所述,除非,因为所有"否"的答案,通过另一个开发过程组件成为完全开发系统,工具不能阻止成功标准的满足。

注意1:如果开发工具阻止开发过程组件满足失败的成功标准(例如,为了安全原因),开发工具可能不能满足局部一致性。
注意2: 部分A一致性注意事项部分B一致性适用性注意事项必须被应用。

局部ATAG 2.0一致性- 平台限制(级别A,AA,或AAA)

当一个开发工具 因为平台固有的限制而不能够满足一个或多个成功标准 (例如,缺少平台无障碍服务)时,该一致性选项可能会被选择。一致性声明结果的解释(可选)应该说明平台缺失的特性。

Web内容技术生成:

开发工具在指定web内容技术生成方面符合ATAG2.0(例如,有关XHTML1.0生成的级别A一致性)。

如果一个开发工具有能力生成多种web内容技术,则一致性可能只包含这些技术的子集,只要这些子集可能包含以下两种任一技术,工具开发者自动生成内容设置的技术,或工具开发者为开发者生成内容设置为默认的技术。该子集可能包含不会发布终端用户的"临时"样式,尽管这不是必须。

实时发布开发工具:

ATAG 2.0可能适用于具有工作流程的开发工具,该流程包含web内容的实时开发(例如,一些合作工具)。因为实时发布固有的问题,对于这些工具,ATAG2.0部分B一致性可能包含一些支持组合,在实时开发会话之前(例如,在准备无障碍闸门时支持)、期间(例如,级别AA中WCAG2.0需要的实时字幕)、实时开发会话之后(例如,为实时发布的呈现档案添加转换的能力)。更多信息,详见实现 ATAG 2.0-附录E:实时web内容开发工具

一致性声明(可选)

注意:与其他软件应用一样,开发工具是个组件的集合。一个无障碍声明只可以由负责组织制定。事实上,任何其他尝试"声明"都是复查。

一致性声明的必要元素

  1. 声明的日期
  2. ATAG 2.0 版本 URI
  3. 满足的一致性级别
  4. 开发工具信息:开发工具的名字和指定版本的足够额外信息(例如,供应商名称、版本数字(或者版本范围),必须的补丁和更新,用户界面或说明文档人类语言)。
    • 注意:如果开发工具是一个软件应用的集合(例如,标记编辑器,图像编辑器,验证工具),必须为每个应用分别提供信息,尽管一致性声明会将这个应用看做一个整体。
  5. 平台:开发工具运行的平台
  6. 在声明中包含的开发工具生成的web内容技术列表。如果有任何开发工具生成web内容技术没有包含在一致性声明中,这些技术必须单独列出来。如果开发工具默认生成的任何web内容技术,则这些技术也必须被包含。
  7. 每一个成功标准的结果:是,否,不适用

一致性声明的可选元素

除了上面一致性声明的必选元素,考虑提供附加信息来帮助开发者。建议的附加信息包含:

  1. 一个成功标准结果的解读 (是,否)。(强烈建议)
  2. 生成的web内容技术是怎样被用来创建无障碍web内容的信息(例如,WCAG2.0特定技术的链接)。
  3. 为满足成功标准增强无障碍特性而采用的任何额外步骤的信息。
  4. 一致性声明的机器可阅读的元数据版本。
  5. 标准开发工具包含的编辑视图类型描述。

免责声明

如果没有得到W3C、WAI、AUWG的授权,W3C、WAI、AUWG将不会对任何ATAG2.0一致性声明的任何方面或结果负责。


附录A: 词汇

该章节是规范性的

该附录包含所有显著/重要/陌生词汇的定义,包含该标准的规范部分和一致性章节。请咨询http://www.w3.org/TR/qaframe-spec/获得标准标准质量中定义角色的更多信息。

无障碍问题
ATAG 2.0找出了两种类型的无障碍问题:
无障碍信息(WCAG)
为了满足WCAG 2.0的成功标准(级别A,AA或AAA),web内容必须包含的信息。样例包含:编程式链接替代内容(例如,图像的文本替代),角色,小部件的状态信息,复杂表格中的关系
注意: 因为ATAG 2.0的目的,只有编程式确定的无障碍信息才能满足。其他样例,详见附录A 实现ATAG2.0说明文档
无障碍内容支持特性
开发工具的任何特性直接支持开发者增强正在编辑的web内容的无障碍性能。这些特性必须呈现来满足部分B的成功标准。
替代内容
Web内容用来代替一些用户无法访问的其他内容。替代内容与原始内容一样满足相同的功能或目的。WCAG 2.0找出了几种普遍的替代文本类型:
  • 非文本内容的文本替代: 文本是与非文本内容编程式链接,例如,图表里面的一个图片可能有两个文本替代:图表之后段落的描述和图表的一个简短描述,用文字来指明跟随的描述。
  • 时基媒体替代: Web内容与时基媒体呈现的一个或更多轨道提供相同的功能或目的。这包含:字幕、音频描述、扩展音频描述、手语翻译、和与时基媒体声音信息顺序一致的文本描述,这样就可以获得时基媒体呈现的任何交互输出。
  • 文本的媒体替代:媒体呈现的信息与文本中呈现的信息一样(直接或通过文本替代)。一个文本的媒体替代为那些能够从文本替代呈现中获益的人提供。文本的媒体替代可能是音频、视频(包含手语视频),或者音视频。
重要的是,从开发工具的角度,替代内容可能是可能不是:
  • 编程式链接替代内容:替代内容的位置和目的可以从原始内容被编程式确定的。例如,一个段落是一个图片的文本替代,但是只有当关系被正确编码时才是编程式确实的(例如,通过“aria-labeledby”)。
    注意:ATAG2.0一般会指向编程式链接替代文本。
辅助技术
软件(或硬件),不同于开发工具,提供功能满足残障人士的需求(开发者终端用户)。 一些开发工具可能也提供直接无障碍功能。样例包括:
  • 屏幕放大器和其他视觉阅读辅具,这是给视觉障碍、知觉障碍和物理阅读障碍的人群使用的,用以改变文字的字体、大小、间距、颜色、语音同步等等,以改善渲染的文本和图像的视觉可读性;
  • 屏幕阅读器,被视障者使用,通过语音合成或生成盲文来阅读文本信息;
  • 文本转语音软件,这是给认知障碍、语言障碍和学习障碍的人群使用的,可以把文本转化为合成语音;
  • 语音识别软件,这是给一些身体残疾的人使用的;
  • 替代键盘,这是给某些身体残疾的人群使用的,用来模拟键盘(包括使用前进方向键、单开关、吞/吐、 和其他特殊输入设备);
  • 替代点击设备,这是给某些身体残疾的人群使用的,用以模拟鼠标点击和按钮激活功能。
音频
声音再生成技术。音频可以被合成(包含语音合成),真实声音记录,或者都有。
开发者行为阻止无障碍web内容的生成
开发者的操作阻止开发工具生成无障碍web内容(WCAG)。样例包含:关闭 无障碍内容支持功能,忽略无障碍信息(WCAG)提示,在提示中提供错误的无障碍信息(WCAG),修改开发工具(例如,通过脚本、宏),和安装插件
开发者
使用开发工具创建和修改web内容的用户。该词汇可能覆盖内容编辑者、设计者、程序员、发布者、测试者等角色。(详见部分 B 一致性适用性注意事项6:多种开发角色)。一些开发工具通过管理开发权限控制谁可能是开发者。
开发权限
允许修改给定web内容的权限。
开发操作
开发者可以使用开发工具用户界面执行的操作,可以用来编辑web内容(例如,输入文本,删除,插入一个元素,使用一个模板)。相反,大多数开发工具用户界面也能执行非内容编辑的操作(例如,保存,发布,设置偏好,查看说明文档)。
  • 可逆的用户操作:一个开发操作开发者通过在开发工具中请求取消,该操作可立即完全撤销。取消请求的样例包含:"取消", "复原","重做" (用来撤销 "复原"),"还原",和"回滚"
    注意:一个开发工具将一系列文本输入操作收集为一个单独的可逆开发操作是可以接受的。
开发结果
开发操作得来的内容或内容修改结果。开发结果是累积的(例如,输入文本,设计样式,添加链接,给予标题)。
开发实践
开发者遵循的一个方法去获得特定的开发结果 (例如,使用样式表控制呈现)。根据一个开发工具的设计,开发实践可以被开发者或者开发工具所选择。开发实践可能是或可能不是:
开发会话
开发者在使用开发工具编辑web内容的一个状态。
  • 开发会话结束:一个时间节点,开发者没有机会执行开发操作除非开始另一个会话。开发会话结束可能是由开发者决定的(例如,关闭文档,发布)或者开发工具(例如,在一个合作系统中,开发工具将编辑权限转移到另一个开发者)。
    注意:开发会话技术不同于发布自动内容生成在开发会话和初次发布之后还可能继续(例如,内容管理系统更新)。
开发工具
任何基于web和非web的应用,可以被开发者 (独自或合作)使用来创建或修改其他人(其他开发者或终端用户)使用的web内容
注意1: "应用": ATAG 2.0可能适合独立的应用或者应用集合。如果做了一个一致性声明,声明必须为每个应用和任何必要的扩展、插件等提供标识信息。
注意2: "独立或合作": 多个开发者可能共同作用于web内容的创建,根据开发工具,每个开发者有不同的开发权限和编辑视图。
注意3: "创建或修改web内容": 该短语排除了那些为其他目的收集用户信息的软件(例如,在线商品订单表单)和使用这些数据生成web内容(例如,基于web的仓储订单)而不告知用户(但是,WCAG 2.0将会使用)。该短语也排除了那些只使用非web内容技术创建内容的软件。
注意4: "其他人的使用": 该短语排除了很多web应用,这些应用允许用户修改自己经历的web内容(例如,基于web的邮件显示设置)或者只提供输入来自动化流程(例如,图书馆目录搜索页面)。
被认为是符合ATAG2.0的开发工具软件样例:
  • web网页开发工具(例如,WYSIWYG HTML编辑器)
  • 直接编辑源代码软件
  • web内容技术转换技术软件(例如,官方文档应用中的"保存为HTML"功能)
  • 整合开发环境(例如,为web应用开发)
  • 基于模板、脚本、命令行输入或"向导"类型过程的web内容生成软件。
  • 网页部分快速刷新的软件(例如,微博,维基,在线论坛)
  • 生成管理整个网站的软件(例如,内容管理系统,课件工具,内容聚合)
  • 使用web内容技术发送消息的邮件客户端
  • 多媒体开发工具
  • 生成移动web应用的软件
不被认为符合ATAG2.0的开发工具软件样例(在所有样例中,如果软件是基于web的,WCAG2.0仍适用):
  • 自定义个人门户:ATAG2.0不适用,因为web内容是由门户主人个人可获得的
  • 电子商业订单表单:ATAG2.0不适用,因为该表单的目的是预订商品而不是通过web内容同其他人交流,尽管表单收集的信息会显示到web内容中(例如,在线轨迹网页)
  • 独立无障碍检测器:ATAG2.0不适用,因为有自动半自动修复功能的独立无障碍检测器不会真的修复web内容。一个具有修复功能的无障碍检测器或一个大型开发过程的一部分会被认为是一个开发工具。
开发工具用户界面
开发者用来操作开发工具软件的的显示或机制。用户界面可能是非web或基于web的或组合(例如,非web开发工具可能有基于web的帮助页面:
  • 开发工具用户界面(非web):一个开发工具用户界面的任何部分不以web内容实现,而直接运行在平台而不是用户代理(例如,Windows, Mac OS, Java虚拟机, iOS, Android)。
  • 开发工具用户界面(基于web):开发工具用户界面的任何部分都使用web内容技术开发者通过用户代理访问。
开发工具用户界面可能是可能不是:
  • 无障碍开发工具用户界面:开发工具用户界面满足ATAG2.0部分A一个级别的成功标准。
检测,无障碍
web内容进行web内容无障碍问题(WCAG)测试的过程。基于测试自动化级别的增加,ATAG2.0找出了三种检测方式:
  • 人工检测:开发者人工实施的检测。这包含开发者在开发工具提供说明和指导帮助的情况下,但是开发者必须自己实施真正的测试过程。
  • 半自动化检测:由开发工具实施一部分测试的检测,但是还是需要开发者的输入和判断来判定或帮助判定测试结果。
  • 自动化检测:完全由开发工具自动实施的检测,而没有开发者的介入。
一个开发工具可能支持以上检测类型的任何组合。
内容(web内容)
通过用户代理的方式,与终端用户交流的信息和感知经验,包含代码或定义内容结构、呈现和交互的标记。在ATAG 2.0中,该词汇首先被用来指开发工具生成的结果。开发工具生成的内容可能包含web应用,包含那些基于web的开发工具。内容可能是或可能不是:
  • 无障碍内容(WCAG):无论在级别A、AA、AAA,符合WCAG 2.0的内容,假设任何用来满足WCAG2.0的web内容技术都是无障碍支持的。
    • 注意1:如果依赖技术缺少无障碍支持,内容不会符合WCAG2.0,并且一个或多个残障终端用户群体在访问内容的时候更可能遇到困难。
    • 注意2:WCAG2.0的一致性,即使是最高级别(例如,级别AAA),也不可能让内容对"所有类型、级别或残障组合的个体无障碍"。
  • 正在编辑的web内容:开发者可以在开发会话期间修改的web内容。正在编辑的web内容可能是内容中完整的部分(例如,图像,样式表),或者内容中较大区块的部分(例如,状态跟新)。正在编辑的内容只包含开发工具支持web内容技术的内容(例如,WYSIWYG HTML编辑器允许web页面的HTML内容编辑无障碍,但是不包括图像)。
内容属性
标记web内容的信息条目(例如,元素的属性和内容、样式表信息)。
内容(结构化)
包含机器可读内部结构的Web内容(例如,标记元素),相对于非结构化内容,例如光栅图像格式或人类语言文本。
内容生成(内容开发,内容编辑)
会被终端用户代理渲染的、展示的、执行的特定真实web内容的行为。但是在任何给定系统中创建内容的精确细节可能差别很大,生成内容的责任可能是以下的任意组合:
  • 开发者生成内容: 此情况下生成的Web内容开发者负全责。开发者可能对特定级别的下降负责(例如,当要求输入文本标签,开发者为文本负责,但不需要为标签怎样标记负责;当在编辑视图中输入标记,开发者不对使用UNICODE用来编码文本的事实负责。)
  • 自动生成内容:此情况下生成的web内容,工具开发者编程功能负全责(例如,当开发者请求开启新文档的时候标记输出,自动更正标记错误)。
  • 第三方内容生成:此情况下生成的内容,第三方开发者负责(例如,社区共享模板)。
内容渲染
如果渲染、运行、执行正在编辑的web内容开发工具呈现的用户界面功能。ATAG 2.0找出了几种内容渲染方式:
  • 传统渲染 (或"WYSIWYG"):当内容渲染以一种与用户代理创建的默认渲染相同内容相似的方式。当"WYSIWYG",代表 "所见即所得(What-you-see-is-what-you-get)" ,该词汇是个常用词,用户代理与终端用户设置之间的不同,意味着,事实上,没有独立典型的终端用户体验;或
  • 非传统渲染:当内容渲染与在典型用户代理渲染不同时(例如,渲染一个音频文件为一个图像化波形);或
  • 部分渲染:当内容的某些部分被渲染、运行或执行,但是其他部分不渲染(例如,一帧接一帧的视频编辑器渲染视频的图形部分,而不渲染时间部分)。
内容转换
一个过程,将web内容技术或非web内容技术(例如,一个word处理格式)的内容作为输入,生成优化的、重构的、重新编码的内容:
  • 优化内容转换:内容技术不会改变且使用内容结构特征保持相同的转换。这些改变不希望导致信息丢失(例如,删除空格,使用外部样式表代替行内样式)。
  • 重构内容转换:内容技术保持相同的转变,但是用来标记内容的技术结构特性会改变(例如,线性表格,拆分页面)。
  • 重编码内容转换:一种转换,用来编码内容的内容技术会改变的转换(例如,HTML到XHTML,word到HTML的处理过程) 。
注意:剪贴板操作,从平台剪贴板复制或黏贴内容,不作为内容转换考虑。
控制设置
有关开发者怎样操作开发工具的设置,例如使用键盘或鼠标。
工具开发者
任何有责任创建开发工具的组织或个人。这包含所有被包含在一致性声明中声明的附加软件组件的开发者。在某些情况下,开发工具的开发是完全在开发者使用其发布 web内容之前。但是,在另外的情况下(例如,一些基于的web开发工具),工具开发者可能会持续修改开发工具即使内容已经发布,这样终端用户所体验的内容也会被修改。
直接无障碍特性
特性,一个开发工具提供的来满足残障开发者需求的功能(例如,键盘导航,放大功能,文本转语音)。额外的或特定的功能仍由外部辅助技术提供。
显示设置
有关开发者怎么样感知开发工具的设置,包含:
  • 音频显示设置:音频、声音或讲话的音频输出特性。样例包含音量、音色、声速和声调。
  • 视觉显示设置:屏幕上文本和图像的渲染特性。样例包含字体、字体大小、颜色、间距、位置和对比度。
  • 触摸显示设置:触觉输出特性。样例包含触觉力度的大小和震动类型。
文档
支持开发工具使用的任何信息。该信息可能是电子化的或其他,并且包含帮助、人工、安装说明、简单工作流程教程等等。
文档对象
非web开发工具用户代理资源数据的外部呈现。文档对象可能是平台无障碍服务的一部分,该服务可以与辅助技术交流。 基于web的开发工具应该使用用户代理强调的文档对象。
元素
一对标记标签和其内容,或一个"空标签"(一个不需要临近标签或内容的)。
终端用户
web内容被创建后与之交互的个人,包含使用辅助技术的用户。
人类语言
可以说、写或标记的(通过视觉或触觉方式),可以与人类交流的语言。
告知性
为了信息性的目的,且不是一致性必须的。
键盘接口
键盘接口是由很多平台提供的编程式服务,这些平台允许以一种设备独立的方式运行。一个键盘接口可以允许键盘点击输入,即使特定设备不包含硬件键盘(例如,一个触屏控制设备可以在其操作系统中有一个键盘接口,与连接的外部键盘一样支持)。
注意: 键盘操作鼠标模拟器,例如鼠标键,通过键盘接口操作不会起作用,因为这些模拟器使用点触设备接口,不是键盘接口。
键盘陷阱
一个用户界面情景,在该情景下,一个键盘接口可能用来移入焦点,但是不能从一个用户界面组件或组件群组移出焦点。
标签
文本或其他具有文本替代的组件,文本替代用来呈现给用户标识组件。标签是呈现给所有用户,在名字可能被隐藏只暴露给辅助技术的地方。 在很多(但不是全部)的情景下,名字和标签是一样的。
实时
从真实世界捕获的信息,发布延迟不大于直播延迟。
注意:直播延迟是个很短(通常是自动的)的延迟,例如用来给直播时间去排队或审查音频(或视频)输入,但是没有足够的时间允许重大编辑。
标记语言
一个文本标注系统(例如,元素在HTML中)和处理规则,该规则用来指定结构、呈现或内容语义。标记语言的样例包含HTML和SVG。
  • 一些内容的标记在内容中出现的标注设置。
名字
文本,软件用来为开发者终端用户标识用户界面组件。名字可能会被隐藏且只暴露给辅助技术,在标签呈现给所有用户的地方。在很多(但不是全部)情景下,标签和名字是一样的。
非文本内容
任何内容,不是一个可以编程式确定的字符序列,或在人类语言中没有传达任何东西。这包含ASCII艺术(字符一种样式)、表情、和图像呈现文本。
规范
一致性必须。可能是符合ATAG2.0的众多定义好的方式之一。内容标识为告知性的"或 "非规范的"永远不会被一致性必须。
选项
呈现给开发者选项。
平台
开发工具运行的软件环境。在低级别软件平台或硬件上,平台提供一致的操作环境。对于基于web的开发用户界面,最相关的平台是用户代理(例如,浏览器)。对于非web用户界面,平台范围包含,但不限于,桌面运行系统(liru ,Linux、Mac OS ,Windows的GNOME桌面),移动操作系统(例如,安卓、黑莓、iOS、Windows Phone),或跨平台环境(例如,Java),等。
注意1:很多平台通过一个平台无障碍服务,调和平台上应用和辅助技术之间的交流。
注意2:存在于很多平台上的工具开发者无障碍指南。
平台无障碍服务
一个编程式接口,特别创建用来提供应用与辅助技术的交流(例如, MSAA、IAccessible2和Windows应用UI自动化、Mac OS X 应用的AXAPI、GNOME应用的无障碍Toolkit API、 Java应用的入口)。在一些平台上,通过实现文档对象可能用来增强未来的交流。
插件
一个程序,作为开发工具的一部分运行。 (例如,一个第三方检测和修复工具)并且不是正在编辑的web内容的部分。开发者一般可以选择在开发工具中包含或删除插件。
开发预置内容
部分web内容,创建于开发会话之前,是开发工具开发者用来给开发者正在编辑的web内容中使用。样例包含艺术画、简单视频、用户交互小程序。
注意1:对于模板,一个预置不完整的表单内容。详见指南 B.2.4.
注意2:如果开发工具自动使用开发预置内容,详见指南B.1.1
  • 无障碍开发预置内容(WCAG):已经是无障碍web内容或将将要是的开发预置内容,如果它被适当的插入一个空文档中。
    注意:如果大量开发者输入是使用开发预置内容的必要条件,事实上,内容可能是个模板
开发预置内容选择机制
一个功能,在标准文件选择之外,允许开发者选择开发预置内容并在开发会话中使用(例如,剪贴画库,小部件调色板)。
呈现
表单中的内容渲染,会被开发者终端用户所感知。
编程式确定(可编程式确定)
信息,使用一种允许不同软件,包含辅助技术,以不同模式抽取和呈现信息。ATAG 2.0在两种上下文中使用该词汇:
显著性
一个启发式的衡量,衡量开发者在操作一个用户界面时如何注意用户界面组件。显著性被众多因素影响,包含:必要导航步骤的数目,阅读顺序位置,视觉属性(例如,大小、间距、颜色),和使用模式(例如,键盘使用)。
  • 至少显著性一致: 对于ATAG 2.0,一个用户界面组件A应该与另外一个组件B"至少显著性一致",当,从一个默认状态,使用相同数字或不比组件B变为显示(且有效)少的"打开"操作,组件A变为显示(且有效)。
    注意1: 当一个容器打开,容器内所有的有效组件(例如,列表条目、菜单条目、工具条按钮、对话框内容的所有组件)应该被呈现(因此每一个至少显著性一致),即使容器必须滚动才能让组件可见。这应该将不同屏幕尺寸和开发者设置考虑进去,这些会影响在给定时间内哪些组件可见。
    注意2: "打开操作"是开发者在用户界面的组件上实现的操作,结果是新元素变为显示或有效。例如:(a)键盘快捷键到高级别菜单条目来显示子菜单,(b) 键盘选择一个按钮来显示一个对话框,(c)在复选框上点击鼠标使先前无效子条目有效,等。操作不会引起新组件变为可操作(例如,移动焦点、滚动列表),不算为"打开操作"。
    注意3:在闭合容器中组件的键盘快捷键不算为"打开操作",因为当他们不显示时不具有显著性。当开发者必须使用"搜索"来显示闭合容器中的组件时,也为真。
    注意4:"默认状态"是开发工具在一个开发会话开始时工具开发者设置的状态。很多文档开发工具的默认状态是一个编辑视图
提示
任何开发工具开发者初始请求一个决定或信息条目。该词汇覆盖必须立即响应的请求(例如,模型对话框)和较少紧急请求(例如,下划线标出拼写错误词汇)。
发布
节点,开发者开发工具 web内容开放给终端用户(例如,重载网页、在维基中同意改变、实时视频流)。
范围
在多条目设置中多于一个条目。
告知性注意: ATAG 2.0在绝对测量可能不可行的地方使用"范围"这个词(例如,所有帮助说明文档样例的设置,所有模板的设置)。当严格测试需求被定义为"在多条目设置中多于一个条目",强烈建议实施者更广泛的实现成功标准。
关系
不同内容条目间有意义的联系。
修复(无障碍特性)
被标识在web内容中的web内容无障碍问题被解决的过程。基于自动化级别的增长,ATAG 2.0找出了三种修复类型:
  • 人工修复:开发者实施的修复,包含在开发工具提供的说明或指南帮助下,由开发者实施真正的修复过程的情景。
  • 半自动化修复:一部分的修复由开发工具实施,但是开发者的输入和判断仍是完成修复所必须的。 和
  • 自动修复:没有开发者的干预,由开发工具自动实施的修复。
限制,限制web内容开发
开发者可以使用开发工具指定的web内容,这些web内容必须包含或者必须不包含某些内容(例如,元素,属性,小部件)。很多开发工具使用很多方式限制开发,这可能增强无障碍特性(例如,如果非文本内容的必须文本替代),也可能降低无障碍特性(例如,定义文本替代的属性不可获得)。相比之下,允许非限制web内容开发的开发工具,不需要任何特定内容被包含或不被包含(例如,很多资源编辑视图)
角色
文本或一个数字,在web内容中,软件可以用来识别组件的功能(例如,一个字符串,标识出一个图片是否是个超链接、控制按钮、或复选框)。
连续键盘访问
使用键盘接口根据已设定好的顺序使用焦点一个个地导航所有条目(例如,菜单条目、表单区域)直到到达或激活目标条目。这是与直接键盘导航相对的导航方法,例如键盘快捷键或使用跳过链接。
技术(web内容)
一个机制,用来重新编码指令,这些指令将会在用户代理中渲染、运行或执行。 Web内容技术可能包含标记语言、数据、样式、或编程语言,开发者可能会只使用一种或组合使用来创建终端用户体验,范围从静态web网页到多媒体呈现到动态web应用。一些web内容技术的普遍样例包含HTML、 CSS、SVG、PNG、PDF、Flash、 Silverlight、Flex、和JavaScript。
模板
内容样式,需要由开发者填写或开发工具来为终端用户生成web内容(例如,文档模板、内容管理模板、呈现主题)。一般,模板在某些开发决策中会被预先指定。
  • 无障碍模板(WCAG):可以填充的模板,用来创建满足WCAG 2.0成功标准(级别A、AA或AAA)的web内容,当以下两个全部为真时;
    1. 开发者正确遵循所提供的所有说明(例如,正确响应提示,正确更换高亮占位符);和
    2. 未来不会再修改
    注意:在这些情景下,一些模板将会作用于完全空的文件,这些文件默认认为是无障碍的。
无障碍选择机制
在标准文件选择以外的一个功能,允许开发者选择模板作为新内容的基础或应用在现有内容中。
时间限制
一定量的时间,一个开发工具提供给开发者来执行任务的时间(例如,阅读一个信息、选择一个条目、保存改变)。样例包含:开发会话超时,基于时间的呈现(例如,教程视频);
教程
说明文档的一种类型,为执行多部分任务提供一步步的说明。
用户代理
任何软件,为终端用户检索、渲染和方便与web内容进行交互的软件(例如,web浏览器、浏览器插件、媒体播放器)。
  • 在售用户代理:可以被公众成员购买的用户代理(免费或其他)。一般,一个在售用户代理是完全独立于开发工具的软件;但是,某些软件可能整合用户代理和开发工具功能。这些情况包含:
    • 纯预览:如果用户代理只可以渲染从相关联开发功能获取的web内容,该软件就是具有预览功能的开发工具。这样纯预览功能不被认为是在售用户代理
    • 具有开发模式的用户代理:如果用户代理功能必须检索和打开web内容,在被发送回开发工具功能之前,软件是个具有开发工具模式的用户代理。如果用户代理用来预览开发工具模式生成内容,该用户代理被认为是一个在售用户代理。
    • 整合用户代理/开发工具:一个用户代理,用户交互的默认模式使web内容可编辑。这些工具不需要预览,因为开发者已经和终端用户一样体验过内容。
用户界面组件
用户界面的一部分,或内容展示(包含内容渲染),作为一个不同功能的单独控件被开发者感知。
视频
移动图片或图像的技术。视频可以由动画或照片图像组成,或两者都有。
视图
一个用户界面功能,开发者用来与正在编辑的web内容进行交互。ATAG 2.0根据视图是否支持编辑,对其进行分类:
  • 编辑视图:内容一些或全部可编辑的视图;或
  • 预览:没有提供开发操作的视图(例如,视图是不可编辑的)。预览被提供来呈现正在被开发工具编辑的web内容,开发工具,就像终端用户用户代理中体验的一样。使用真正在售用户代理实现预览功能,但是不是必须这样做。
ATAG 2.0也找出了几种方式来呈现视图中的内容:
  • 资源视图:内容以未渲染的模式呈现(例如,纯文本编辑器);或
  • 渲染视图:内容渲染(传统、非传统或部分)被呈现;或
  • 属性视图:只有内容的属性被呈现。开发工具使用这些属性来自动生成要发布的web内容(例如,CMS日历小程序根据数字月份和年份生成日历)。
工作流程
步骤或任务的自定义序列,开发者遵循该序列生成可交付的内容。如果一个开发工具由一个应用的集合组成(例如,标记编辑器,图像编辑器和验证工具),其功能流程可能包含一个或多个应用。

附录B:参考

任何W3C标准的最新版本请查看W3C技术报告(http://www.w3.org/TR/). 下面列出的一些文档可能是该版本的历史版本。

该章节是规范性的

[UAAG10]
"用户代理无障碍指南1.0,", I. Jacobs, J. Gunderson, 和E. Hansen等, 2002年12月17日.
[WCAG20]
"web内容无障碍指南2.0 ", B. Caldwell, M. Cooper, L. Guarino Reid, and G. Vanderheiden等,2008年12月11日。

该章节是告知性的.

[ATAG10]
"开发工具无障碍指南1.0", J. Treviranus,C. McCathieNevile,I. Jacobs,and J. Richards等,2000年2月3日。

附录C: 感谢

在AUWG发布期间活跃的参与者:

ATAG候选建议测试志愿者

其他之前活跃的AUWG参与者和其他ATAG2.0的贡献者:

之前的编辑者:
Tim Boland, NIST
Matt May (在W3C的时间为2005年6月之前)

Kynn Bartlett, Giorgio Brajnik, Judy Brewer, Wendy Chisholm, Daniel Dardailler, Geoff Deering, Cherie Ekholm, Barry A. Feigenbaum, Katie Haritos-Shea, Kip Harris, Phill Jenkins, Len Kasday, Marjolein Katsma, Alex Li, William Loughborough, Karen Mardahl, Matt May, Charles McCathieNevile, Ann McMeekin, Matthias Müller-Prove, Liddy Nevile, Sueann Nichols, Graham Oliver, Greg Pisocky, Wendy Porch, Sarah Pulis, Bob Regan, Chris Ridpath, Andrew Ronksley, Gregory Rosmaita, Roberto Scano, Dana Simberkoff, Reed Shaffner, Michael Squillace, Heather Swayne, Gregg Vanderheiden, Carlos Velasco, and Jason White.

没有这些参与者的工作,该文档不会发布。

该出版物已获得美国教育部、残疾与康复研究所的联邦资助,合同编号为ED-OSE-10-C-0067。该出版物的内容不必要反应美国教育部的观点或政策,也不意味着提到的商品名称、商业产品或组织得到美国政府的认可。


[内容]