设置aria-live以在读取焦点中的DOM元素之前读取更新

时间:2015-11-23 10:19:44

标签: javascript accessibility wai-aria

假设您有一个咏叹调生活区域,并且每次进行某些更改时都会将其读出。但每次进行更改时,焦点都会移动到特定的表单元素First Name

如果在aria-live区域中更新的文本为Loading complete,则首选阅读序列为Loading complete First name,即首先是aria-live区域,然后是要聚焦的元素。

然而,无论咏叹调的礼貌设置如何,我似乎无法获得这种组合。

如果aria-live = assertivearia-live = polite,则会显示First name Loading complete

如果aria-live = rude,它只会读取Loading complete,而忽略了所关注元素的读取。

如何制作此优先顺序?

我使用JavaScript来操作内容。

1 个答案:

答案 0 :(得分:1)

我过去遇到过类似的问题。不确定这是否是您正在寻找的,但超时帮助了我。基本上代码看起来像:

// ...
// perform updates to your live region
// ...
setTimeout(function() {
    $('.autofocus').focus();
});

ARIA对我来说一直是个谜,现在仍然是,所以无法解释为什么这会起作用,但无论如何它确实对我有用。