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-number、cc-exp、cc-csc。 - 参考 HTML 规范中的完整列表——这些令牌具有规范性。
- 结合
<input type="email">、type="tel"、type="url">以呈现正确的屏幕键盘。 - 非个人字段(搜索框、自定义评分)无需 autocomplete 令牌——本成功准则仅涵盖 53 种个人信息类型。
常见失败示例
- 以”安全为由”在整个登录表单上设置
autocomplete="off"——实际上阻碍了合规,同时破坏了密码管理器的功能。 - 电子邮件字段缺少 autocomplete 令牌,导致符号键盘用户无法获得定制化输入。
- 地址字段标注为”地址行 1”,但未设置
autocomplete="address-line1"。 - 信用卡字段使用自定义 JavaScript 自动填充,而非原生令牌。
- 注册表单的姓名字段收集全名,但未设置
autocomplete="name"。
重要性
此成功准则普遍被忽视,因为失败并不可见——表单对普通用户照常运行,但使用自适应输入设备的用户只能获得通用体验。为大多数注册流程添加 autocomplete 令牌仅需约 30 分钟,同时还能改善普通用户的体验(浏览器自动填充更准确)。