标准 · WCAG 2.2

SC 1.3.5 级别 AA WCAG 2.1

识别输入目的

收集常见个人信息的表单字段——姓名、电子邮件、电话、地址、信用卡——必须使用 HTML autocomplete 属性以编程方式声明其用途,以便浏览器自动填充,并允许辅助工具自定义界面。

要求内容

对于 WCAG 列出的 53 个特定用户信息字段(姓名、电子邮件、电话、街道地址、信用卡号、生日、国家等),每个输入框都必须包含对应的 autocomplete 令牌。其核心目的不在于浏览器自动填充的便利性——而在于辅助工具(符号键盘、AAC 应用、认知支持层)只有在字段用途可被机器读取时,才能将表单标签替换为图标、翻译内容或替代输入方式。

如何满足要求

  • 电子邮件字段添加 autocomplete="email",名字字段添加 autocomplete="given-name",姓氏字段添加 autocomplete="family-name"
  • 电话字段使用 autocomplete="tel",地址字段使用 autocomplete="street-address"autocomplete="postal-code"autocomplete="country"
  • 支付表单使用 autocomplete="cc-name"cc-numbercc-expcc-csc
  • 参考 HTML 规范中的完整列表——这些令牌具有规范性。
  • 结合 <input type="email">type="tel"type="url"> 以呈现正确的屏幕键盘。
  • 非个人字段(搜索框、自定义评分)无需 autocomplete 令牌——本成功准则仅涵盖 53 种个人信息类型。

常见失败示例

  • 以”安全为由”在整个登录表单上设置 autocomplete="off"——实际上阻碍了合规,同时破坏了密码管理器的功能。
  • 电子邮件字段缺少 autocomplete 令牌,导致符号键盘用户无法获得定制化输入。
  • 地址字段标注为”地址行 1”,但未设置 autocomplete="address-line1"
  • 信用卡字段使用自定义 JavaScript 自动填充,而非原生令牌。
  • 注册表单的姓名字段收集全名,但未设置 autocomplete="name"

重要性

此成功准则普遍被忽视,因为失败并不可见——表单对普通用户照常运行,但使用自适应输入设备的用户只能获得通用体验。为大多数注册流程添加 autocomplete 令牌仅需约 30 分钟,同时还能改善普通用户的体验(浏览器自动填充更准确)。