[英]NVDA isn't reading multiple aria-live tags on single web page.
我在网页上使用多个aria-live标签,并且当网页上显示错误时,NVDA仅读取第一个错误消息,而不是全部。 我的用户aria-live =“ assertive”也尝试过aria-live =“ polite”,但无法正常工作,谁能为它提供一些解决方案。 下面是我的代码:
<div>
<input type="text" name="username" tabIndex="0"/>
<span class="usernameerr" role="alert" aria-live="assertive">Enter User Name</span>
</div>
<div>
<input type="passowrd" name="password" tabIndex="0"/>
<span class="passworderr" role="alert" aria-live="assertive">Enter Password</span>
</div>
<div>
<input type="text" name="repassword" tabIndex="0"/>
<span class="repassworderr" role="alert" aria-live="assertive">Renter Password</span>
</div>
<div>
<input type="submit" tabIndex="0"/>
</div>
帮助将不胜感激。
如果您具有role=alert
,则意味着aria-live=assertive
。 当您具有aria-live=assertive
,屏幕阅读器可能会清除挂起的消息队列。 因此,如果您有三个主张性的领域,他们可能会互相加强并清除其他消息。 最后一个可能会获胜。
参见https://www.w3.org/TR/wai-aria-1.1/#aria-live 。 它说:“用户代理或辅助技术可以选择在发生肯定性更改时清除排队的更改。”
因此,您可能会听到一个屏幕阅读器而不是另一个屏幕阅读器的问题。 您可以通过删除role=alert
并将 aria-live
更改为polite
。 (您说过您尝试使用aria-live=polite
尝试,但是如果您不删除alert
角色,那么它仍然会是assertive
。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.