2016-01-20 77 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>

相關問題