Ux Friction

dylantarre/animation-principles/skills/12-by-problem-type/ux-friction

作者 dylantarre83597134ba8f無授權條款99 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫9 個月前更新

Use when animation causes user confusion, delays task completion, or creates frustration

僅含說明Design & Creative
AI 產生的概覽

診斷會讓使用者困惑、延誤任務或感到挫折的介面動畫,並提出修正建議。

功能
這項技能提供一份針對介面動畫造成使用者體驗摩擦的診斷指南。它列出問題徵兆,把問題對應到時間控制、預期、跟隨動作、舞台調度與吸引力等動畫原則,並提供快速修正方法與排查清單。文中也展示一段簡短程式碼範例,用來讓元素在動畫期間保持可互動,並允許使用者跳過動畫。
適用情境
當動畫讓使用者等待、讓人搞不清楚發生了什麼、造成反覆點擊,或導致使用者放棄任務時使用。它適合在懷疑動畫損害可用性的情況下檢視或調整介面動效。
執行需求
不需要任何指令碼或工具,僅為純說明的參考資料。所附程式碼範例假定存在支援 JavaScript 的網頁環境,但僅供示意。

UX Friction

Diagnose animations that block, confuse, or frustrate users.

Problem Indicators

  • Users wait for animations to finish
  • Confusion about what happened
  • Repeated clicks/taps during animation
  • Users skip or abandon tasks
  • "Where did that go?" moments

Diagnosis by Principle

Timing

Issue: Animation too slow for the context Fix: Match duration to user intent. Micro-interactions: 100-200ms. Transitions: 200-400ms. Never block input.

Anticipation

Issue: Action happens without warning Fix: Add subtle anticipation cues before significant changes. A button press should show feedback before the result.

Follow Through

Issue: Animation ends abruptly Fix: Let elements settle naturally. Sudden stops feel broken. Add slight overshoot and settle.

Staging

Issue: Important changes happen outside focus Fix: Draw attention to where change occurs. If content moves, guide the eye with motion.

Appeal

Issue: Animation feels arbitrary Fix: Every animation should have clear purpose. If users question "why does this bounce?", remove it.

Quick Fixes

  1. Make animations skippable - Click/tap should complete or skip
  2. Reduce duration by 30% - Most animations are too slow
  3. Add progress indicators - For anything over 400ms
  4. Animate in user's focus area - Don't move things peripherally
  5. Remove decorative animations - If it doesn't help, it hurts

Troubleshooting Checklist

  • Can users interact during animation?
  • Is duration under 400ms for transitions?
  • Does animation communicate state change?
  • Is the animation skippable if lengthy?
  • Does motion guide attention correctly?
  • Is there feedback for user input?
  • Would removing animation hurt understanding?
  • Test with impatient users (click rapidly)

Pattern

js
// Allow interaction during animationelement.style.pointerEvents = 'auto';
// Make animation skippableelement.addEventListener('click', () => {  element.getAnimations().forEach(a => a.finish());});

來源與署名

來源:dylantarre/animation-principles位於skills/12-by-problem-type/ux-friction提交8359713

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架