タブメニュー
WEB制作技術の引き出しを増やすため、自分なりにアレンジしたコードをアウトプットすることにしました。 その中でも特に勉強になったコードを紹介します。 コピペで使えるようになっているので、あなたのサイトで使っていただけるとうれしいです。 あくまでデザインの一例にすぎないので、調整してオリジナルのデザインを作ってみてください!
タブメニュー
タブメニューは、同じ領域の中身を切り替えて見せるUIです。プラン比較・カテゴリ別の一覧・スペック表など、「並列な情報を省スペースで行き来させたい」場面の定番で、アコーディオンが縦に畳むのに対し、タブは横に並べて切り替えます。
シンプルに見えて、タブは「いまどれが選ばれているか」を色・形・位置で瞬時に伝える必要があり、選択状態のデザインが命です。デモでは切り替えの基本形を扱っています。
今回はメニューにマウスポインタを持っていった時のテキストナビゲーションのアニメーションを作りました。
おさえておきたいところ
タブメニューを使う目的と使いどころはこんな感じです。
目的:掲載内容をコンパクトに収め、情報の全体像や重要度を俯瞰的に見せる
使いどころ:画面の読み込み中 / クリック
実務メモ(2026年追記)
タブはアクセシビリティのお作法が最も体系化されているUIのひとつで、role="tablist" / "tab" / "tabpanel"と矢印キーでの移動が本来の完成形です。CSSだけ(radioボタンと:checked)でも作れますが、キーボード・支援技術まで考えるとJSで状態管理する実装に軍配が上がります。なお、非表示タブの中身も検索エンジンには読まれるので、SEO目的で無理に全部見せる必要はありません。
- 初期表示タブに最重要コンテンツを置く(多くの人は切り替えない)
- タブ数はモバイルで折り返さない範囲(3〜5個)が目安。多いなら別UIを検討
- 選択状態は色だけでなく形や太さでも区別(色覚多様性への配慮)
- 「開いて読ませる」方向の整理はアコーディオンパネルが向いています
次回の予定
複数の画像やコンテンツをまとめて見せるスライドショーを作ってみようと思います\\\٩( ‘ω’ )و ////
