【发布时间】:2014-04-28 06:56:54
【问题描述】:
我的问题是关于语义 HTML5。
如果主导航不是设计的标题的一部分,但仍然是站点范围的,那么它是否应该嵌套在 <main> 标记中?
W3C 规范声明了<main> 标签:
“文档或应用程序正文的主要内容。主要内容区域由与文档中心主题或应用程序中心功能直接相关或扩展的内容组成。”
对我来说,这表明我应该将<nav> 放在<main> 之外,如下所示:
<body>
<header>
[...]
</header>
<nav>
[...]
</nav>
<main>
[...]
</main>
<footer>
[...]
</footer>
</body>
我还知道<main> 标签可以与<header> 和<footer> 一起使用,并有效地包含这两个标签之间的所有内容:
<body>
<header>
[...]
</header>
<main>
<nav>
[...]
</nav>
[...]
</main>
<footer>
[...]
</footer>
</body>
哪一个在语义上更正确?有关系吗?
<main> 标签上的所有最可靠来源都可以通过将主导航嵌套在标题中或使导航与内容直接相关来方便地避免示例中的问题。
我想这可能会带来多少设计应该决定语义标记?
我还对在整个网站上重复出现且与页面主题没有直接关系的侧边栏 <aside> 是否应该嵌套在 <main> 标记中感兴趣,但我认为这将是涵盖了我的主要问题的答案。
【问题讨论】:
标签: html semantic-markup