カテゴリ: Bootstrap 更新日: 2026/08/10

Bootstrapの.visually-hidden完全ガイド!アクセシビリティ対応とレスポンシブユーティリティの正しい使い方

アクセシビリティ対応の非表示「.visually-hidden」の正しい使い方
アクセシビリティ対応の非表示「.visually-hidden」の正しい使い方

先生と生徒の会話形式で理解しよう

生徒

「Bootstrapで文字を見えなくする方法ってありますか?」

先生

「ありますよ。.visually-hiddenというクラスを使うと、画面には表示せず、スクリーンリーダーには読み上げてもらうことができます。」

生徒

「えっ、見えないのに読まれるんですか?」

先生

「そうです。アクセシビリティ対応ではとても大切な仕組みです。では、順番にやさしく解説していきましょう。」

1. Bootstrapの.visually-hiddenとは何か

1. Bootstrapの.visually-hiddenとは何か
1. Bootstrapの.visually-hiddenとは何か

Bootstrapのvisuallyhiddenは、画面には表示しないけれど、スクリーンリーダーでは読み上げられるようにするためのクラスです。スクリーンリーダーとは、画面の内容を音声で読み上げる支援技術のことです。目が不自由な方や文字を読むことが難しい方が利用します。

通常のdisplaynoneを使うと、画面にも表示されず、スクリーンリーダーにも認識されません。しかしvisuallyhiddenは、見た目だけを隠して情報は残すという大きな違いがあります。これがアクセシビリティ対応の重要なポイントです。

アクセシビリティとは、誰でも使いやすい設計のことです。ウェブサイト制作やフロントエンド開発では、非常に大切な考え方です。

2. displaynoneとの違いを理解しよう

2. displaynoneとの違いを理解しよう
2. displaynoneとの違いを理解しよう

初心者の方は、なぜdisplaynoneではだめなのか疑問に思うかもしれません。displaynoneは、要素を完全に削除したような状態になります。つまり、視覚的にも支援技術にも存在しない扱いになります。

一方、visuallyhiddenは、位置を画面外にずらしたりサイズを最小にすることで、見た目だけを隠しています。そのため、スクリーンリーダーでは内容を取得できます。

これは、例えるなら、黒板の文字を消すのではなく、布で隠しているような状態です。目では見えませんが、そこに情報は残っています。


<p class="visually-hidden">この文章は音声読み上げ専用です。</p>

<p style="display:none;">この文章は完全に非表示です。</p>
ブラウザ表示

3. ボタンに補足説明を追加する使い方

3. ボタンに補足説明を追加する使い方
3. ボタンに補足説明を追加する使い方

Bootstrapのボタンにアイコンだけを表示する場合、見た目はおしゃれでも意味が伝わらないことがあります。そこでvisuallyhiddenを使って、スクリーンリーダー用の説明を追加します。

これにより、検索ボタンや削除ボタンなどの意味が正しく伝わります。ユーザー体験の向上とアクセシビリティ改善の両方を実現できます。


<button class="btn btn-primary">
    <i class="bi bi-search"></i>
    <span class="visually-hidden">検索</span>
</button>
ブラウザ表示

このように書くことで、見た目は虫眼鏡アイコンだけですが、音声では検索と読み上げられます。

4. 見出しを隠してSEOとアクセシビリティを両立

4. 見出しを隠してSEOとアクセシビリティを両立
4. 見出しを隠してSEOとアクセシビリティを両立

SEO対策では、適切な見出し構造が重要です。検索エンジンはh1やh2などの見出しタグを重視します。しかし、デザインの都合で表示したくない場合もあります。

そのようなときにvisuallyhiddenを活用すると、見出し構造を保ちながら画面表示だけを隠すことができます。これはBootstrapとSEOを両立するテクニックのひとつです。


<h2 class="visually-hidden">商品一覧ページ</h2>

<div class="row">
    <div class="col-md-4">商品A</div>
    <div class="col-md-4">商品B</div>
    <div class="col-md-4">商品C</div>
</div>
ブラウザ表示

これにより、検索エンジン最適化とアクセシビリティ強化の両立が可能になります。

5. フォーカス時に表示するvisuallyhiddenfocusable

5. フォーカス時に表示するvisuallyhiddenfocusable
5. フォーカス時に表示するvisuallyhiddenfocusable

Bootstrapにはvisuallyhiddenfocusableという仕組みもあります。これは通常は非表示ですが、キーボード操作でフォーカスが当たったときに表示されます。

キーボード操作とは、マウスを使わずにタブキーで移動する方法です。これもアクセシビリティ対応の重要なポイントです。


<a href="#main" class="visually-hidden-focusable">
    メインコンテンツへスキップ
</a>

<main id="main">
    <h2>メインコンテンツ</h2>
    <p>ここに本文が入ります。</p>
