处理两个 aria-live "assertive" 区域以完成读取

Dealing with TWO aria-live "assertive" regions to be read to completion

有没有办法强制读取两个 aria-live="assertive" 区域?只要他们都读完了,他们的阅读顺序并不重要。

我有一个简单的表单,其中提交按钮有 aria-live="assertive"(由于复杂的原因,无法更改)。每当提交表单出错时,我也会收到一条错误消息。

现在,即使添加 aria-live="assertive" 也永远不会读取错误消息,因为辅助技术只是读取按钮消息,然后刷新队列。

阅读是中途中断,还是从头读到尾,你无从知晓。你也不能确定会是这样。顺便说一句,如果邮件已被阅读、正在阅读或已安排稍后阅读,您现在也不能。

断言模式的通常行为是尽快说出消息,如果需要则打断其他任何事情。 对于所有其余部分,未指定任何内容。 特别是,如果您有两个断言的活动区域,您将无法判断哪个应该优先于另一个,或者是否应该连续读取它们。

从那里,你有两种可能性:

  • 一次使用一个断言区域
  • 使用礼貌的现场区域而不是自信的

拥有多个礼貌的生活区域应该不会造成麻烦,因为它们通常不会相互干扰。 对于错误信息,如果执行得好,礼貌就足够了。