【发布时间】:2019-08-23 04:57:51
【问题描述】:
有人可以详细说明aria-live="assertive" 和aria-live="polite" 之间的区别吗?
据我了解,aria-live="assertive" 将获得更高的优先级并清除队列,而 aria-live="polite" 的优先级低于 aria-live="assertive",并将继续使用队列。
【问题讨论】:
标签: wai-aria
有人可以详细说明aria-live="assertive" 和aria-live="polite" 之间的区别吗?
据我了解,aria-live="assertive" 将获得更高的优先级并清除队列,而 aria-live="polite" 的优先级低于 aria-live="assertive",并将继续使用队列。
【问题讨论】:
标签: wai-aria
活动区域的行为取决于所使用的浏览器和屏幕阅读器,但您走在正确的轨道上。
此属性的值以重要程度表示。当区域被指定为礼貌时,辅助技术将通知用户更新但一般不会中断当前任务,并且更新优先级较低。当区域被指定为断言时,辅助技术将立即通知用户,并可能清除先前更新的语音队列。
来自WAI-ARIA authoring practices 1.1的使用说明:
aria-live="polite"只有当用户当前没有做任何事情时,才应该宣布对该区域所做的任何更新。 live="polite" 应该用在涉及向用户呈现新信息的实时区域的大多数情况下,例如更新新闻标题。 -
aria-live="assertive"对该区域所做的任何更新都足够重要,可以尽快向用户宣布,但不必立即打断用户。如果存在用户必须立即了解的信息,例如,动态验证的表单中的警告消息,则必须使用 live="assertive"。
关于清除队列(也来自spec):
用户代理或辅助技术可以选择在发生断言更改时清除排队的更改。
【讨论】: