我正在使用main
标签 - 我应该将我的头部(header)和脚部(footer)标签放在main
标签内还是它们应该是独立的?
此外,main
标签需要添加role="main"吗?
我正在使用main
标签 - 我应该将我的头部(header)和脚部(footer)标签放在main
标签内还是它们应该是独立的?
此外,main
标签需要添加role="main"吗?
来自HTML5doctor文章 The main element @Gaby aka G. Petrioli
经验法则:
<main>
;<main>
中。
<main>
的主要目的是将ARIA的地标角色main映射到HTML中的一个元素。这将帮助屏幕阅读器和其他辅助技术了解主要内容的开始位置。 W3C规范描述为:
这是草案规范所说的:
主要内容区域包括与文档的中心主题或应用程序的核心功能直接相关或扩展的内容。继续使用排除一组文档中重复出现的内容,例如站点导航链接、版权信息、站点标志和横幅以及搜索表单(除非文档或应用程序的主要功能是搜索表单)。
role ='main'
但是在本文中,史蒂夫·福克纳还写道:
在所有浏览器将角色映射到<main>元素之前,仍应使用ARIA角色。
由于它代表页面的核心部分 - 如果你愿意的话,就是页面的"肉" - 而且标题和页脚被认为是相邻内容,我认为标题和页脚不应该是子元素。
理论上,是的,使用<main>
的意思与添加role="main"
是一样的。但由于目前的支持有限,建议使用<main role="main">
。
role=
属性。该属性用于辅助技术和已经具有该名称的元素自动与角色相关联。因此,永远不要在<footer role="footer">
或<main role="main">
中使用它,这是毫无意义且被认为是一种不良实践。 - pjk_okmain
元素作为有很多方法可以解释语义,但我建议使用头部和尾部作为单独的元素,不要放在主标签中间,而是放在中间。
<header></header>
<main role="main"></main>
<footer></footer>
<main role="main">
<header></header>
<footer></footer>
</main>