Aria、Dialog 和 Div 以及带有 NVDA 的选项卡索引

发布于 2024-12-14 07:19:14 字数 348 浏览 0 评论 0原文

我试图弄清楚为什么 NVDA 不讲具有 tabindex 的 div 的内部 HTML。下面的片段位于 jquery-ui-dialog 内,其 aria 角色为dialog。如果我删除 aria-label,然后按 Tab 键切换到此部分,NVDA 只会显示“部分”。如果我留下咏叹调标签,它就会说话。有没有办法让它说出内部 HTML 而无需到处复制文本?

 <div class="current-chapter" tabindex="0" aria-label="Chapter 1 of 10">
                Chapter 1 of 10
            </div>

I am trying to figure out why NVDA isnt speaking the inner HTML of a div that has a tabindex. The snipped below is inside a jquery-ui-dialog with an aria role of dialog. If I remove the aria-label, and I tab to this section NVDA just says "section". If I leave the aria-label, it speaks it. Is there a way to have it say the inner HTML without duplicating the text everywhere?

 <div class="current-chapter" tabindex="0" aria-label="Chapter 1 of 10">
                Chapter 1 of 10
            </div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

楠木可依 2024-12-21 07:19:15

aria-scribedby 可以用于此目的,例如:

<div role="dialog" aria-describedby="dialogBody">
    <div id="dialogBody">
         Chapter 1 of 10
    </div>
</div>

可能是带有 id 的跨度也可以。

aria-describedby can be used for this, e.g.:

<div role="dialog" aria-describedby="dialogBody">
    <div id="dialogBody">
         Chapter 1 of 10
    </div>
</div>

May be span with the id would work too.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文