Building with care

Accessibility & motion

The interaction is only finished when more people can use it.

Reduce Motion

Every component reads the system’s accessibilityReduceMotion environment value. Spring interpolation, decorative rotation, and extra stretching are disabled or simplified. Direct manipulation remains available where it conveys the user’s gesture.

Do not remove this behavior when changing animation values. Test with Reduce Motion enabled in the device’s accessibility settings, not just by slowing a simulator animation.

VoiceOver and focus

Actions use native buttons with labels. Selected tabs announce their state, collapsed radial actions are hidden from accessibility, and expanded card content hides the underlying card list. The sheet handle supports an adjustable action.

Custom inline surfaces are not system modal presentations. If an interaction must prevent access to the rest of a screen, use a native .sheet or another appropriate system presentation around it.

Alternatives to gestures

Expanding cards include a close button. The morphing sheet handle can be tapped, or adjusted with VoiceOver. The radial menu exposes individual actions as ordinary buttons. Do not make dragging the only path through an important workflow.

Your content matters

  • Test larger Dynamic Type sizes, long translations, and right-to-left layouts.
  • Check color contrast after replacing the sample colors and images.
  • Keep essential errors and confirmations in persistent screen content, not only timed toasts.
  • Use stable, unique IDs so animation and accessibility focus follow the intended item.
  • Verify behavior with VoiceOver and on a physical iPhone before shipping.

What is tested

The project compiles the native source for iOS and macOS, tests installer safety and registry integrity, renders native views in light and dark appearances, and checks the documentation website with automated accessibility and browser tests.

Those checks are not a certification of your app, every device, or every assistive-technology combination. Your content and integration still require testing.