有人可以详细说明aria-live="assertive"
和aria-live="polite"
之间的区别吗?
根据我的理解aria-live="assertive"
将获得更高的优先级并擦除队列,而aria-live="polite"
的优先级低于aria-live="assertive"
,并将继续排队。
答案 0 :(得分:31)
实时区域的行为取决于所使用的浏览器和屏幕阅读器,但您处于正确的轨道上。
此属性的值以重要度表示。当区域被指定为礼貌时,辅助技术将通知用户更新但通常不会中断当前任务,并且更新优先级较低。当区域被指定为断言时,辅助技术将立即通知用户,并可能清除先前更新的语音队列。
WAI-ARIA authoring practices 1.1的使用说明:
aria-live="polite"
只有当用户当前没有做任何事情时,才应宣布对该区域所做的任何更新。住="礼貌"应该在涉及向用户提供新信息的实况区域的大多数情况下使用,例如更新新闻标题。 -
aria-live="assertive"
对该区域进行的任何更新都非常重要,可以尽快向用户公布,但不必立即中断用户。住="自信"必须使用,如果有用户必须立即知道的信息,例如,在动态验证的形式中的警告消息。
关于清除队列(也来自spec):
用户代理或辅助技术 MAY 选择在发生自变更改时清除排队的更改。