2025年7月30日水曜日

HTMLの記述で、navタグはheaderタグ内に書くものなのですか?

 


HTMLにおける<nav>タグは、必ずしも<header>内に書かなければならないわけではありません。 どちらかというと、それぞれのタグが持つ意味と役割によって、配置の仕方が変わります。

<header>タグの役割

<header>タグは、セクションやドキュメントの導入的な内容(イントロダクション)を表します。ここには、見出し、ロゴ、検索フォーム、そして主要なナビゲーションなどが含まれることがあります。

<nav>タグの役割

<nav>タグは、現在のドキュメントまたは関連ドキュメントの他の部分へのナビゲーションリンクのセクションを表します。これは、サイトの主要なメニュー、目次、パンくずリストなど、ナビゲーション目的のリンクグループに使用されます。

なぜ<header>内に<nav>を書くことが多いのか

多くのウェブサイトで、メインのナビゲーション(グローバルナビゲーション)はページのヘッダー部分に配置されています。これはユーザーがサイトにアクセスしたときに、すぐにサイト全体の構造を理解し、目的のページに移動できるようにするためです。

したがって、メインのナビゲーションがページの導入部分の一部であると考える場合、<header>内に<nav>を配置するのは非常に一般的で、セマンティクス(意味)的にも適切です。

例:

HTML
<header>
    <h1>サイトのタイトル</h1>
    <img src="logo.png" alt="ロゴ">
    <nav>
        <ul>
            <li><a href="/">ホーム</a></li>
            <li><a href="/about">会社概要</a></li>
            <li><a href="/services">サービス</a></li>
            <li><a href="/contact">お問い合わせ</a></li>
        </ul>
    </nav>
</header>

<header>外に<nav>を書くケース

しかし、<nav><header>の外に配置されることもあります。これは、ナビゲーションがページの導入部分ではなく、別のセクションに属する場合です。

考えられるケースとしては:

  • フッターナビゲーション: サイトマップやプライバシーポリシーなど、フッターにあるナビゲーション。

    HTML
    <footer>
        <nav>
            <ul>
                <li><a href="/sitemap">サイトマップ</a></li>
                <li><a href="/privacy">プライバシーポリシー</a></li>
            </ul>
        </nav>
    </footer>
    
  • サイドバーナビゲーション: 特定のセクション内でのみ有効なサブナビゲーションなど。

    HTML
    <aside>
        <h2>関連情報</h2>
        <nav>
            <ul>
                <li><a href="#section1">セクション1</a></li>
                <li><a href="#section2">セクション2</a></li>
            </ul>
        </nav>
    </aside>
    
  • パンくずリスト: ページ階層を示すナビゲーションは、コンテンツ領域の上部に配置されることが多いです。

まとめ

結論として、<nav>はページの主要なナビゲーションであれば<header>内に書くのが一般的かつ推奨されますが、ナビゲーションの種類やページのレイアウトによっては、<header>以外の適切な場所に配置することも全く問題ありません。重要なのは、その<nav>がどのような役割のナビゲーションであり、ページのセマンティクスに沿っているかということです。

0 件のコメント:

コメントを投稿