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 从公开仓库中收录这些内容。

举报或申请下架