侧边栏中的语义HTML导航
我有一个侧边栏,其中包含应用程序的主导航。它还包含一个侧边栏中的语义HTML导航,html,navigation,accessibility,wai-aria,Html,Navigation,Accessibility,Wai Aria,我有一个侧边栏,其中包含应用程序的主导航。它还包含一个按钮,可触发侧边栏的打开/关闭。就语义而言,标记应该是什么样子 我应该把侧边栏放在一边,然后只在周围放一个导航吗 主导航,不包括打开/关闭触发器 或者将整个侧栏包装在nav中,包括打开/关闭触发器 或者将侧栏包装在部分,其中包含导航,不包括 打开/关闭触发器 或者没有任何部分或旁边的部分,但只有导航,不包括触发器,在这种情况下,我仍然遵循以下最佳实践。是否应将触发器视为内容?或者应该是网页大纲的一部分 [W3][1]建议: 最好的做法是将
按钮
,可触发侧边栏的打开/关闭。就语义而言,标记应该是什么样子
- 我应该把侧边栏放在一边,然后只在周围放一个导航吗 主导航,不包括打开/关闭触发器
- 或者将整个侧栏包装在
中,包括打开/关闭触发器nav
- 或者将侧栏包装在
,其中包含部分
,不包括 打开/关闭触发器导航
- 或者没有任何
或旁边的部分
,但只有部分
,不包括触发器,在这种情况下,我仍然遵循以下最佳实践。是否应将触发器视为内容?或者应该是网页大纲的一部分导航
- 主导航
- 导航项目1
- 导航项目2
- 打开/关闭侧栏的触发器
- 该
如果切换对屏幕阅读器没有任何好处,请考虑使用aria hidden=“true”隐藏屏幕阅读器的切换按钮。
确认!请不要那样做!切换应该适用于所有人,并且绝对应该在菜单上设置CSSdisplay:none
。如果有视力的用户想要折叠菜单以帮助减少视觉混乱,屏幕阅读器也应该能够折叠菜单以减少声音混乱。我大体上同意。我见过一些解决方案,其中切换的唯一目的是为查看底层内容提供更多的屏幕空间,并且故意让菜单始终“可见”,以便屏幕读者轻松导航到它作为地标。在这种情况下,切换按钮对屏幕阅读器用户没有任何改变。对于上面提出的解决方案(以及大多数其他解决方案),我个人更倾向于保留打开/关闭选项。让SR用户始终“可见”会使SR用户更难浏览隐藏的内容。
<nav aria-label="Primary”>
<button aria-hidden="true">Toggle menu</button>
<ul>
<li>
<a href="#">Link 1</a>
</li>
<li>
<a href="#">Link 2</a>
</li>
</ul>
</nav>