aria-autocomplete
描述
自动完成是用户界面功能,其中在用户在输入框中键入时会提供内联建议。字段值的建议文本会在输入光标之后动态出现在字段中,如果用户执行某个操作(例如,按 Tab 键导致焦点离开字段),则建议值将成为该值。
aria-autocomplete
属性描述了文本框、搜索框或组合框在动态帮助用户完成文本输入时将使用的自动完成交互模型的类型。它区分两种模型:**内联**模型 (aria-autocomplete="inline"
),它呈现单个预测值;以及**列表**模型 (aria-autocomplete="list"
),它在一个单独的元素中呈现可能的值得集合,该元素会弹出到文本输入的旁边或下方,类似于<datalist>
。第三个值 aria-autocomplete="both"
用于界面同时呈现列表并包含预测值的情况。默认值为 none
,这意味着文本框、搜索框或组合框不会提供自动完成值。
aria-autocomplete
属性仅描述输入元素的预测行为类型,供辅助技术使用;它不提供功能。应使用 HTML 属性或 JavaScript 提供实际的自动完成功能。
如果建议的自动完成值提供的建议值不依赖于用户提供的输入,请考虑省略所有人的自动完成。例如,搜索框输入显示未过滤的最近搜索词语可能对电子商务网站上的营销团队有所帮助,但可能对屏幕阅读器用户没有帮助。当最好不为 aria-autocomplete
指定值或将值设置为 none
默认值时,您的非辅助技术用户可能也不需要这种体验。
在实施自动完成功能时,请确保将建议的值部分呈现为选中文本,以便能够区分用户的输入和建议。确保当建议的值不是所需的值时,用户可以轻松删除建议或通过继续键入来替换建议。
在实施值列表时,DOM 焦点应保留在文本输入上,同时显示建议列表。
- 包含
aria-controls
,其值为建议值列表的 ID。 - 包含
aria-haspopup
,使其与包含建议值集合的元素的角色相匹配。 - 根据需要管理焦点,包括如果集合容器支持,则使用
aria-activedescendant
。 - 在具有角色
combobox
的元素上使用aria-expanded
状态来传达列表是否显示。
如果在字段失去焦点时自动接受自动完成列表值,则该列表必须包含在支持 aria-activedescendant
的角色中,并且输入字段上的 aria-activedescendant
值会动态调整为引用包含所选建议的元素。
值
关联角色
规范
规范 |
---|
可访问的富互联网应用程序 (WAI-ARIA) # aria-autocomplete |
未知规范 |
未知规范 |