【问题标题】:difference between aria-errormessage and aria-alert?aria-errormessage 和 aria-alert 之间的区别?
【发布时间】:2018-07-27 08:58:20
【问题描述】:

我对可访问性类型不熟悉。关于何时使用 aria-errormessage 和何时使用 aria-alert 存在混淆。

我需要在 aria-live 区域显示其中之一。我应该使用哪个?为什么?

【问题讨论】:

    标签: html attributes accessibility uiaccessibility


    【解决方案1】:

    这不是非此即彼的情况。 aria-errormessage 是 ARIA 1.1 中的新功能。 aria-errormessage 的值是包含错误文本的另一个对象的 ID(类似于 aria-labelledbyaria-describedby)。这是一种将对象与其关联的错误“连接”的方法。仅此而已。

    aria-live 在您希望宣布更改时使用,当然可以在错误情况下使用,但也可以在您更改页面上的文本并希望宣布文本更改时使用,例如如果您有计时器或股票自动收报机或状态指示器(例如 wifi 连接丢失)。

    role="alert" 是设置aria-live="assertive""aria-atomic="true" 的“快捷方式”。它将导致“警报”一词被宣布,然后您的文本更改被读取。错误消息不一定是警报。如果我有一个需要某种格式的输入字段并且我犯了错误,则应该宣布一个错误,但它并不那么重要,以至于它必须是一个警报。可以是简单的aria-live="polite"

    请记住,如果您使用警报(意思是自信的 aria-live)并且您有多个警报角色,那么某些警报可以清除其他警报的队列,而您只会听到其中一个。

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

    用户代理或辅助技术可以选择清除队列 发生积极的变化时发生变化。 (例如,改变 自信区域可能会删除所有当前排队的更改)

    【讨论】:

    • 我需要更多关于无障碍环境的帮助。某些内容不会在屏幕阅读器中读出,并且 iframe 也不会被读取。能否请您给我您的邮件 ID,以便我可以直接邮寄给您。
    • <iframe> 本身可以有一个使用title 属性的标签。当您通过界面进行选项卡时,iframe 的内容将像任何其他对象一样被读取。如果您有其他可访问性问题,最好先使用 [accessibility] 标签(就像您标记了您的问题一样)搜索 stackoverflow,如果没有找到,请发布您的问题。其他人也可能对问题和答案感兴趣。否则,我是一名高级可访问性专家,可以外包并可供雇用。将您的联系信息添加到您的 stackoverflow 个人资料中,我可以联系您。
    猜你喜欢
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    • 2015-09-15
    • 1970-01-01
    相关资源
    最近更新 更多