Motion Sickness

dylantarre/animation-principles/skills/12-by-problem-type/motion-sickness

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

Use when animation causes dizziness, nausea, disorientation, or vestibular discomfort

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

指導設計與開發人員移除會引發動暈症與前庭不適的動畫模式。

功能
此技能提供診斷與修正會造成頭暈、噁心或方向感迷失的介面動畫的指引。它列出視差、縮放轉場與滾動劫持等危險動效模式,將每種模式對應到迪士尼動畫原則,並提出安全替代方案。它也包含排查清單以及尊重減少動效偏好的 CSS 模式。
適用情境
當使用者反映動畫導致頭暈、噁心或方向感迷失時使用,也適合檢視含有視差、縮放、旋轉或循環動效的介面。它也有助於在發布前稽核動效無障礙性。
執行需求
不需要任何工具、套件或憑證;僅為說明文件,不附帶指令碼。

Motion Sickness Prevention

Eliminate vestibular triggers using Disney's principles safely.

Problem Indicators

  • Users report dizziness or nausea
  • Disorientation during navigation
  • Users avoid certain features
  • Complaints increase with larger screens
  • Parallax or zoom effects cause issues

Dangerous Patterns

These trigger vestibular responses:

  • Large-scale zoom animations
  • Parallax scrolling (especially multi-layer)
  • Full-screen rotations
  • Rapid direction changes
  • Continuous/looping background motion
  • Scroll-jacking

Diagnosis by Principle

Exaggeration

Issue: Over-dramatic motion Fix: Reduce scale of transforms. Max 10-20% size change. Avoid full-screen zooms.

Arcs

Issue: Curved paths cause tracking strain Fix: Use linear motion for functional UI. Save arcs for small, optional elements only.

Follow Through

Issue: Overshooting creates whiplash effect Fix: Remove bounce/overshoot from navigation. Use critically damped springs or ease-out.

Secondary Action

Issue: Multiple moving elements cause confusion Fix: Limit to one primary motion. Remove parallax layers.

Slow In and Slow Out

Issue: Acceleration patterns cause disorientation Fix: Use consistent, predictable easing. Avoid sudden speed changes.

Quick Fixes

  1. Respect prefers-reduced-motion - Non-negotiable
  2. Remove parallax effects - Common trigger
  3. Avoid zoom transitions - Use fades instead
  4. Keep motion small - Under 100px movement
  5. No scroll-jacking - Let scroll be scroll

Troubleshooting Checklist

  • Does animation respect prefers-reduced-motion?
  • Is any element moving more than 100px?
  • Are there any zoom effects?
  • Is parallax present? Remove it.
  • Are there continuous/looping animations?
  • Can users pause or disable motion?
  • Test on large display (motion amplified)
  • Test for 5+ minutes continuously

Safe Alternatives

TriggeringSafe Alternative
Zoom transitionFade + slight scale (max 5%)
Parallax scrollStatic or single-layer
RotationFade or slide
Bounce/springEase-out (no overshoot)
Full-page slideCrossfade

Code Pattern

css
@media (prefers-reduced-motion: reduce) {  *,  *::before,  *::after {    animation-duration: 0.01ms !important;    animation-iteration-count: 1 !important;    transition-duration: 0.01ms !important;    scroll-behavior: auto !important;  }
  .parallax {    transform: none !important;  }}
/* Safe default motion */.safe-transition {  transition: opacity 200ms ease-out;  /* Avoid: transform with large values */}

來源與署名

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

授權條款: 無授權條款

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

檢舉或申請下架