列表中的导航总结

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元免费额度!

最近关于 列表中标记导航(或不标记)的帖子引发了近 200 条评论,这些评论大多是对该主题的精彩讨论。 我认为总结重要的要点将会有益。

“反对” 列表中的导航

  • 至少有一位屏幕阅读器用户更喜欢没有列表的导航,这正是最初文章的起源。
  • 更简单的标记。 nav > anav > ul > li > a 更简单/更少。
  • Div 和 span 可以一样好,特别是与 ARIA 角色一起使用时

“支持” 列表中的导航

  • 宣布列表中项目的数量可能会有所帮助
  • 对非 CSS 浏览器中结构的益处(Lynx 屏幕截图
  • 长期存在的模式,尚未被证明是一个普遍的大问题
  • 列表是屏幕阅读器的“钩子”(例如,按 L 键打开列表)并很好地显示层次结构
  • 安全:列表中只能包含列表项,导航则不然

平局

  • 额外的标记对于样式设置很有帮助。 我称之为平局,因为它很真实,但有点牵强。 我可以在页面上的每个 div 中包装另一个 div,这可能在将来对样式设置有所帮助。
  • 您无法在 <ul> 上使用 role=navigation(“允许的角色值是 directory、listbox、menu、menubar、tablist、toolbar、tree 和 presentation”。)我称之为平局,因为在这两种情况下,您都应该将导航包装在 <nav role="navigation"> 中。
  • 屏幕阅读器的“冗长性”是可选择的。 列表更冗长,但可以进行调整。
  • VoiceOver 处理方式完全相同
  • 规范也不在乎哪种方式。

相关

  • 无障碍不仅仅是屏幕阅读器

“赢家”?

就我个人而言,我认为将导航标记为列表似乎是最好的选择。 不过,您可以查看事实并自行决定。

“将无障碍留给专家”

Dennis Lembree 认为我不应该谈论这些东西,因为我不是专家。 我觉得要点是我在最初的文章中就断定列表不好,而我的煽动性言论会损害互联网。 我不这么认为。 我认为我得到了一套新的事实,这些事实对旧的最佳实践提出了质疑,我将开始对此进行讨论。 我认为,在讨论开始之前就关闭讨论,对互联网的伤害更大。 也就是说,我鼓励任何时候对本博客、我的文章和我本人进行建设性的批评。