アクセシビリティのためのprefers-reduced-motion対応

prefers-reduced-motionメディアクエリを実装して、前庭障害のあるユーザー向けにアニメーションを無効化・簡素化します。CSSとJavaScriptの例を含みます。

Media Queries

詳細な説明

prefers-reduced-motion

このメディア機能は、ユーザーがシステムレベルで不要なモーションを最小化する設定を有効にしているかを検出します。

誰に必要か?

前庭障害動きへの過敏性発作性障害のある人は、アニメーション、パララックス効果、自動再生動画によりめまい、吐き気、不快感を経験することがあります。

CSS実装

.hero {
  animation: slideIn 0.5s ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .hero {
    animation: none;
  }
  * {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

削減すべきもの(削除ではなく)

  • スライドアニメーションをフェードまたは即時表示に置き換え
  • パララックスを静的背景に
  • 自動再生カルーセルを一時停止(手動ナビゲーションは維持)
  • バウンス/スピンローディングインジケーターを静的なものに

フレームワーク統合

Tailwind CSS:

<div class="motion-safe:animate-bounce motion-reduce:animate-none">
  Loading...
</div>

ユースケース

アクセシビリティに注力する開発者やデザイナーは、前庭過敏症のユーザーに身体的不快感を与えない包括的なWeb体験を作成するため、ユーザーのモーション設定を尊重する必要があります。

試してみる — Screen Info Display

フルツールを開く