</main>
ブラウザ表示

これはスキップリンクと呼ばれ、ウェブアクセシビリティの基本技術です。

6. レスポンシブユーティリティとの組み合わせ

6. レスポンシブユーティリティとの組み合わせ
6. レスポンシブユーティリティとの組み合わせ

Bootstrapにはレスポンシブユーティリティという便利な機能があります。これは画面サイズごとに表示や非表示を切り替える仕組みです。

例えば、スマートフォンでは非表示にして、パソコンでは表示するなどの設定ができます。visuallyhiddenとは目的が違いますが、組み合わせることで柔軟な設計が可能になります。


<p class="d-none d-md-block">
    パソコンでは表示されるテキスト
</p>

<p class="visually-hidden">
    音声専用の補足説明
</p>
ブラウザ表示

レスポンシブデザインとアクセシビリティ対応は別の概念ですが、どちらもユーザー体験を高める重要な技術です。

7. 正しい使い方と注意点

7. 正しい使い方と注意点
7. 正しい使い方と注意点

visuallyhiddenは便利ですが、重要な情報をすべて隠すのは適切ではありません。視覚ユーザーにも必要な情報は、きちんと表示しましょう。

また、フォームラベルを隠す場合は特に注意が必要です。ラベルは入力項目の説明です。音声だけに頼る設計は避け、できるだけ誰にでも見える形を基本にしましょう。

Bootstrap五系ではアクセシビリティ改善が強化されています。ウェブ制作、フロントエンド開発、ユーザーインターフェース設計において、visuallyhiddenの理解は非常に重要です。

アクセシビリティ対応は特別なことではなく、標準的なウェブ開発の一部です。初心者の段階から意識することで、より質の高いウェブサイト制作ができるようになります。

まとめ

まとめ
まとめ

本記事ではBootstrapのvisuallyhiddenクラスを中心に、アクセシビリティ対応、スクリーンリーダー対応、レスポンシブデザインとの違い、displaynoneとの比較、検索エンジンを意識した見出し構造の保ち方まで詳しく解説しました。visuallyhiddenは単なる非表示クラスではなく、ウェブアクセシビリティを実現するための重要なユーティリティクラスです。フロントエンド開発やウェブ制作において、アクセシビリティ対応は標準的な設計思想となっています。

displaynoneは要素を完全に非表示にするため、スクリーンリーダーでも認識されません。一方でvisuallyhiddenは視覚的に隠すだけで、情報構造は保持されます。この違いを理解することが、正しいアクセシビリティ設計の第一歩です。特にボタンアイコンのみのデザインや、ナビゲーションの補足説明、フォームラベルの補助テキストでは大きな効果を発揮します。

また、見出しタグを適切に使用しながらデザイン上は非表示にすることで、文書構造を保ちつつ情報設計を最適化できます。見出し構造は情報整理に直結します。ユーザー体験向上だけでなく、クローラーがページ内容を理解しやすくなるため、構造化されたマークアップは非常に重要です。

visuallyhiddenfocusableを使ったスキップリンクの実装は、キーボード操作ユーザーへの配慮として欠かせません。タブ移動によるナビゲーションは、マウスを使えない利用者にとって主要な操作方法です。ウェブアクセシビリティガイドラインに沿った設計を行うことで、誰にとっても使いやすいウェブサイトになります。

さらに、レスポンシブユーティリティとの違いも理解しておきましょう。レスポンシブクラスは画面幅に応じて表示制御を行うための仕組みであり、アクセシビリティ目的とは異なります。両者を組み合わせることで、スマートフォン、タブレット、パソコンといったマルチデバイス対応と音声読み上げ対応を両立できます。

Bootstrapを活用したウェブ制作では、見た目のデザインだけでなく、意味のあるHTML構造、適切なクラス設計、ユーザーインターフェースの最適化が求められます。visuallyhiddenはその中核となる存在です。初心者のうちから正しい使い方を理解することで、実務レベルのフロントエンド開発に近づくことができます。

サンプルプログラムで総復習


<h2 class="visually-hidden">商品検索ページ</h2>

<a href="#main" class="visually-hidden-focusable">
    メインコンテンツへ移動
</a>

<header class="bg-light p-3">
    <button class="btn btn-primary">
        <i class="bi bi-search"></i>
        <span class="visually-hidden">商品を検索</span>
    </button>
</header>

<main id="main" class="container mt-4">
    <h3>おすすめ商品一覧</h3>
    <div class="row">
        <div class="col-md-4">商品一</div>
        <div class="col-md-4">商品二</div>
        <div class="col-md-4">商品三</div>
    </div>
</main>
ブラウザ表示

このコードでは、見出し構造を維持しながら視覚的に隠し、ボタンには音声用テキストを追加し、スキップリンクでキーボード操作に対応しています。Bootstrapのユーティリティクラスを組み合わせることで、アクセシビリティ対応とユーザー体験向上を同時に実現できます。

