像我的大多数 SO 问题一样,这个问题源于我无法找到最新的 Google 结果。
<main>
已经将近 3 年了被接受到 HTML5.1 规范中。使用它似乎具有完美的语义意义:
<header></header>
<main></main>
<footer></footer>
但我看到很多语义支持的网站(如 CanIUse 和 CSS-Tricks )只是忽略该元素,而是使用类似的东西:
<header></header>
<div class="main-wrapper">
<!--no ARIA role, nothing to semantically indicate "main" content-->
</div>
<footer></footer>
我觉得我错过了一些关于每个人如何需要停止使用 <main>
的讨论谷歌没有帮我找到那个对话。该元素是否被认为是不必要的(即客户并不真正解析它)?
现在看来IE never ended up supporting it (没有 polyfill),但这就是人们不使用它的原因吗?我见过的相同网站使用 div.main-wrapper
做很多仍然需要 IE 的 polyfill 的事情。为什么不继续使用 <main>
的语义优势呢? ,只需要 1 行 JS shiv 和 display:block
?
最佳答案
(i.e. clients don't really ever parse for it)?
除 IE 外,所有主流浏览器都实现了主要元素的解析/样式和语义映射(role=main),Edge 实现了。 3 年对于一个新元素的吸收而言并不算长(尽管它的使用率已经比几年前添加的其他一些新元素高得多)。它的使用随着时间的推移稳步增长(如果您愿意,可以从 http://webdevdata.org 中获取数据)。
所有主要屏幕阅读器都支持将主要元素语义作为地标导航的一部分。
63% of screenreader users sometimes/ often/ always use landmarks/ regions (so add them, or I’ll spank you). - Bruce Lawson
关于html - 我们不应该再使用 <main> 元素了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32382555/