

中嶋悟
名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝
navとulの違いを理解するための全体像
最初に結論を伝えます。navはウェブサイトの中で「場所を示すナビゲーション」を意味するタグで、サイトの導線をまとめて表現する区域を指します。対してulは「順序のないリスト」を表すタグで、複数の項目を並べて表示するための枠組みです。つまり<nav>は役割を示し、<ul>は構造を作る手段という違いです。この二つを正しく使い分けると、読みやすさやアクセシビリティ、SEOの観点で効果が上がります。
具体的には、ナビゲーションの全体を<nav>で囲み、中に実際のリンクは<li>で並べた<ul>のリスト構造を入れるのが基本形です。ナビゲーションエリアを意味づけることで、スクリーンリーダーは「ここがサイト内の導線ですよ」と読み取りやすくなります。
さらに、検索エンジンにとっても文脈が伝わりやすくなるため、クローラにとっての解釈も安定します。
この違いを把握するだけで、後のコーディングがずっと楽になります。意味と構造を混同しないこと、アクセシビリティとSEOの両方を意識すること、この2点を頭に入れて実装しましょう。
1章: なぜ「nav」と「ul」を使い分けるのか
ウェブサイトを作るとき、目的ごとに要素の意味を意識することが大切です。navは「このエリアはサイト内のナビゲーションです」と示す境界線として働きます。これに対して<ul>は「ここに並ぶのはリストの項目ですよ」というものです。区別がつくと、視覚的なデザインだけでなく補助技術が正しく理解できるようになるのです。具体的には、トップのメニューを<nav>で包み、中のリンクを<ul>の<li>として並べると、スクリーンリーダーはこの部分をひとつのナビゲーションとして読み上げ、ユーザーはどのリンクが主要な導線かを直感的につかむことができます。さらに、検索エンジンもこの情報をヒントにページの構造を理解しやすくなります。
この区別が崩れると、表示がきれいでも意味が伝わらなくなります。次に、ulを使う理由をもう少し詳しく見てみましょう。リストとしてまとめることで、長い横並びのリンクでもグルーピングが明確になり、スタイルを変えるときにも全体の並びを崩さずに済みます。さらにliが増減しても、親である<ul>の中で整列されるため、コードの保守性が高まります。
2章: 実例で見る nav と ul の組み合わせ
以下はトップページのメインメニューを想定した実装例の説明です。navで全体を囲み、内側に<ul>を置き、各<li>にリンクを配置します。これにより、視覚的に整えながらも意味的には「ナビゲーションの集合」という性質を保てます。実務ではこの基本構造を崩さず、CSSで外観を整えます。ドロップダウンやサブメニューを作る場合も、<ul>と<li>の階層を活かして階層構造を保つことが重要です。アクセシビリティの観点からは、 aria-label などの追加は補助的に使い、過度な属性は避けましょう。
以下の表は、navとulの役割を整理したものです。
要素の役割と意味を一目で確認できるようにしています。
実務での使い方のコツ
実務の現場では、意味と整合性を第一に考えます。意味を守る、アクセシビリティを最優先、保守性と再利用性を軸に設計します。まず、全体のナビゲーションを<nav>で囲み、内部のリストを<ul>で表現します。次に、CSSで見た目を整えるときは、セマンティックな HTMLを壊さない範囲で調整します。例えば、ドロップダウンは<ul>と<li>の階層を使って実装し、div などの別要素で代替しないことが基本です。スマートフォン対応では、ハンバーガーメニューに変形させても<nav>の意味は残します。アクセシビリティの向上には、キーボード操作の順序を崩さないこと、aria-labelやaria-expandedなどの属性を適切に使うことが重要です。最後に、設計図を先に描き、マークアップの階層とデザインの表示を分けて考える癖をつけると、後の保守が楽になります。
今日は nav についての小ネタを雑談風に深掘りします。友達と道案内の話をしているとき、彼は地図アプリのナビゲーションボタンを押して目的地へ行くべき道順を教えてくれる――そんなイメージです。ウェブの nav も同じで、サイト構造の“入口”を示します。ul というリストの集合体がその導線を支え、li が各リンクを1つずつ指し示します。ここで面白いのは、視覚だけを追うと見た目は同じリンクの列ですが、意味を与えるのみちがあるという点です。スクリーンリーダーの人は nav の情報を一つのまとまりとして読み、他の部分へと自然に飛びます。適切な構造はユーザーの“探索感”を向上させ、混乱を減らす効果があります。だからこそ私たちは、見た目の美しさだけでなく、意味の正確さを重視してコーディングします。