aria role="alert" 是否在页面加载时公布?

Is aria role="alert" announced on page load?

屏幕阅读器会在页面加载时宣布带有 role="alert" 的内容吗?

我在 MDN 上看到了相互矛盾的建议。

https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Alert_Role 状态:

[T]he alert role is that it is for dynamic content ... if a page loads with multiple visible alerts scattered throughout, none would be read because they are not dynamically triggered.

而另一个 page 声明它可以与静态内容一起使用:

Example 1: Adding the role in the HTML code

The snippet below shows how the alert role is added directly into the html source code. The moment the element finishes loading the screen reader should be notified of the alert. If the element was already in the original source code when the page loaded, the screen reader will announce the error immediately after announcing the page title.

Can/should 警告角色用于静态内容还是仅用于实时区域?

我发现它无法可靠地读出。一些屏幕阅读器会读出警报,但其他屏幕阅读器不会。我们通过将焦点转移到 role="alert" on 的元素来部分解决这个问题,因为这通常也是读取元素的触发器。这也是有道理的,如果页面重新加载并读出一条消息,用户会希望他们的注意力集中在该消息上。

这个 codepen 在展示以不同方式使用 role=alert 的影响方面非常有用:codepen。io/vloux/full/JOwxmO

有一个 discussion in the aria Github repo 关于添加在页面加载时读取的新 属性。无论是否这样做(有一些分歧),行为应该是什么肯定存在差距,需要定义。