role=dialog 和 role=alertdialog 有什么区别?

kar*_*luS 6 html accessibility wai-aria

根据WAI-ARIA 规范,两个角色都应该具有:

  • 专注于第一个可聚焦元素
  • 用户应该不能离开对话框
  • 应该有适当的aria-label设置
  • 应该用于中断流程并且应该需要采取一些操作,例如单击按钮或键入某些内容

我看到的唯一区别是alertdialog应该aria-describedby设置。

这让我想到一个问题。role=dialog和之间的实际区别是role=alertdialog什么?我们什么时候使用一种或另一种?

Mor*_*ish 4

如此处所述,alertdialog 是对话框的子类型。

他们的不同之处在于他们的角色。顾名思义,当上下文需要用户立即注意时(即出现警报、警告或错误时),应使用警报对话框。

编辑:由于@cjl750评论更正了解释。