accessibility - JAWS 不会将 ul 和 li 元素作为列表读取

标签 accessibility jaws-screen-reader nvda

NVDA 读取正确。 JAWS read only Link 1, Link 2 (content is Link 1, Link 2), but do not read that is a list

list-style-type: none;

html:

<ul role="list" class="content-links">
        <sly data-sly-list.link="${model.links}">
            <li role="listitem">
                <a href="${link.href @ context='html'}" aria-label="${link.label}" rel="${link.rel}"
                   tms-dblclick="${link.tracking.tmsDblClick}" data-pid="${link.tracking.vadm.pin}" data-pid-action="${link.track.vadm.pinAction}">
                    ${link.label}
                </a>
            </li>
        </sly>
</ul>

最佳答案

您的代码是正确的(除了您指定的多余角色,正如@shannon 所指出的)。不幸的是,这就是 JAWS 的工作方式。当您tab 到包含在列表中的链接时,会读取链接文本,而不会读取链接包含在列表中的事实。但是,如果您在 JAWS 中使用向上/向下箭头键导航 DOM,则当您导航到链接时,您在听到链接文本之前听到“3 项列表”。当您向下箭头经过列表时,您会听到“列表结束”。 native JAWS 用户已经习惯了它(但这并不是正确的用户体验。)

关于accessibility - JAWS 不会将 ul 和 li 元素作为列表读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51930563/

相关文章:

javascript - 如何使屏幕阅读器自动读取单元格内容?

javascript - 带有 e.key === 'Enter' 的 JS 函数在屏幕阅读器 (NVDA) 浏览模式下不会触发

android - fragment 在替换后没有获得可访问性焦点

html - 为什么 `a` 标签需要 `tabindex=0` ?

javascript - jQuery UI 对话框和 aria 控件

javascript - 使用 ext.js 4 渲染 "normal"复选框

internet-explorer - JAWS 运行时,浏览器的 Ctrl+f 不起作用

辅助功能 - 提供在交互部分之间轻松导航的机制

JavaScript 按键功能和 JAWS