Reduced Motion Skeleton Fallback
Skeleton loaders that swap a sweeping shimmer for a static placeholder or subtle opacity pulse when prefers-reduced-motion is reduce, keeping loading feedback clear.
Skeleton loaders that swap a sweeping shimmer for a static placeholder or subtle opacity pulse when prefers-reduced-motion is reduce, keeping loading feedback clear.
Loader / prefers-reduced-motion / skeleton
Reimplements a skeleton loader in three motion tiers: default shimmer, reduced-motion opacity pulse, and a strict static placeholder — all reserving layout to prevent CLS on content swap.
Motion-allowed path
The default path shows a moving linear-gradient sheen across skeleton blocks — the typical loading affordance for users without a reduced-motion preference.
Reduced-motion with opacity pulse
When prefers-reduced-motion is reduce, the shimmer is replaced with a low-amplitude opacity pulse that signals loading without lateral travel.
Strictest reduced-motion fallback
The strictest fallback renders a static placeholder with no animation at all. Layout is reserved, aria-busy announces loading, and nothing moves.