页眉和页脚标签是否应位于主标签内

pan*_*hro 21 html5

我正在使用main标签 - 我应该将标题和页脚标签放在主标签内还是应该分开?

另外,主标签是否需要role ="main"?

Édo*_*pez 38

来自HTML5doctor的文章主要元素 @Gaby又名G. Petrioli

TL;博士

经验法则:

  • <main>每页只有一个;
  • 顶级元素(在大多数情况下);
  • 不要将您网站的标题/菜单/页脚(重复内容)放在您的网站中<main>.
  • 如果具体,可以保持文章页眉/页脚.

目的

<main>的主要目的是将ARIA的标志性角色main**映射到HTML中的元素.这将有助于屏幕阅读器和其他辅助技术了解主要内容的开始位置.W3C规范描述为:

规格说

以下是规范草案的内容:

主要内容区域包括与文档的中心主题或应用程序的中心功能直接相关或扩展的内容.

页眉页脚

排除网站的页眉/页脚/菜单:

排除在一组文档中重复的内容,例如网站导航链接,版权信息,网站徽标和横幅和搜索表单(除非文档或应用程序主要功能是搜索表单的功能).

继续使用 role='main'

但作为本文的旁注,史蒂夫·福克纳写道:

在所有浏览器将角色映射到<main>元素之前,您仍应使用ARIA角色.


jan*_*oeh 10

因为它代表了页面的中心部分 - 如果你想要"牛肉" - 并且页眉和页脚被认为是相邻的内容,我认为页眉和页脚不应该是子元素.

理论上,是的,使用<main>确实意味着与添加相同role="main".但由于目前支持有限,<main role="main"> 建议使用.

  • 您永远不应该在同名的元素上使用 `role=` 属性。此属性用于辅助技术,并且已经具有该名称的元素会自动与该角色关联。因此,永远不要放置 `&lt;footer role="footer"&gt;` 或 `&lt;main role="main"&gt;`,这是毫无意义的,并且被认为是不好的做法。 (2认同)

Nix*_*Nix 5

查看规范,它有一个很好的解释:http://www.w3.org/html/wg/drafts/html/master/grouping-content.html#the-main-element

作者不得将主要元素包含为文章的后代、旁白、页脚、页眉或导航元素

该规范仅提到main不能嵌套到任何提到的元素中,但没有说明任何相反的情况。我想说,在大多数情况下,headerandfooter应该与 the 完全分开mainmain保存您的“主要内容”,页眉和页脚通常与之分开。

至于ARIA角色,它应该是隐式的,但暂时建议您手动赋予它角色。正如规范所说:

建议作者在主元素上使用 ARIA role="main" 属性,直到用户代理实现所需的角色映射。