web-dev-qa-db-ja.com

メニュータイトル(h1、h2、h3 ...)は<nav>タグの内側または外側にあるべきですか?


HTML5で簡単なメニューを書きたいとしましょう。

私はこのように書かなければなりません:

<h1>My Menu</h1>
<h2>Submenu 1</h2>
<nav>
    <ul>
        <li><a href="#">Link 1</a></li>
        <li><a href="#">Link 2</a></li>
        ...
    </ul>
</nav>
<h2>Submenu 2</h2>
<nav>
    <ul>
        <li><a href="#">Link 1</a></li>
        <li><a href="#">Link 2</a></li>
        ...
    </ul>
</nav>

またはこのように:

<nav>
    <h1>My Menu</h1>
    <h2>Submenu 1</h2>
    <ul>
        <li><a href="#">Link 1</a></li>
        <li><a href="#">Link 2</a></li>
        ...
    </ul>
    <h2>Submenu 2</h2>
    <ul>
        <li><a href="#">Link 1</a></li>
        <li><a href="#">Link 2</a></li>
        ...
    </ul>
</nav>

言い換えれば、タイトルは<nav>タグの内側または外側にあるべきですか?

ありがとう。

5
Marc-François

HTML5仕様によれば、「nav」は「セクション」であり、セクションは「見出しとフッターの範囲を定義するコンテンツ」です。 navセクションのW3Cの例は、navにhタグを示しています。

http://www.w3.org/TR/html5/sections.html#the-nav-element

12
bogeymin

hタグは、ページのコンテンツの構造用です。ナビゲーションがページのコンテンツの一部であるとは思わないので、ナビゲーションにhタグを含めることは意味がありません。

2