note · swiftui · animation · design

Matched Geometry Accessibility Checklist

Published July 30, 2026 · 2 min read · beginner

Context

Matched geometry can make a transition feel elegant and spatially continuous. It can also become confusing if the user cannot tell what moved, where it went, or whether the motion respects their settings. This checklist keeps the effect grounded.

The snippet

@Environment(\.accessibilityReduceMotion) private var reduceMotion

let animation: Animation = reduceMotion ? .default : .spring(response: 0.35, dampingFraction: 0.85)

Why this works

The animation choice is now tied to the user’s preference. That lets the screen keep the same relationship between source and destination while making the motion gentler when needed. It also keeps the code honest: the fallback is explicit instead of hidden in a generic animation modifier.

Use this checklist:

  • verify the source and destination are visually related
  • confirm the moving element still makes sense at half speed or no motion
  • test with Reduce Motion enabled
  • keep text readable during the transition
  • avoid animating unrelated layout changes at the same time

Use it when…

  • a card becomes a detail view
  • a thumbnail expands into a larger hero area
  • users need to track what moved from one screen to the next

Avoid it when…

  • the source and destination are not clearly the same object
  • the effect is decorative rather than informative
  • the transition already feels calm without special motion work

Takeaway: Matched geometry should clarify continuity, not just show off motion.

Next steps