是否可以在页面上有多个 ARIA 实时区域并让屏幕阅读器同时播报?



当我的页面上有两个实时区域时,默认行为是屏幕阅读器只会播报其中一个区域中的文本。有没有办法让它同时宣布两者?我尝试过在一个上使用 setTimeout((,以及向一个添加aria-live="polite"。这些方法都不起作用,我在网上找不到太多关于拥有多个实时区域的信息。

多个实时区域应该可以工作,但是我经历过如果 aria-live 区域位于错误的"上下文"(即包装元素的语义角色(中,则不会宣布它们。

为了获得最可预测的结果,请注意将活动区域放置在 DOM 中的位置。它嵌套得越深,就越有可能被屏幕阅读器"隐藏"。考虑到实时区域不需要可见,因此(理论上(它们可以放置在体内,这与您可以获得的一样高层次。

最新更新