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

Phi*_*une 5 html5 semantic-markup

像我的大多数SO问题一样,这一问题源于我无法找到最新的Google结果。

自从<main>HTML5.1规范被接受以来已经快三年了。使用似乎具有完美的语义意义:

<header></header>
<main></main>
<footer></footer>
Run Code Online (Sandbox Code Playgroud)

但是我看到很多基于语义的站点(例如CanIUse CSS-Tricks)只是忽略了元素,而使用了类似的东西:

<header></header>
<div class="main-wrapper">
    <!--no ARIA role, nothing to semantically indicate "main" content-->
</div>
<footer></footer>
Run Code Online (Sandbox Code Playgroud)

我感觉好像错过了一些有关每个人都需要停止使用的对话,<main>而Google并没有帮助我找到那个对话。该元素是否被认为是不必要的(即客户实际上从未对其进行解析)?

现在看来IE从未停止支持它(没有polyfill),但这就是为什么人们不使用它吗?我见过的相同站点使用的div.main-wrapper很多东西仍然需要IE的polyfill。为什么还不使用的语义优势<main>,它仅需要1行JS shiv和a display:block

xdh*_*ore 1

我猜这是先有鸡还是先有蛋的问题。如果客户没有用它做任何特别的事情,那么在网站中使用它就没有多大意义。如果采用率很低,那么一些客户对其做任何事情就没有多大意义。我猜想这个问题并没有给大多数用户和开发人员带来足够的痛苦。