标准 · WCAG 2.2

SC 3.3.7 级别 A WCAG 2.2 2.2 版新增

冗余输入

用户在同一会话中已提供的信息不得再次要求填写——应自动填充或允许从列表中选择,除非重复输入是必要的(例如确认密码)。WCAG 2.2 新增准则。

要求内容

当某个流程需要用户在同一会话中(通常是多步骤流程中)多次输入相同信息时,页面必须自动填充该值,或允许用户从之前已输入的值中进行选择。要求用户在第三步中重新输入他们已在第一步填写过的电子邮件地址、居住地址或姓名,即构成失败——除非重复输入具有必要的目的,例如确认密码。

本成功准则适用于同一会话和同一流程内。要求用户下个月再次提供相同数据,或在不同流程中重复填写,则不在其适用范围之内。

如何满足要求

  • 在结账流程中,用配送地址预填账单地址(并提供”与配送地址相同”复选框)。
  • 在账户创建流程中,将姓名和电子邮件贯穿每个后续步骤。
  • 对于政府或保险表单,在各个部分之间传递家庭成员信息。
  • 当用户出于真实原因必须重新输入某内容时(例如输入确认码、为安全起见重新输入密码),应说明原因。
  • 将部分填写的表单数据保存在客户端状态或会话存储中,以确保前进/后退导航不会丢失已填内容。

常见失败情形

  • 多步骤结账表单在联系步骤要求填写电子邮件,又在支付步骤再次要求填写。
  • 预订流程要求填写主要旅行者姓名,然后又将同一姓名作为持卡人姓名再次要求填写,且不提供自动填充。
  • 账户恢复流程先要求填写电子邮件,再单独要求填写用户名,然后在”确认”页面再次要求填写相同的电子邮件。
  • 冗长的政府表单中,各子部分分别要求填写相同的主申请人信息。

重要性

这是 WCAG 2.2 新增的 A 级成功准则之一,旨在解决认知无障碍问题。对于有记忆障碍、阅读障碍、注意力缺陷多动障碍(ADHD)、运动障碍(每次按键都代价高昂)以及使用开关或语音控制(每个表单字段都是缓慢操作)的用户而言,冗余输入是一项沉重的负担。有表单焦虑的用户在遭遇冗余输入时,也可能认为系统丢失了数据,进而放弃流程。

修复方案几乎总是非常简单——传递会话状态即可——但这要求表单设计需要跨步骤协调,而非将每个步骤视为孤立的表单。在针对多步骤流程的 2.2 版本审计中,3.3.7 预计会被频繁标记。