ユーザーの設定をCSSアニメーションに反映させる

以前のブログはこちら

広告

こんにちは。ましじめの田村です。

私が執筆した著書、『現場のプロから学ぶ CSSコーディングバイブル』は、Web制作の現場で役立つテクニックやノウハウをまとめています。
興味を持っていただけた方は、ぜひご覧ください。
https://amzn.to/3A8kNHC

このリンクは Amazon のアフィリエイトプログラムを通じて設定されています。

こんにちは。田村です。

CSSアニメーションはリッチな動きが表現でき便利ですがユーザーによってはアニメーションをオフにしたいということがあります。
OS側で「動きをへらす」という設定があり、これをCSS側で判断したい場合はありました。

prefers-reduced-motion とは?

prefers-reduced-motion は、ユーザーのOSやブラウザの設定に基づいて、動きの多いアニメーションやエフェクトを制御するためのCSSメディアクエリです。
OSの設定で「動きを減らす」という設定が提供されており、この設定が有効になっているユーザーに対し、アニメーションを軽減するスタイルを適用できます。

次のように読むそうです。
prefers-reduced-motion(プリファーズ・リデュースド・モーション)
prefers(プリファーズ):好む
reduced(リデュースド):減少した
motion(モーション):動き

どんな場面で使えるのか?

動きが苦手なユーザーへの配慮
激しいアニメーションや過剰な動きを好まないユーザーに快適なユーザー体験を提供できます。
アクセシビリティ向上
WCAGの達成基準にも含まれています。
「達成基準 2.3.3: インタラクションによるアニメーションを理解する」


基本的な使い方

prefers-reduced-motion は、CSSのメディアクエリとして以下のように使います。

/* 通常時のスタイル */
.animated-box {
    animation: bounce 2s infinite;
}

/* 動きを抑える設定の場合 */
@media (prefers-reduced-motion: reduce) {
    .animated-box {
        animation: none;
    }
}


まとめ

prefers-reduced-motion は、ユーザーが動きを減らす設定をしている場合に、アニメーションを無効化または軽減できるCSSメディアクエリです。
動きに敏感なユーザーにも優しい動きを提供し、アクセシビリティを向上することができます。


関連するタグ

全 1 件中 1 〜 1 件目を表示

この記事を書いた人

たむら しょうご

HTML&CSSコーダー

ウェブアクセシビリティ対応、フロントエンド開発、CMSを利用したウェブサイト制作を担当しています。
趣味はガーデニングです。

ましじめのスキルが必要ですか?

遠慮なくご相談ください。我々はあなたのプロジェクトに最善を尽くし、あなたのウェブサイトの制作を強力にサポートいたします。

お問い合わせはこちらから