html - 如何使隐藏链接对屏幕阅读器可见而不是标签导航

标签 html css accessibility wai-aria

我正在尝试找出一种隐藏/显示内容的可访问方式,这样当内容被隐藏时,屏幕阅读器仍然可以“看到”它,但键盘用户不会被迫在不可见的链接之间切换。

考虑以下内容:

<button onclick="(function(e){ document.getElementById('nav').classList.toggle('active') })()" class="menu-toggle">Toggle Menu</button>
<nav id="nav" class="nav">
<a href="#home">Home</a>
<a href="#about">About</a>
<a href="#contact">Contact</a>
</nav>

如果你想看到它与我创建的 CSS 一起运行 this codepen .

我要解决的问题是,当菜单被隐藏时,键盘用户仍然会在隐藏的链接中切换。我想以一种不会使链接对屏幕阅读器不可见的方式来防止这种行为(例如:display: none;)。

我也不想在第二个“仅屏幕阅读器”副本中复制菜单标记。欢迎任何其他想法。

最佳答案

I'm trying to figure out a accessible way to hide/show content such that when the content is hidden, screen readers can still "see" it but keyboard users aren't forced to tab through invisible links.

屏幕阅读器用户(主要)是键盘用户,因此为他们移除键盘使用不是一种选择。

另一方面,一些视力不佳的屏幕阅读器用户可能仍会使用鼠标。通过宣布一个在屏幕上不可见的链接,这将导致人们无法查看和点击宣布的链接的可访问性问题。

关于html - 如何使隐藏链接对屏幕阅读器可见而不是标签导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47947399/

相关文章:

android - 嵌套 ScrollView 中 subview 的辅助功能焦点

html - 在可访问菜单(html 格式)、制表符或箭头键中移动焦点的当前最佳做法是什么?

javascript - 将按钮转换为表单(展开)

html - 对齐中心侧边 Material 2

javascript - 如何编辑引导模式继承的 CSS

html - JAWS 屏幕阅读器忽略 SPAN 标签

html - 如何在 HTML5 中隐藏视频标签的全屏按钮

html - 需要有关导航侧边栏和内容 CSS 的帮助

HTML 代码在 Firefox 中无法正常工作

ios - 在 VoiceOver 打开时设置不同的行为,在带有按钮的堆栈 View 中