Menu Button
菜单按钮
菜单按钮会打开一组操作或选择,并告诉软件菜单是否已展开。
生活中的例子
在文档编辑器中,“导出”会打开 PDF、DOCX 和 Markdown 选项。向下键可打开菜单并聚焦第一项;Escape 可关闭菜单并把焦点送回按钮。选择 PDF 只会导出一次,不是开启长期设置。
主要部分
- 01触发按钮
- 02弹出菜单
- 03菜单项
什么时候用
当一小组命令全部显示成按钮会让页面太挤时,可以使用菜单按钮。必须完整支持菜单的键盘操作。
什么时候不要用
普通网站导航链接,或会提交值的表单字段,都不要使用 `menu` 角色。
代码里的名称
button aria-haspopup=menu aria-expanded + role=menu/menuitem 上线前要检查
只在遮住整个页面的对话框中限制焦点,其他情况不要困住焦点。支持 Esc 键与清楚可见的关闭按钮;关闭后,把焦点还给原来的按钮。保留已输入数据,并检查小屏幕、加载与失败状态。
预期结果:使用 菜单按钮 (Menu Button) 解决这项需求,同时保留用户当前的操作上下文。 用户场景:在文档编辑器中,“导出”会打开 PDF、DOCX 和 Markdown 选项。向下键可打开菜单并聚焦第一项;Escape 可关闭菜单并把焦点送回按钮。选择 PDF 只会导出一次,不是开启长期设置。 建议界面模式:菜单按钮 (Menu Button)。 适用理由:当一小组命令全部显示成按钮会让页面太挤时,可以使用菜单按钮。必须完整支持菜单的键盘操作。 不应使用的情况:普通网站导航链接,或会提交值的表单字段,都不要使用 `menu` 角色。 产品要求:定义默认、加载、没有内容、错误、成功与恢复状态。保留用户已输入的内容,每个操作后都提供清楚反馈。 无障碍与韧性:使用结构正确的 HTML(语义化 HTML)和完整键盘操作。焦点要清楚可见,布局缩放后仍要好用。也要提供减少动态效果。遵守项目现有规则。除非项目已采用,否则不要新增界面组件库。 验收标准:主要任务可只用键盘完成,在 320px 宽度也能正常使用。焦点与状态变化可被辅助工具读出。加载、失败、重试、取消与减少动态效果都已验证。 证据与限制(证据边界):它只代表该来源的官方说法。其他平台或团队可能有不同用法。 待确认:产品文字、数据来源、分析事件、支持设备与语言,以及平台特有限制。
检查这份需求
请 AI 编程助手检查当前如何使用 菜单按钮 (Menu Button)。 定义:菜单按钮会打开一组操作或选择,并告诉软件菜单是否已展开。 生产环境检查:只在遮住整个页面的对话框中限制焦点,其他情况不要困住焦点。支持 Esc 键与清楚可见的关闭按钮;关闭后,把焦点还给原来的按钮。保留已输入数据,并检查小屏幕、加载与失败状态。 修改程序前,先列出看到的证据、缺口、严重程度,以及最小且安全的修正。