aria-errormessage 和 aria-alert 之间的区别?
difference between aria-errormessage and aria-alert?
我对辅助功能类型还很陌生。对于何时使用 aria-errormessage 以及何时使用 aria-alert 存在混淆。
我需要在 aria-live 区域中显示其中一个。我应该使用哪个?为什么?
这不是 either/or 情况。 aria-errormessage
是 ARIA 1.1 中的新内容。 aria-errormessage
的值是包含错误文本的另一个对象的 ID(类似于 aria-labelledby
和 aria-describedby
)。这是一种 "connect" 您的对象及其相关错误的方法。仅此而已。
aria-live
在您想要宣布更改时使用,当然可以在错误情况下使用,但也可在您更改页面上的文本并希望宣布文本更改时使用,例如,如果您有计时器或股票代码或状态指示器(例如 wifi 连接丢失)。
role="alert"
是一个"shortcut",用于设置aria-live="assertive"
和"aria-atomic="true"
。它将导致宣布 "alert" 一词,然后阅读您的文本更改。错误消息不一定是警报。如果我有一个需要特定格式的输入字段并且我犯了一个错误,应该宣布一个错误,但它并不重要以至于它必须是一个警报。它可以是一个简单的 aria-live="polite"
.
请记住,如果您使用警报(表示自信的 aria-live)并且您有多个警报角色,那么某些警报可以清除其他警报的队列,您只会听到其中一个。
https://www.w3.org/TR/wai-aria-1.1/#aria-live
User agents or assistive technologies MAY choose to clear queued
changes when an assertive change occurs. (e.g., changes in an
assertive region may remove all currently queued changes)
我对辅助功能类型还很陌生。对于何时使用 aria-errormessage 以及何时使用 aria-alert 存在混淆。
我需要在 aria-live 区域中显示其中一个。我应该使用哪个?为什么?
这不是 either/or 情况。 aria-errormessage
是 ARIA 1.1 中的新内容。 aria-errormessage
的值是包含错误文本的另一个对象的 ID(类似于 aria-labelledby
和 aria-describedby
)。这是一种 "connect" 您的对象及其相关错误的方法。仅此而已。
aria-live
在您想要宣布更改时使用,当然可以在错误情况下使用,但也可在您更改页面上的文本并希望宣布文本更改时使用,例如,如果您有计时器或股票代码或状态指示器(例如 wifi 连接丢失)。
role="alert"
是一个"shortcut",用于设置aria-live="assertive"
和"aria-atomic="true"
。它将导致宣布 "alert" 一词,然后阅读您的文本更改。错误消息不一定是警报。如果我有一个需要特定格式的输入字段并且我犯了一个错误,应该宣布一个错误,但它并不重要以至于它必须是一个警报。它可以是一个简单的 aria-live="polite"
.
请记住,如果您使用警报(表示自信的 aria-live)并且您有多个警报角色,那么某些警报可以清除其他警报的队列,您只会听到其中一个。
https://www.w3.org/TR/wai-aria-1.1/#aria-live
User agents or assistive technologies MAY choose to clear queued changes when an assertive change occurs. (e.g., changes in an assertive region may remove all currently queued changes)