繁体   English   中英

NVDA不在单个网页上读取多个aria-live标签。

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM