gazou-compressor.jp

動画アクセシビリティ完全チェックリスト:字幕/操作/低刺激/フォールバック

“再生できる” だけでは到達性は確保されません。短い操作パス / 明確なフォーカス / 状態同期 / 低刺激 を一括で設計し、キーボード/スクリーンリーダ/低刺激設定利用者のフリクションを除去します。

WCAG 参照
該当主基準: 1.2x (字幕/音声解説) / 2.1.1 (キーボード) / 2.2.2 (一時停止) / 2.3.1 (閃光) / 2.5.3 (ラベル名)。

要点 (TL;DR)

TL;DR: 自動再生は muted + ユーザー主導。字幕は WebVTT (track default) と transcript。Space/Enter/矢印/ M / F / C / ←→ で操作。focus-visible スタイルと ARIA 状態同期。prefers-reduced-motion でループ/アニメ停止。エラー/バッファ/遅延状態を視覚/テキストで示す。

1. 自動再生ポリシー

2. 字幕 / transcript

3. キーボード操作

Space/Enter=再生切替 / ←→=±5s / ↑↓=音量 / M=mute / F=全画面 / C=字幕 / .=フレームステップ。

実装例: カスタムコントロール (抜粋)

// コンテナ
<div className="relative" role="group" aria-label="動画プレイヤー">
  <video ref={ref} aria-label="デモ動画" preload="metadata" playsInline />
  <div className="controls flex gap-2 p-2" aria-label="再生コントロール">
    <button onClick={togglePlay} aria-pressed={playing} aria-label={playing ? '一時停止' : '再生'}>
      {playing ? 'Pause' : 'Play'}
    </button>
    <button onClick={toggleMute} aria-pressed={muted} aria-label={muted ? 'ミュート解除' : 'ミュート'}>M</button>
    <button onClick={()=>seek(-5)} aria-label="5秒戻る">-5s</button>
    <button onClick={()=>seek(5)} aria-label="5秒進む">+5s</button>
    <button onClick={toggleCaptions} aria-pressed={captions} aria-label={captions ? '字幕オフ' : '字幕オン'}>CC</button>
    <button onClick={toggleFullscreen} aria-label="全画面">F</button>
  </div>
</div>

// キーボードショートカット
useEffect(()=>{
  const h=(e:KeyboardEvent)=>{
    if(!ref.current) return;
    switch(e.key){
      case ' ': case 'Enter': togglePlay(); e.preventDefault(); break;
      case 'ArrowLeft': seek(-5); break;
      case 'ArrowRight': seek(5); break;
      case 'ArrowUp': changeVolume(+0.05); break;
      case 'ArrowDown': changeVolume(-0.05); break;
      case 'm': case 'M': toggleMute(); break;
      case 'f': case 'F': toggleFullscreen(); break;
      case 'c': case 'C': toggleCaptions(); break;
      case '.': stepFrame(); break;
    }
  };
  window.addEventListener('keydown',h); return ()=>window.removeEventListener('keydown',h);
},[]);

4. フォーカス可視性

5. 視覚的状態表示

6. 低刺激モード

7. 音量 / 速度 / 永続化

8. メディアセッション API

モバイル OS のロック画面操作を有効化 (title/artwork/updatePositionState)。

9. ログ & モニタリング

10. チェックリスト統合

11. FAQ

自動再生で音を鳴らせる?
ユーザー過去操作 + 明示設定がない限り不可。
字幕とキャプションの違い?
効果音/環境音/話者情報を含むか。WCAG では包括的情報が必要。
音声解説(Audio Description) 必須?
重要視覚情報が台詞外で提示されるコンテンツは必要。

関連

gazou-compressor.jp 編集部

画像圧縮・変換・背景除去などの実践テクニックと、Webで“速く・軽く・崩さない”ためのノウハウを発信しています。

関連記事

トピック/更新日の近いコンテンツ