2016-01-20 91 views
0

例如,如果我想要把H1在左栏和内容设置在右列:我可以在同一页面使用多个“主”html标签吗?

<div class="left-column"> 
<main> 
    <h1>Document Title</h1> 
</main> 
</div> 
<div class="right-column"> 
<main> 
    <p>Text content<p> 
</main> 
</div> 

它是正确的吗?谢谢!

+1

这取决于您选择的标准。 W3C HTML5 =否WHATWG HTML生活标准=是。 – Alohci

+0

请参阅https://github.com/whatwg/html/issues/100 – Alohci

回答

6

简短的回答是肯定的,你可以。但是,W3C spec禁止它,而WHATWG spec允许它。由于main元素的作者写了W3C版本,并且与WHATWG的解释不一致,所以我会推迟到那里。 WHATWG规范与W3C规范对齐也有一个开放的bug。

但是,您应该不要认为main的最佳用途涉及支持辅助技术(AT)(例如屏幕阅读器)。它也映射到主要的ARIA角色,因此它有一个直接的映射期望。

AT用户可以快速导航到main元素,该元素代表页面的主要内容。如果您使用多个内容,那么这些用户可能永远不会看到它,因为他们预计不会有一个以上的主要内容块(WHATWG的缺陷报告如AT所述)。

此外,HTML验证器会抛出一个错误,这可能是也可能不是一个问题。

在大多数情况下,多个article元素可以嵌套一个main内以实现定型钩期望的效果。

我没有足够的代表点发布超过2个链接,否则我会提供更多的材料。

1

我认为不是 - 文档中不能有多于一个<main>元素。 <main>元素不能是<article>,<aside>,<footer>,<header><nav>元素的后代。

0

这里是对准

<div class="left-column"> 
 
<main> 
 
    <h1 align="left">Document Title</h1> 
 
</main> 
 
</div> 
 
<div class="right-column"> 
 
<main> 
 
    <p align="right">Text content<p> 
 
</main> 
 
</div>

相关问题