移动设备无障碍清单

本文档为移动应用开发者提供了一份简洁的辅助功能要求清单。随着新模式的出现,本文档将不断演进。

颜色

  • 颜色对比度必须符合 WCAG 2.2 AA 级要求

    • 普通文本(小于 18pt 或 14pt 粗体)的对比度为 4.5:1。
    • 大号文本(至少 18pt 或 14pt 粗体)的对比度为 3:1。
  • 通过颜色传达的信息也必须通过其他方式提供(例如,链接使用下划线文本等)。

可见性

  • 不得仅使用零不透明度、z 轴顺序和屏幕外定位等内容隐藏技术来处理可见性。
  • 当前屏幕上除了可见内容以外的所有内容都必须是真正不可见的(对于具有多个卡片的单页应用尤其重要)。
    • 使用 hidden 属性或 visibilitydisplay 样式属性。
    • 除非绝对不可避免,否则不应使用 aria-hidden 属性。

焦点

  • 所有可激活的元素都必须可获得焦点。

    • 链接、按钮和表单字段等标准控件默认即可获得焦点。
    • 非标准控件必须为其分配适当的 ARIA 角色,例如 buttonlinkcheckbox
  • 焦点应以逻辑且一致的方式进行处理。

文本等效项

  • 对于应用中所有非纯粹表现性的非文本元素,都必须提供文本等效项。

    • 在适当的地方使用 alttitle 属性(阅读 Steve Faulkner 关于使用 HTML title 属性的文章,获取一份不错的指南)。
    • 如果上述属性不适用,请使用适当的 ARIA 状态和属性,例如 aria-labelaria-labelledbyaria-describedby
  • 必须避免使用文本图片。

  • 所有具有可见文本(或文本图片)作为标签的用户界面组件,必须在组件的程序化 名称 中提供相同的文本。WCAG 2.1: 名称中的标签。

  • 所有表单控件都必须有标签(<label> 元素),以方便屏幕阅读器用户使用。

处理状态

  • 单选按钮和复选框等标准控件由操作系统处理。但是,对于其他自定义控件,必须通过 ARIA 状态(如 aria-checkedaria-disabledaria-selectedaria-expandedaria-pressed)来提供状态更改。

方向

  • 除非必要,否则内容不应仅限于单一方向(如纵向或横向)。WCAG 2.1: 方向
    • 例如,钢琴应用或银行支票是方向至关重要的场景。

一般准则

  • 必须提供应用标题。

  • 标题不得破坏层级结构。

    html
    <h1>Top level heading</h1>
    <h2>Secondary heading</h2>
    <h2>Another secondary heading</h2>
    <h3>Low level heading</h3>
    
  • 应使用 ARIA 地标角色来描述应用或文档结构,例如 bannercomplementarycontentinfomainnavigationsearch

  • 对于触摸事件,请确保以下几点(WCAG 2.1: 指针取消

    • 不应使用按下事件来执行功能的任何部分;
    • 如果上述条件不满足,功能的完成应在抬起事件上触发,并且需要有机制可以在完成前中止操作或在完成后撤销操作;
    • 如果上述条件不满足,抬起事件应能够撤销由按下事件触发的任何操作;
    • 如果必须在按下事件上触发操作,以上所有规则都可能被违反,通常是为了模拟真实世界的体验或提供实时反馈。例如,游戏控件、钢琴键盘或虚拟键盘。
  • 触摸目标必须足够大,以便用户能够与之交互(请参阅 BBC 移动辅助功能指南,了解有用的触摸目标尺寸指南)。

注意:本文档的原始版本Yura Zenevich 撰写。