我对可访问性类型不熟悉。关于什么时候使用aria-errormessage和什么时候使用aria-alert存在混淆。我需要在aria-live区域中显示其中一个。我应该使用哪一个,为什么?
aria-errormessage
aria-alert
aria-live
kx7yvsdv1#
这不是非此即彼的情况。aria-errormessage是ARIA 1.1中的新功能。aria-errormessage的值是包含错误文本的另一个对象(类似于aria-labelledby和aria-describedby)的ID。这是一种将对象与其关联的错误“连接”的方法。这就是全部。aria-live用于当你想要更改时,当然可以在错误情况下使用,但也可以在你更改页面上的文本并想要文本更改时使用,例如如果你有一个计时器或股票报价机或状态指示器(例如如果WiFi连接丢失)。role="alert"是设置aria-live="assertive"和"aria-atomic="true"的“快捷方式”。它将导致单词“alert”被宣布,然后您的文本更改被读取。错误消息不一定是警报。如果我有一个需要某种格式的输入字段,我犯了一个错误,一个错误应该被宣布,但它不是那么严重,它必须是一个警报。它可以是一个简单的aria-live="polite"。请记住,如果您使用alert(意思是aria-live或assertive),并且您有多个警报角色,则某些警报可以清除其他警报的队列,并且您只能听到其中一个警报。https://www.w3.org/TR/wai-aria-1.1/#aria-live用户代理或辅助技术MAY在发生Assert更改时选择清除排队的更改。(例如,Assert区域中的改变可以移除所有当前排队的改变)
aria-labelledby
aria-describedby
role="alert"
aria-live="assertive"
"aria-atomic="true"
aria-live="polite"
1条答案
按热度按时间kx7yvsdv1#
这不是非此即彼的情况。
aria-errormessage
是ARIA 1.1中的新功能。aria-errormessage
的值是包含错误文本的另一个对象(类似于aria-labelledby
和aria-describedby
)的ID。这是一种将对象与其关联的错误“连接”的方法。这就是全部。aria-live
用于当你想要更改时,当然可以在错误情况下使用,但也可以在你更改页面上的文本并想要文本更改时使用,例如如果你有一个计时器或股票报价机或状态指示器(例如如果WiFi连接丢失)。role="alert"
是设置aria-live="assertive"
和"aria-atomic="true"
的“快捷方式”。它将导致单词“alert”被宣布,然后您的文本更改被读取。错误消息不一定是警报。如果我有一个需要某种格式的输入字段,我犯了一个错误,一个错误应该被宣布,但它不是那么严重,它必须是一个警报。它可以是一个简单的aria-live="polite"
。请记住,如果您使用alert(意思是aria-live或assertive),并且您有多个警报角色,则某些警报可以清除其他警报的队列,并且您只能听到其中一个警报。
https://www.w3.org/TR/wai-aria-1.1/#aria-live
用户代理或辅助技术MAY在发生Assert更改时选择清除排队的更改。(例如,Assert区域中的改变可以移除所有当前排队的改变)