语义菜单上下文

Avatar of Chris Coyier
Chris Coyier on

DigitalOcean 为您旅程的每个阶段提供云产品。从 $200 免费信用 开始!

Scott 深入探讨了 <menu> 元素的历史。他在 1994 年的变更日志 中追溯到 HTML 2(!)时期。当时的氛围似乎是标记一个列表。我怀疑其意图与现在的 <nav> 类似,但我真的不知道。

简而言之:HTML 4 弃用了它,HTML 5 重新引入了它——这次作为“一组命令”——然后 HTML 5.2 又将其弃用。有点可惜,因为它有一些明确的用例。

所以,对于老 <menu> 来说,这真是过山车般的旅程!HTML 进化似乎从来没有轻松的胜利。截至目前,它处于“别费心”的境地。

我写这篇文章的目的是作为对经常说“使用语义 HTML 就能获得免费的可访问性!”这句话的某种反驳。表面上看,这句话大体上是正确的。而且您确实应该在使用适当的地方使用语义 HTML。不幸的是,<menu> 并没有给我们带来太多好处,即使它有明确定义的语义。其预期的语义和我们实际需要的语义,可以用更强大的 <ul> 元素或创建您自己的 role=toolbarmenubar 等来更好地满足。使用这个语义元素仅仅是为了语义本身。

直接链接 →