html - 我们不应该再使用 <main> 元素了吗?

标签 html semantic-markup

像我的大多数 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/

相关文章:

单击视频查看区域时,html5 视频禁用暂停

html - 为什么宽度在我的媒体查询中没有生效?

css - 设计 9 个 Divs HTML,底部中间的 div 灵活,其余部分固定

css - 什么时候用<strong>什么时候用<b>?

html - 侧边栏的最佳 HTML5 标记

html - 更正网格中内容的语义标签 - html5

html - 我可以使用 <nav> 标签作为文章标签列表吗?

javascript - 如何使用 Javascript 将 HTML/CSS 转换为 PDF?

css - 有没有没有缺点的水平表格布局的 CSS 替代方案?

javascript - 需要帮助编辑响应式菜单的 JavaScript 文件