在构建包含下拉菜单的界面组件时,需严格遵循 WAI-ARIA 规范配置属性以确保无障碍体验。首先,触发菜单的元素应设置 role="button",并配合 aria-haspopup 属性(值为 menu 或 true)提示用户存在下拉内容。当菜单展开时,该元素需将 aria-expanded 设为 true;隐藏时则设为 false。此外,可选地通过 aria-controls 指向包含菜单项的父容器(role="menu")。对于焦点管理,按下 Enter、Space 键或方向键打开菜单后,焦点必须自动转移至第一个菜单项。若使用 aria-activedescendant 属性管理焦点,需确保该属性值与当前激活元素一致;若采用 element.focus() 方法,则需在代码逻辑中显式调用焦点切换。这些策略共同保障了键盘操作用户能顺畅访问下拉菜单内容。
界面设计服务
WAI-ARIA 下拉菜单按钮的无障碍属性配置与焦点管理
基于 WAI-ARIA 规范,详解下拉菜单按钮的 role、aria-haspopup、aria-expanded 配置方法及 Enter/方向键触发后的焦点转移策略。