我在使用aria-live = polite时收到错误消息。 宣布第一次出现错误。 它第二次再次宣布是否在同一页面上打开弹出窗口,并且该页面已发生错误。
<div aria-live="polite">
<error-message-component></error-message-component>
</div>
我无法找到原因,因为它已经向用户宣布,并且弹出窗口后面的内容为aria-hidden =“ true”
答案 0 :(得分:0)
所以问题在于错误消息(aria-live)被宣布了两次?预计会是第一次,但是如果您打开一个弹出窗口,会宣布第二次出现吗?
如果您仅只指定aria-live="polite"
,而不指定aria-relevant
,那么这意味着您应该在任何时候宣布咏叹调活跃区域更改
因此,您应该确认显示弹出窗口时,没有将子DOM节点添加到aria-live区域,并且在aria-live区域内没有任何文本更改。
还要检查弹出窗口是否以某种方式引用了咏叹调活动区域。如果弹出窗口中的某个内容指向aria-labelledby
或aria-describedby
指向咏叹调活跃区域,那么该咏叹调活跃区域将作为弹出窗口的一部分被宣布。