aria-errormessage 和 aria-alert 之间的区别是什么?

4
我对辅助功能类型还不太熟悉。关于何时使用aria-errormessage和何时使用aria-alert存在一些困惑。
我需要在一个aria-live区域中显示其中之一。我应该使用哪个,为什么?
1个回答

5
这不是非此即彼的情况。aria-errormessage 是ARIA 1.1中的新功能。 aria-errormessage 的值是另一个对象(类似于aria-labelledbyaria-describedby)的ID,该对象包含您的错误文本。 这是将您的对象与其关联的错误“连接”的一种方式。 就是这样简单。 aria-live 用于在更改时进行公告,并且当然可以在错误条件下使用,但也用于在更改页面上的文本并希望宣布文本更改时使用,例如如果您有计时器或股票行情或状态指示器(例如wifi连接丢失)。

role="alert" 是设置 aria-live="assertive""aria-atomic="true" 的 "快捷方式"。它会先宣布单词 "alert",然后读出您的文本更改。错误消息不一定是警报。如果我有一个需要特定格式的输入字段,而我犯了一个错误,应该宣布错误,但不必非得是警报。它可以是简单的 aria-live="polite"

请注意,如果您使用警报(即 assertive 的 aria-live),并且您有几个警报角色,则某些警报可能会清除其他警报的队列,因此您只会听到其中一个。

https://www.w3.org/TR/wai-aria-1.1/#aria-live

当发生assertive变化时,用户代理或辅助技术可能选择清除已排队的更改。(例如,在assertive区域中的更改可能会删除所有当前排队的更改)


我需要在可访问性方面再多些帮助。一些内容在屏幕阅读器中没有被朗读出来,而且iframes也无法被朗读。您能否给我您的电子邮件地址,以便我可以直接发送邮件给您? - nitesh bhargav
一个 <iframe> 可以使用 title 属性本身拥有标签。当你通过接口按 tab 键时,iframe 的内容将像任何其他对象一样被读取。如果你有其他无障碍问题,最好首先使用 [accessibility] 标签搜索 stackoverflow(就像你标记了你的问题),如果没有找到,再发布你的问题。其他人可能也对这个问题和答案感兴趣。否则,我是一名高级无障碍专家,可以承包工作,可供雇用。在你的 stackoverflow 个人资料中添加联系信息,我会与你联系。 - slugolicious

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接