先生と生徒の振り返り会話

生徒

visuallyhiddenはただの非表示クラスではなくて、スクリーンリーダーには情報を残すための仕組みだと理解できました。

先生

その通りです。displaynoneとの違いを説明できますか。

生徒

displaynoneは完全に消えてしまうけれど、visuallyhiddenは視覚だけを隠して構造は保つ点が違います。

先生

よく理解できていますね。ではスキップリンクの目的は何でしょうか。

生徒

キーボード操作の人がすぐに本文へ移動できるようにするためです。アクセシビリティ対応の基本技術だと分かりました。

先生

素晴らしいですね。Bootstrapを使うときは、見た目だけでなく意味構造や利用者の多様性を意識することが重要です。

生徒

これからはレスポンシブデザインとアクセシビリティ対応の両方を意識して、質の高いウェブサイト制作を目指します。

2026年最新 スキルアップ・実践セミナー

【60分集中】CSSを1行も書かない!?Bootstrap 5ユーティリティクラス活用で開発工数を50%削減

「スピード」が武器になる。Bootstrap 5で商用クオリティのWebサイトを高速構築。

本講座では、世界シェアNo.1のフレームワークBootstrap 5を使いこなし、ゼロからレスポンシブサイトを組み上げる「現場最速のワークフロー」を学びます。単なる導入に留まらず、ユーティリティクラスを活用した効率化と、実務で必須となるカスタマイズ技法を60分で完全習得します。

具体的なワークショップ内容と環境

【つくるもの】
モダンなランディングページ(LP)やダッシュボードのプロトタイプを作成します。ナビゲーション、ヒーローセクション、カードレイアウト、フッターなど、Bootstrapのコンポーネントを組み合わせて「一瞬で形にする」感動を体験してください。

【開発環境】
VS CodeにBootstrap 5専用のSnippet(補完機能)を導入し、手入力を最小限にする環境を構築。最新のCDN利用法や、表示速度(Core Web Vitals)を意識した最適な読み込み設定など、プロの初期設定を伝授します。

この60分で得られる3つの革新スキル

1. グリッドシステムの完全マスター

スマホ・タブレット・PCでレイアウトを自由自在に切り替える「ブレイクポイント」の極意を学びます。

2. ユーティリティクラスによる爆速デザイン

CSSを1行も書かずに、マージン・パディング・カラーを制御。開発工数を半分以下にする実戦術を習得します。

3. 脱・標準デザインのカスタマイズ

「Bootstrap感」を消し、独自のブランドイメージに合わせるための、上書きの作法とデザインの整え方を伝授します。

※本講座は、HTML/CSSの基本を理解した方向けの「実践加速講座」です。制作会社のコーダーや副業フリーランスとして「案件の回転率」を上げ、市場価値を最大化させたい方をモクモクがバックアップします。

【60分集中】CSSを1行も書かない!?Bootstrap 5ユーティリティクラス活用で開発工数を50%削減

Bootstrap 5を楽しみながら、一緒に学びましょう!

各回少人数・マンツーマン形式で徹底サポート

このセミナーの詳細・お申し込みはこちら
カテゴリの一覧へ
新着記事
New1
CSS
CSSでdisplayの違いを図解で理解!block・inline・inline-blockの使い方
New2
CSS
CSSのwidthとheightの基本!初心者でもわかる単位の使い分け
New3
CSS
z-indexによるバグを防ぐためのデバッグ方法完全ガイド!初心者向け解決テクニック
New4
HTML
HTML data-*属性とJavaScript連携を完全解説!datasetでカスタムデータを取得する方法
人気記事
No.1
Java&Spring記事人気No1
HTML
HTML inputタグとは?フォーム入力を担う基本要素を初心者向けに完全解説
No.2
Java&Spring記事人気No2
HTML
HTML formのaction URL設計を完全解説|送信先の考え方を初心者でも理解
No.3
Java&Spring記事人気No3
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.4
Java&Spring記事人気No4
CSS
レイヤー管理に便利なCSS変数とSCSS変数の活用法完全ガイド!初心者向け解説
No.5
Java&Spring記事人気No5
HTML
HTMLのformタグの書き方を完全ガイド!actionとmethod属性の意味を初心者向けにやさしく解説
No.6
Java&Spring記事人気No6
CSS
CSSのnth-child()を完全攻略!特定の順番にスタイルを当てる方法
No.7
Java&Spring記事人気No7
Bootstrap
Bootstrapで学ぶレスポンシブな並び方向の使い方完全ガイド!flex-rowとflex-columnを初心者向けにやさしく解説
No.8
Java&Spring記事人気No8
HTML
HTML input type="email"の入力チェック仕様と注意点を徹底解説 初心者向け完全ガイド