UIモーションデザインの基本原則――イージング・デュレーション・段階演出とアクセシビリティ

デザインの基礎 のアイキャッチ

Webサイトやアプリのちょっとした動き――ボタンを押したときのフィードバック、画面が切り替わる瞬間、リストが並ぶ順番。これらの「UIモーション」には、実は明確な設計原則があります。今回はイージング(動きの緩急)とデュレーション(時間の長さ)の基本、段階演出(スタッガー)のコツ、見落とされがちなアクセシビリティ対応、そしてAIコーディングツールにモーション実装を頼むときの伝え方までを整理します。

UIモーションデザインの実務イメージ

モーションには「仕事」がある

UIアニメーションは装飾ではありません。良いモーションには必ず役割があります。フィードバック(操作が受理されたことを伝える)、方向づけ(次に何が起きるかを予告する)、フォーカス誘導(視線をどこに向けるか)、連続性(画面遷移の前後関係をつなぐ)の4つです。逆に言えば、この4つのどれにも当てはまらない「なんとなく動かしてみた」演出は、ユーザーの操作を待たせるだけのノイズになりがちです。

イージングの選び方:ease-in/out/in-outの使い分け

Material Design 3 のモーションガイドでは、要素の動きを「画面に入る」「画面から出る」「画面内で変化する」の3パターンに分け、それぞれ異なるイージングカーブを当てることを推奨しています。等速直線(linear)はUIではほぼ使いません。

シーン 推奨イージング 体感
要素が画面に入る(entry) ease-out(減速) 勢いよく現れて自然に止まる
要素が画面から消える(exit) ease-in(加速) すっと画面外へ抜けていく
画面内での位置・状態変化 ease-in-out(標準カーブ) 滑らかに加速・減速する
常時ループ・機械的な動き linear(等速) 基本的にUIでは避ける

デュレーションの目安:長すぎても短すぎてもダメ

アニメーションの時間は「短すぎると唐突」「長すぎると鈍重」に感じられます。目安としては、マイクロインタラクション(ボタンのホバーなど)は100ms前後、画面遷移などの標準的なトランジションは200〜300ms、どれだけ長くても500msを超えると「待たされている」感覚が生まれると言われています。

用途 デュレーションの目安
マイクロインタラクション(ボタン、トグル) 約100ms
要素の出現・消失、パネルの開閉 200〜300ms
大きな画面遷移・レイアウト変化 300〜500ms(上限500ms程度)

移動距離が長い要素や大きな面積を占める要素ほど、わずかに長めのデュレーションが自然に感じられます。transformとopacity以外のプロパティ(widthやtopなど)をアニメーションさせるとレイアウト再計算が発生し、カクつきの原因になりやすい点にも注意が必要です。

段階演出(スタッガー)でリズムを作る

リストやカード一覧が表示される際、全要素を同時に動かすのではなく、わずかな遅延を付けて順番にアニメーションさせる手法を「スタッガー(stagger)」と呼びます。視線を上から下、あるいは左から右へと自然に誘導でき、画面全体に「揃った」印象を与えられます。CSSでは各要素のanimation-delayをcalc()やsibling-index()で位置に応じてずらす方法があり、ReactなどではMotion(旧Framer Motion)のstagger()ユーティリティを使うと簡単に実装できます。ただし要素数が多い一覧でスタッガーを効かせすぎると、表示完了までの体感時間が伸びてしまうため、遅延の合計は数百ms程度に収めるのが無難です。

夜の街を流れる光の軌跡、モーションのイメージ
Photo: wwarby / CC BY 2.0, Openverse経由

アクセシビリティ:prefers-reduced-motionを忘れない

アニメーションは万人にとって心地よいものではありません。前庭障害(めまいやバランス感覚の異常)を持つ人にとって、大きな動きやパララックス、常時ループするアニメーションは強い不快感や吐き気の原因になり得ます。OSレベルの設定を検知できるprefers-reduced-motionメディアクエリを使えば、「モーションを減らす」設定を有効にしているユーザーにだけ演出を控えめにできます。すべてのアニメーションを無効化する必要はなく、拡大・回転・視差効果をフェードや色の変化に置き換えるだけでも十分な配慮になります。JavaScriptで制御しているカルーセルや自動スクロールも、同じ設定を尊重するべきです。

実装はどれで? CSS駆動アニメーション vs Motion(旧Framer Motion)

2025〜2026年にかけて主要ブラウザに実装が揃ったCSSのスクロール駆動アニメーションとView Transitions APIは、JavaScriptを追加せずブラウザのコンポジタ上で動くため、軽量かつ滑らかです。一方で、ドラッグ操作やスプリング(バネ)の物理演算、分岐のある複雑な演出は依然としてJavaScriptライブラリの得意分野です。

手法 得意なこと 注意点
CSSスクロール駆動アニメーション / View Transitions API スクロール連動演出、ページ遷移、軽量・高速 Firefoxはクロスドキュメント遷移が2026年時点で発展途上
Motion(旧Framer Motion)など JSライブラリ ドラッグ、スプリング物理演算、複雑な状態分岐 バンドルサイズが数十KB増え、パフォーマンスに影響しうる

「まずCSSでできないか」を検討し、ジェスチャーや物理演算が必要な場面だけJSライブラリを足す、という判断が2026年時点でのバランスの良い選び方と言えそうです。

AIにモーション実装を頼むときのコツ

Claude CodeやAIサイトビルダーにアニメーション実装を依頼すると、根拠のないデュレーションやイージング、reduced-motion対応の欠落が起きがちです。プロンプトに次のような条件を明示すると、ここまで紹介した原則に沿った実装になりやすくなります。

  • 「entry要素はease-out、exit要素はease-inで」のようにイージングの種類を指定する
  • デュレーションを「200ms前後」のように数値で指定する
  • 「prefers-reduced-motion: reduceのときは演出を無効化またはフェードのみにして」と明示する
  • アニメーション対象を「transformとopacityのみ」に限定するよう伝える

主な情報源

各ツール・サービスは提供元の規約に従ってご利用ください。情報は各情報源の公開時点のものです。収集・要約はAI、公開判断は人。