键盘交互
| 按键 | 操作 |
|---|---|
| Tab | 将焦点移到对话框内的下一个元素。 |
| Shift + Tab | 将焦点移到对话框内的上一个元素。 |
| Esc | 关闭对话框,除非它被设为不可随意关闭。 |
无障碍说明
- 通过
showModal()打开时,对话框会获得role="dialog"和模态语义,页面其余部分则变为不可交互。 - 标题和描述通过自动生成的 id 与对话框关联,因此屏幕阅读器会在对话框打开时将两者一并播报。
- 初始焦点会落在带有
autofocus的元素上;如果没有,则落在第一个可聚焦元素上。确认破坏性操作时,请把autofocus放在安全选项上。 - 对话框关闭后,焦点会回到打开它的元素上。
- 在没有其他用户交互的情况下反复按 Esc 键,浏览器仍可能关闭不可随意关闭的对话框,因此请始终提供明确的退出方式。