正确支持IE中的html主元素

正确支持IE中的html主元素,html,dom,Html,Dom,我已经决定开始使用html5main元素,因为在某些浏览器中缺乏支持,所以我以前没有使用过它 我知道你可以通过这样做来“修复”缺乏支持的问题: main { display: block; } 但是,我发现,您应该执行以下操作,将其添加到DOM中: document.createElement('main'); 我的问题是-在执行此操作之前,我们是否应该首先检查浏览器是否支持main元素?我不确定最好的方法是什么。。。。或者这不是真的需要,并且在所有页面加载时都可以安全使用,而不管支

我已经决定开始使用html5
main
元素,因为在某些浏览器中缺乏支持,所以我以前没有使用过它

我知道你可以通过这样做来“修复”缺乏支持的问题:

main {
    display: block;
}
但是,我发现,您应该执行以下操作,将其添加到DOM中:

document.createElement('main');

我的问题是-在执行此操作之前,我们是否应该首先检查浏览器是否支持
main
元素?我不确定最好的方法是什么。。。。或者这不是真的需要,并且在所有页面加载时都可以安全使用,而不管支持程度如何?

链接的答案并不准确

 document.createElement('main');
只有IE9和更早版本才需要,通过帮助这些版本正确解析
标记以形成一个工作
元素。但是,正如链接的答案所说,单独调用它是无害的,因此您可以直接这样做,而不必担心它被不恰当地调用。但是,如果您支持9或更早版本的IE,则应在标记中的第一个(通常仅限于)
标记之前在JavaScript中同步包含其包含脚本

IE10和IE11正确解析标记,但将创建的
main
元素视为内联元素。要使其风格类似于其他浏览器,请使用

main {
    display: block;
}

另一个要考虑的方面是可访问性地标角色。IE默认情况下不会公开主要的里程碑角色,因此您可能希望通过

来实现这一点,但需要注意的是,HTML5规范不鼓励这样做。

@Rob您是否阅读了问题或主题行?他们完全不一样。回答得很好-谢谢!另外,关于可访问性部分的好的旁注。干杯