ソフトウェア
初級

ナビゲーション(ナビゲーション)

ユーザーが Web サイト / アプリ / 3D 空間内を移動・探索するための仕組み。ヘッダーメニュー / ハンバーガーメニュー / パンくず / ブレッドクラム / ステップ式ウィザードが代表 UI。

0 回閲覧
0 いいね
2026/5/2 更新
関連タグ
UI
Web
Next.js
React Router
ハンバーガー

概要

ナビゲーション(Navigation)は、ユーザーが Web サイト・アプリケーション・3D 空間内を移動・探索するための仕組み全般を指す。広義には UI(ヘッダーメニュー・ハンバーガーメニュー・パンくず・ステップウィザード等)と内部実装(ルーティング・State 管理・History API)の両面を含む。2026 年現在、Next.js 16 App Router・TanStack Router・React Router v7 が Web フレームワーク世代の主流、ブラウザネイティブの Navigation API も Chrome / Edge で実装され、UI ライブラリは Radix UI / Headless UI / Shadcn UI 等の Headless 設計が主流である。

Web ナビゲーション主要ライブラリ(2026 年)

React 系

ライブラリ形態特徴
Next.js 16 App RouterOSSファイルベースルーティング、業界標準
TanStack Router 1.xOSSTypeScript 完全型安全、Vercel に依存しない
React Router v7OSSRemix 統合、SSR / CSR 両対応
WouterOSS軽量(1.5KB)、シンプル
Reach Router(廃止)OSSReact Router v6 に統合

Vue 系

ライブラリ用途
Vue Router 4Vue 公式
Nuxt 3 RoutingNuxt 内蔵、ファイルベース

その他フレームワーク

ライブラリフレームワーク
SvelteKit RoutesSvelte 5
Astro RoutesAstro 5
Solid RouterSolid

主要 UI パターン

Web サイト

パターン用途
ヘッダーメニュー(横並び)デスクトップ Web、5-7 項目以下
ハンバーガーメニューモバイル Web、項目数多い
サイドバー(Drawer)アプリケーション、ダッシュボード
Bottom Tab Barモバイルアプリ、3-5 タブ
パンくず(Breadcrumb)階層深い Web、現在位置表示
ステップウィザードフォーム / オンボーディング
メガメニューEC サイト、カテゴリ多階層
Command Palette(⌘K)プロ向けアプリ、Linear / Vercel 採用

3D / VR / AR

パターン用途
WASD + マウスFPS / TPS ゲーム標準
テレポートVR、酔い対策
Smooth LocomotionVR、自然移動
クリック移動RPG / 戦略ゲーム
ジェスチャーAR、Apple Vision Pro

ブラウザ標準 API

Web Navigation API(Chrome 102+ / Edge)

// Single Page App でのページ遷移
navigation.navigate('/dashboard');

// イベント監視
navigation.addEventListener('navigate', (event) => {
  if (event.canIntercept) {
    event.intercept({
      handler: async () => {
        // カスタム遷移処理
      }
    });
  }
});

History API(全ブラウザ標準)

window.history.pushState({}, '', '/about');
window.history.back();
window.history.forward();

Next.js 16 App Router の例

// app/posts/[slug]/page.tsx
import Link from 'next/link';
import { useRouter } from 'next/navigation';

export default function PostPage({ params }: { params: Promise<{ slug: string }> }) {
  const router = useRouter();
  return (
    <article>
      <Link href="/posts">← 一覧へ</Link>
      <button onClick={() => router.push('/related')}>関連へ</button>
    </article>
  );
}

自作.com(jisaku.com)でのナビ構成

  • ヘッダー: ロゴ + 主要 8 カテゴリ(PC パーツ / 商品 / 記事 / 用語集 / etc)
  • モバイル: ハンバーガー → 全カテゴリ + 検索
  • 記事ページ: 自動内部リンク(link-dictionary.json)
  • パンくず: ホーム > カテゴリ > 記事タイトル
  • 検索: ⌘K Command Palette(Meilisearch 連動)

アクセシビリティ要件

  • キーボード操作: Tab / Enter / Escape の一貫した動作
  • スクリーンリーダー: aria-label / aria-current / nav 要素
  • フォーカス可視: focus-visible で強調
  • Skip to Content: スクリーンリーダー用ジャンプリンク
  • ランドマーク: <nav>, <main>, <aside>, <header>, <footer>

関連用語との違い

用語違い
ルーティングURL→ページマッピング、ナビの実装側
メニューUI 要素、ナビの一形態
サイトマップサイト全体の地図、ナビは個別動線
ブレッドクラムパンくず、ナビの一形態

よくある質問

Q1: Next.js App Router の Pages Router 互換性は? A: 段階的移行可能。1 つのプロジェクトに pages/ と app/ を共存させ、新規ページは app/、既存は pages/ から段階移行。Next.js 16 でも Pages Router は引き続き動作。

Q2: TanStack Router と React Router v7、選ぶ基準は? A: TypeScript 完全型安全 / Vercel に依存しないなら TanStack Router。Remix の SSR + Loader を活用するなら React Router v7。Next.js なら built-in App Router 一択。

Q3: 個人開発でハンバーガーメニューは必須? A: モバイル対応では事実上必須。ただし PC 大画面では「ハンバーガー強制」より、横並び 5-7 項目 + 「More」ドロップダウンが UX 良い。

まとめ

  • ユーザーが サイト / アプリ / 3D 空間を移動する仕組み
  • 2026 年は Next.js App Router / TanStack Router / Web Navigation API が主軸
  • UI は ヘッダー / ハンバーガー / Command Palette が現代的
この記事について
カテゴリーソフトウェア
難易度初級
作成日2026/5/2