CSS辞書

@media (prefers-reduced-motion)

レスポンシブ・関数

ユーザーがアニメーションを減らす設定を有効にしているかを検出するメディアクエリです。アクセシビリティ向上に重要です。

構文

Syntax
@media (prefers-reduced-motion: no-preference | reduce)

Tailwindでは

バリアント motion-reduce: を先頭に付けて使います

motion-reduce:animate-none@media (prefers-reduced-motion: reduce) { animation: none }

逆条件(動きを減らす設定がOFFのときだけ動かす)は motion-safe:。

コード例

1

@media (prefers-reduced-motion: reduce) { * { animation: none; } }
実行結果
アクセシビリティ対応アニメーション

アニメーションを無効化

2

@media (prefers-reduced-motion: no-preference) { .box { transition: all 0.3s; } }
実行結果

通常のアニメーション

💡 TIPS

アクセシビリティのベストプラクティス

🤖 AIがよく間違えるポイント

AIはアニメーション実装時にこの配慮自体を忘れるのが最大の問題です。前庭障害などで動きに敏感なユーザーのための設定で、「アニメを全部消す」のではなく「動きを減らす(フェードに置き換える等)」のが良い設計です。@media (prefers-reduced-motion: reduce)での上書きをアニメ実装の定型に組み込んでください。

💬 AIへの頼み方

サイト全体のアニメーションにprefers-reduced-motion対応を後付けして。全消しではなくフェード代替で

そのままAIチャットに貼り付けて使える依頼文の例です。ページ上部の「AI用にコピー」でこのページ全体をコンテキストとして渡せます。

関連プロパティ

ブラウザサポート

Baseline 広く利用可能
Chrome
74+
Firefox
63+
Safari
10.1+
Edge
79+