プログラミングHUB
language6分で読めます

Webアクセシビリティ入門|すべてのユーザーが使えるサイトを作る基礎知識

Webアクセシビリティの基礎を解説。WCAG基準、セマンティックHTML、ARIAの使い方、キーボード操作対応、色のコントラスト比の確認方法を紹介します。

関連記事:Web開発の技術マップ

Webアクセシビリティとは、障害の有無や年齢、使用環境に関わらず、すべてのユーザーがWebサイトを利用できるようにすることです。法的な義務としてだけでなく、SEOやUXの向上にもつながるため、フロントエンドエンジニアにとって重要なスキルです。

なぜアクセシビリティが重要か

  • 利用者の拡大:視覚・聴覚・運動に障害を持つ方もサイトを使える
  • 法的要件:2024年4月から障害者差別解消法により合理的配慮が民間事業者にも義務化
  • SEO向上:セマンティックなHTMLは検索エンジンにも評価される
  • ユーザー体験の向上:すべてのユーザーにとって使いやすいサイトになる

WCAG(Web Content Accessibility Guidelines)

WCAGはW3Cが策定したアクセシビリティの国際基準です。4つの原則に基づいています。

原則内容
知覚可能情報がユーザーに認識できること
操作可能UIがキーボード等で操作できること
理解可能コンテンツが理解しやすいこと
堅牢支援技術で正しく解釈できること

セマンティックHTML

適切なHTML要素を使うことが、アクセシビリティの基本です。

<!-- 悪い例 -->
<div class="header">
  <div class="nav">
    <div class="link" onclick="navigate()">ホーム</div>
  </div>
</div>

<!-- 良い例 -->
<header>
  <nav>
    <a href="/">ホーム</a>
  </nav>
</header>

重要なセマンティック要素

要素用途
<header>ページやセクションのヘッダー
<nav>ナビゲーション
<main>メインコンテンツ
<article>独立したコンテンツ
<button>クリック可能なアクション
<a>ページ遷移のリンク

画像の代替テキスト

<!-- 情報を伝える画像 -->
<img src="chart.png" alt="2025年の売上推移グラフ。4月に前年比120%に到達" />

<!-- 装飾目的の画像 -->
<img src="decoration.png" alt="" />

装飾目的の画像には空の alt="" を設定し、スクリーンリーダーに読み上げさせません。

キーボード操作

すべてのインタラクティブ要素がキーボードだけで操作できるようにします。

/* フォーカスインジケーターを消さない */
:focus {
  outline: 2px solid #4A90D9;
  outline-offset: 2px;
}

/* outline: none は避ける(代替のスタイルを用意する場合のみ) */
<!-- tabindexの適切な使用 -->
<div tabindex="0" role="button" onkeydown="handleKeyDown(event)">
  カスタムボタン
</div>

色のコントラスト比

テキストと背景のコントラスト比は、WCAG AAレベルで以下を満たす必要があります。

エンジニアのためのFigma入門も参考にしてください。

テキストサイズ必要なコントラスト比
通常テキスト4.5:1 以上
大きなテキスト(18px太字/24px以上)3:1 以上

確認ツール:Chrome DevToolsのLighthouse、axe DevTools

Webセキュリティ入門も参考にしてください。

ARIA属性

HTMLだけでは表現しきれない情報を補完します。

<!-- メニューの開閉状態を伝える -->
<button aria-expanded="false" aria-controls="menu">
  メニュー
</button>
<ul id="menu" hidden>
  <li><a href="/about">概要</a></li>
</ul>

<!-- ライブリージョン(動的に更新される領域) -->
<div aria-live="polite" role="status">
  3件の検索結果が見つかりました
</div>

注意:ARIAは「ネイティブのHTMLで表現できない場合の補完」として使います。<button> で済むなら <div role="button"> は使いません。

チェックリスト

  • すべての画像に適切な alt テキストがある
  • キーボードだけで全機能を操作できる
  • フォーカスインジケーターが見える
  • 色のコントラスト比が基準を満たす
  • フォームにラベルが関連付けられている
  • 見出し構造が論理的(h1→h2→h3)
  • 動画に字幕がある
PR楽天ブックス プログラミング書籍楽天ブックスでプログラミング入門書を探す公式サイトで詳細を見る※本コンテンツはアフィリエイト広告を含みます。表示内容は各社公式サイトをご確認ください。

まとめ

Webアクセシビリティは、セマンティックHTMLを正しく使うことから始まります。特別な技術を覚える前に、まず適切な HTML要素の選択とalt テキストの設定を徹底しましょう。


あわせて読みたい

あなたに合う次の選び方を見る

30秒で診断してみる
#アクセシビリティ#HTML#WCAG#ARIA#フロントエンド

関連記事