簡體   English   中英

h1是否需要成為頭標記中的第一個語義元素?

[英]Does the h1 need to be the first semantic element in a header tag?

我正在使用Chrome outliner擴展來檢查我的頁面的語義。 在文檔主標題標記中的h1之前有任何結構元素似乎是一個問題。 我認為順序無關緊要,但顯然它確實如此:

+Document Body
  +Header
    +nav
      +h1 Main Navigation
    +h1 MyPage
  -Section
  -Footer

是這樣的大綱:

Untitled Body
  Main Navigation
  MyPage
  etc...

但是當h1是我標題中的第一個元素時:

+Document Body
  +Header
    +h1 MyPage
    +nav
      +h1 Main Navigation
  -Section
  -Footer

它的輪廓如下:

MyPage
  Main Navigation
  etc...

這是為什么? 是大綱車,還是我理解HTML5語義中的錯誤? W3C規范似乎沒有提到它: http//dev.w3.org/html5/spec/Overview.html#the-header-element

在重新審視規范后,我同意h1不一定是第一個元素。 我懷疑問題在於您使用的Chrome擴展程序。

我通過這個HTML大綱工具運行了以下兩個場景,並收到了相同的結果(我的導航顯示在我的標題下):

在標題下使用h1第二個元素:

<body>
<header>
<h1>My Header</h1>
<nav><h1>My Navigation</h1></nav>
</header>
<section><h1>My Section</h1></section>
<footer></footer>
</body>

使用標題下的H1第一個元素:

<body>
<header>
<nav><h1>My Navigation</h1></nav>
<h1>My Header</h1>
</header>
<section><h1>My Section</h1></section>
<footer></footer>
</body>

為什么要在頁面標題之外定義另一個<h1>標記? 大綱正在為你的頁面挑選兩個競爭標題,這可能就是被拋棄的原因。 從語義上講,頁面的主標題可以存在於頁面的<header>部分內的任何位置,只要它的唯一性和定義主標題,盡管這不是<header>部分或<h1>的專有屬性。標簽(和意見不同於該描述,但它更健全)。 這里定義了正確的大綱http://www.w3.org/TR/html5/sections.html#outline

您可以使用您想要的任何組合編寫主標題部分,只要正確理解即可。 所以;

<header>
<nav>
<h1>Title of Page</h1>
<h2>Subtitle</h2>
</header>

沒問題,因為您可以正確理解頁面標題和頁面標題的各個部分。

這是一個在線大綱 ,可用於測試您的設計。 您的標題部分應首先高於其他所有部分。

根據規范<header>不需要以<h1>開頭。

標題元素通常包含節的標題(h1-h6元素或hgroup元素),但這不是必需的。 header元素還可用於包裝部分的目錄,搜索表單或任何相關徽標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM