0
我添加了下面的一段代码,使屏幕阅读器读取的警告消息:角色=“警报”只是工作首次
<aside aria-live="assertive" aria-atomic="true" role="alert" ng-show="login.hasWarning();" translate="{{message}}"></aside>
<form>
<!--form content-->
</form>
它可以完美的第一次,但是当我再次提交错误时,它不会再次读取更新的错误消息。我错过了什么?
在此先感谢。
嗨朱莉,谢谢你的回答。 –
你知道为什么所有主要的屏幕阅读器(JAWS/VoiceOver/NVDA)都选择这么做吗?是否有任何解决方法,比如在消息结尾处添加随机空白等,以便屏幕阅读器再次阅读它? –
因为这是WAI-ARIA规范。 (https://www.w3.org/TR/wai-aria/states_and_properties#aria-live)SR正在读取对活动区域的更改。如果您的更新不是更改,则SR不会读取它。在消息的开头和结尾添加空格可能适用于VoiceOver,并且可能不适用于JAWS。如果您对JAWS可能会说“空白错误101”而不是“错误101”感到满意,请运行$(“[aria-live]”)。text(“”); $(“[aria-live]”)。text(“Error 101”);至少会被阅读。 – Juli