弹出式窗口和aria-live的可访问性问题

时间:2019-02-18 15:06:44

标签: javascript html accessibility

我在使用aria-live = polite时收到错误消息。 宣布第一次出现错误。 它第二次再次宣布是否在同一页面上打开弹出窗口,并且该页面已发生错误。

<div aria-live="polite">
<error-message-component></error-message-component>
</div>

我无法找到原因,因为它已经向用户宣布,并且弹出窗口后面的内容为aria-hidden =“ true”

1 个答案:

答案 0 :(得分:0)

所以问题在于错误消息(aria-live)被宣布了两次?预计会是第一次,但是如果您打开一个弹出窗口,会宣布第二次出现吗?

如果您仅指定aria-live="polite",而指定aria-relevant,那么这意味着您应该在任何时候宣布咏叹调活跃区域更改

(或其任何子DOM元素)中的文本(添加,删除或更改文本),或者如果您添加子DOM元素(而不是删除子DOM元素。

因此,您应该确认显示弹出窗口时,没有将子DOM节点添加到aria-live区域,并且在aria-live区域内没有任何文本更改。

还要检查弹出窗口是否以某种方式引用了咏叹调活动区域。如果弹出窗口中的某个内容指向aria-labelledbyaria-describedby指向咏叹调活跃区域,那么该咏叹调活跃区域将作为弹出窗口的一部分被宣布。