欢迎访文我的博客YangChen’s Blog
无障碍开发准则
无障碍支持的怎么样?自然需要一个标准来判定,这个标准是W3C制定的,分为3个等级,分别A、AA、AAA,AAA级是无障碍的最高等级。这个三个等级之间有什么区别呢?这要从无障碍开发的四个原则说起,这4个原则分别是可感知性,可操作性,可理解性和鲁棒性,具体的解释将会在下面说明。
原则一:可感知性-信息和用户界面组件必须以可感知的方式呈现给用户。
可感知性原则下面包括以下4个准则
替代文本:为所有非文本内容提供替代文本,使其可以转化为人们需要的其他形式,如大字体印刷,盲文,语音,符号或更简单的语言。
- 非文本内容:为所有呈现给用户的非文本内容都提供相同目的替代文本,以下情况例外: (A级)
- 控件,输入: 如果非文本内容是一个控件或接受用户输入,则应有一个描述其目的名称。
- 时基媒体: 如果非文本内容是时基媒体,这时替代文本至少要提供非文本内容的描述标识。
- 测试: 如果非文本内容是以一个以文本呈现会失效的测试或练习,则替代文本至少要提供非文本内容的描述标识。
- 感官: 如果非文本内容的主要目的是创建一种特殊感官体验,则替代文本至少要提供非文本内容的描述标识。
- 验证码: 如果非文本内容的目的是为了确认内容正在被一个人访问,而不是计算机访问,则要提供识别和描述非文本内容目的的替代文本,并提供适应针对不同类型感官知觉的输出模型的验证码替代方式, 以适应不同的残障人群。
- 装饰,格式,不可见: 如果非文本内容是纯粹的装饰、或只用于视觉格式、或不呈现给用户,则应以辅助技术可忽略的方式进行实现。
时基媒体:为时基媒体提供替代。
- 纯音频和纯视频(预录): 对于预录的纯音频和预录的纯视频的媒体,以下情况为真,除非音频或视频就是文本的替代媒体 ,并已明确标记: (A级)
- 预录的纯音频: 对于预录的纯音频内容,要给出时基媒体的替代,以呈现等同信息。
- 预录的纯视频: 对于预录的纯视频内容,要么给出时基媒体的替代,要么给出音轨,以呈现等同信息。
- 字幕(预录):要为同步媒体里所有预录音频内容提供字幕,除非此媒体就是文本的替代媒体,并已明确标记。(A级)
- 音频描述或媒体替代(预录): 要为同步媒体提供时基媒体的替代或预录的视频 内容的音频描述,除非媒体就是文本的替代媒体,并已明确标记。 (A级)
- 字幕(直播): 要为同步媒体里所有现场直播的音频内容提供字幕 。 (AA级)
- 音频描述(预录) : 要为同步媒体里所有预录的视频内容提供音频描述 。 (AA级)
- 手语(预录):要为同步媒体里所有预录的音频内容提供手语翻译 。(AAA级)
- 扩展音频描述(预录): 前景音频描述不足以传达视频意思时,可通过暂停,把同步媒体里所有预录的视频内容扩展音频描述提供出来。 (AAA级)
- 替代媒体(预录) : 为所有预录的同步媒体和所有预录的纯视频媒体提供时基媒体的替代。 (AAA级)
- 纯音频(直播): 要为现场直播的纯音频内容提供时基媒体的替代,以呈现等同信息。 (AAA级)
适应性:创建可用不同方式呈现的内容(例如简单的布局),而不会丢失信息或结构。
- 信息和关系: 通过呈现传达的信息、结构和关系,可以编程式确定或在文本中得到。 (A级)
- 有含义的顺序: 当呈现出来的内容其顺序影响其含义,可以通过编程式确定其正确的阅读顺序 (A级)
- 感官特性: 用于理解内容和操作内容的指示,应该不完全依赖于组件的感官特性,如形状、大小、视觉位置、方向、或声音。 (A级)
可辨别性:使用户更容易看到和听到内容,包括把背景和前景分开。
- 颜色用途: 颜色并不是作为传达信息、表明动作、提示响应或区分视觉元素的唯一视觉手段。 (A级)
- 音频控制:如果网页音频自动播放超过3秒钟,提供一个机制用以暂停或停止音频,或者控制独立于全局系统音量的音频音量。 (A级)
- 对比度(最小): 文本的视觉呈现以及文本图像至少要有4.5:1的对比度,以下部分除外:(AA级)
- 大文本: 大号文本以及大文本图像至少有3:1的对比度。
- 附属内容: 文本或文本图像是未激活的用户界面组件部分,或者只是一个纯粹的装饰,或者对任何人不可见,或者只是包含其他重要可视内容的图片一部分,此文本或文本图像没有对比要求。
- 商标: 文本作为标志或品牌名称的一部分,没有最低对比要求。
- 调整文本: 除了字幕和文本图像外,文本大小不需要辅助技术就可以放大至200%,且没有内容或功能损失。 (AA级)
- 文本图像:如果正在使用的技术可以达到视觉效果,应使用文本传达信息而不用文本图像,以下部分除外:(AA级)
- 定制: 文本图像可根据用户要求进行视觉定制。
- 必需: 文本的特殊呈现对要传达的信息是必需的。
- 对比度(加强): 文本视觉呈现以及文本图像至少有7:1的对比度,以下部分除外:(AAA级)
- 大文本: 大号文本以及大文本图像至少有 4.5:1的对比度。
- 附属内容: 文本或文本图像是未激活的用户界面组件部分,或者只是一个纯粹的装饰,或者对任何人不可见,或者只是包含其他重要可视内容的图片一部分,此文本或文本图像没有对比要求。
- 商标: 文本作为标志或品牌名称的一部分,没有最低对比要求。
- 低背景音或无背景音: 对于预录的纯音频内容,(1)前景音频主要包含说话内容,(2)不是音频验证码或音频标志,以及(3)不发声,主要用音乐表达,如唱歌或说唱,以下部分至少有一为真:(AAA级)
- 无背景: 音频不包含背景声音。
- 关闭: 背景声音可以被关闭。
- 20分贝: 背景声音至少比前景说话内容低20分贝,持续仅一两秒的偶发性声音除外。
- 视觉呈现: 对于文本块的视觉呈现,提供一个机制以实现以下目标:(AAA级)
- 用户可以选择前景色和背景色。
- 宽度不超过80个字符或符号(如果是中日韩字体,不超过40个)。
- 文本不能调整(即左对齐和右对齐)。
- 段落里的行间距(行隔)至少是1.5倍行距,段落间距至少比行间距大1.5倍。
- 不使用辅助技术可将文本大小放大200%,并且在全屏窗口的情况下不需要用户水平滚动就可以阅读一行文本。
- 文本图像(没有例外): 文本图像只能用于纯粹的装饰或此文本的特殊呈现对要传达的信息是必需的。 (AAA级)
原则二:可操作性-用户界面组件和导航必须可操作。
键盘可访问:使所有功能都能通过键盘来操作
- 键盘: 内容的所有功能可通过键盘接口实现操作并且没有对每次键击做特定时限要求,除非底层功能是依赖用户的移动路径并且不做为端点的输入方法。 (A级)
- 无键盘陷阱: 如果可使用键盘接口能将焦点到移动到某网页组件上,那么可以只使用键盘接口操作也可以将焦点从当前组件移开,如果需要未修改的方向键或Tab键或其它标准退出方式以外的操作,要告知用户离开焦点的方法。 (A级)
- 键盘(没有例外): 内容的所有功能可通过键盘接口实现操作并且没有对每次键击做特定时限要求。 (AAA级)
充足的时间:为用户提供足够的时间用以阅读和使用内容。
- 定时可调:对于由内容设置的每一个时间限制,以下部分至少有个一为真:(A级)
- 关闭: 允许用户达到时间期限之前,关闭时间限制。
- 调整: 允许用户达到时间期限前,调整时间限制。调整范围要放宽,至少是默认设置长度的10倍。
- 延长: 在超时之前向用户发出警告,并给用户至少20秒的时间,使用户可以通过简单的动作来延长时间(例如“按空格键”),并允许用户延长期限至少10次。
- 实时特例: 时间限制是一个实时事件(例如拍卖)的必要部分,可能没有时间限制的替代方法。
- 必需特例: 时间限制是必需的,延长时限将导致行为失效。
- 20小时特例: 时间限制超过20个小时。
- 暂停、停止、隐藏:对于运动、闪烁、滚动或自动更新的信息,以下部分全部为真:(A级)
- 运动、闪烁、滚动: 任何运动、闪烁或滚动的信息(1)自动启动,(2)持续时间超过5秒钟,(3)与其他内容同时呈现。对于这些信息,提供一个机制可使用户暂停,停止或隐藏,除非运动、闪烁、或滚动是某个行为的必需部分。
- 自动更新: 任何自动更新的信息(1)自动启动(2)与其他内容同时呈现。对于这些信息,提供一个机制可使用户暂停、停止、或隐藏,或控制更新的频率,除非自动更新是某个行为的必需部分。
- 无定时:定时不是一个事件或内容呈现行为的必需部分,非交互同步媒体和实时事件除外。 (AAA级)
- 中断: 中断可以由用户推迟或禁止,紧急中断除外。 (AAA级)
- 重新认证: 当认证的会话到期时,重新验证后,用户的行为可以继续并且不丢失数据。 (AAA级)
癫痫:不要设计会导致癫痫发作的内容。
- 闪光三次或低于阈值: 网页不包含任何闪光超过3次/秒的内容,或闪光低于一般闪光和红色闪光阈值。 (A级)
- 闪光三次: 网页不包含任何闪光超过3次/秒的内容。 (AAA级)
可导航性:提供帮助用户导航、查找内容、并确定其位置的方法。
- 绕过模块:提供一种机制以跳过在多个网页中重复出现的内容模块。 (A级)
- 网页标题: 网页提供标题,以描述主题或用途。 (A级)
- 聚焦顺序: 如果网页可以顺序导航,并且导航顺序影响含义和操作,可聚焦的组件以保持其含义和可操作的顺序接受聚焦。 (A级)
- 链接目的(在上下文里): 每个链接目的的确定可通过:单独的链接文本,或者是链接文本联系其编程式确定的链接上下文。除非链接的目的也会困惑普通用户。 (A级)
- 多种方法:用一种以上的方法在网页集里定位一个网页,除非网页是流程的结果或流程的某个步骤。 (AA级)
- 标题和标签: 标题和标签说明主题或目的。 (AA级)
- 焦点可见: 任何键盘可操作的用户界面应有一套操作模式,在该模式里键盘焦点指示是可见的。 (AA级)
- 定位:网页集里关于用户定位的信息是有效的。 (AAA级)
- 链接目的(只针对链接): 提供一个机制允许只从链接文本来识别每个连接目的。除非链接目的也会困惑普通用户。 (AAA级)
- 章节标题: 用章节标题(Section headings)组织内容。 (AAA级)
原则三:可理解性-信息和用户界面操作必须是可理解的。
可读性:使文本内容可读,可理解。
- 网页语言: 每个网页的默认人类语言可以编程式确定。 (A级)
- 局部语言:内容里每个段落或短语的人类语言可以编程式确定,除了文本中专有名词、术语、不确定语言的词汇、已经融入到本地语言的词语或短语。
- 特殊单词: 若单词或短语被特定或者有限制的方式使用,包括成语和术语,则提供一个机制确定这些单词或短语的具体定义。 (AAA级)
- 缩写:提供一个机制用于确定缩写词的扩展形式或含义。 (AAA级)
- 阅读水平: 当文本中排除专有名词、标题,仍需要初中教育水平以上的阅读能力时,提供补充内容,或者提供不高于初中教育水平既能阅读的版本。(AAA级)
- 发音: 若单词没有发音就无法理解单词含义,则提供一个机制用于确定单词的具体发音。 (AAA级)
可预测性:让网页以可预见的方式呈现和操作。
- 焦点:当任何用户界面组件接收焦点时,不会引起上下文变化。 (A级)
- 输入:更改任何用户界面组件设置不会自动导致上下文变化,除非用户使用组件前已被告知该行为。 (A级)
- 一致性导航: 对于在网页集里多个网页中重复出现的导航机制,每次出现时都应保持同样的相对顺序,除非是由用户引起的顺序变化。 (AA级)
- 一致性标识: 网页集集里相同功能的组件可被一致性标识。 (AA级)
- 请求变化: 上下文变化只能由用户请求来启动,或者提供一个可关闭这种变化的机制。 (AAA级)
辅助输入:帮助用户避免和纠正错误。
- 错误标识: 如果输入错误能够被自动发现,错误类型应能被标识,并且用文本描述给用户。 (A级)
- 标签或说明: 当需要用户输入内容时,要给出标签或说明。 (A级)
- 错误建议: 如果输入错误能够被自动发现,且修改建议已知,则提供建议给用户,除非它会危及安全或影响内容目的。 (AA级)
- 错误预防(法律、金融、数据): 对于用户操作将引起法律承诺或者金融交易的网页、修改或删除数据存储系统里的用户可控数据的网页、提交用户测试响应的网页等 ,对于这些网页,以下部分至少有一为真:(AA级)
- 可逆: 提交是可逆的。
- 检查: 用户输入的数据将被检查是否有输入错误,并为用户提供一个改正错误的机会。
- 确认: 提供一个机制用于最后提交之前审查、确认和纠正信息。
- 帮助:上下文相关的帮助是可用的。 (AAA级)
- 错误预防(全部): 对于要求用户提交信息的网页,以下部分至少有一为真:(AAA级)
- 可逆: 提交是可逆的。
- 检查: 用户输入的数据将被检查是否有输入错误,并为用户提供一个改正错误的机会。
- 确认: 提供一个机制用于最后提交之前审查、确认和纠正信息。
原则四:鲁棒性-内容必须健壮到可信地被种类繁多的用户代理(包括辅助技术)所解释。
兼容:最大化兼容当前和未来的用户代理(包括辅助技术)。(AAA级)
- 解析:使用标记语言实现的内容,元素要有完整的开始和结束标签,元素根据其规格进行嵌套,元素不包含重复的属性,任何ID都是唯一的,除非规范允许这些特性。 (A级)
- 名称,角色,值:对于所有用户界面组件(包括但不限于:表单元素,链接和由脚本生成的组件),名称和角色可以编程式确定; 可由用户设置的状态、属性和值可以编程式设置,这些变化通知对用户代理(包括辅助技术)有效。 (A级)
最后
以上就是无障碍开发的准则及评级,要做到哪一级标准就对应着看看要求吧,一般大部分网站做到AA级即可,我的这次无障碍项目的要求也是AA级。
参考文章
Web Content Accessibility Guidelines (WCAG) 2.0