辅助功能 自动填充
为什么
autocomplete 属性使表单对所有用户更轻松、更高效,特别是注意力缺陷、认知障碍、行动不便、低视力或盲人用户。
什么
您是否曾经遇到过访问网页表单,而您的浏览器以神奇的方式自动填充字段的情况?这要么是因为浏览器很智能,要么是因为表单作者以正确的方式使用了autocomplete
属性。
这对每个人来说都很方便。这对有运动障碍或认知障碍的用户非常有帮助。填写表单可能很困难,而autocomplete
属性通常是一个帮助。
如何
Autocomplete 可用于<input>
、<textarea>
、<select>
和<form>
元素。该属性有许多可能的值,例如
- "姓名": 张丹
- "名字": 丹
- "姓氏": 张
- "组织": 阿里巴巴集团
- "国家名称": 中国
- "街道地址": 望上路699号
完整的值列表:用户界面组件的输入用途。
示例:注册表单
此注册表单包含电子邮件和生日字段。这是一个提供自动填充的绝佳机会。许多用户将其浏览器中保存了这些详细信息,准备好在启用了自动填充的表单中使用。浏览器需要了解字段的用途。
标签和占位符是某些浏览器的提示,但不是万无一失的解决方案。最好的方法是添加神奇的autocomplete
属性
<input id="email" autocomplete="email" name="email" aria-required="true" placeholder="电子邮件" required>
<select id="dobDay" autocomplete="bday-day" aria-required="true" required>
<select id="dobMonth" autocomplete="bday-month" aria-required="true" required>
<input id="dobYear" autocomplete="bday-year" placeholder="YYYY" aria-required="true" required>
例外情况
没有规则没有例外。以上代码示例将使表单变得简单、高效、无错误且可访问。如果表单要求输入另一个电子邮件,而不是“您的”电子邮件,则添加 autocomplete 属性将毫无意义。当数据可能未保存在浏览器中时,不应具有该属性。
并非所有表单都无错误。如何编写可访问的错误消息。继续阅读!