Hi, sorry for the earlier confusion.
I previously opened an issue because the sheet animation seemed not to work on iPhone, but I later realized that Reduce Motion was enabled on my device, so I closed that report.
After looking into the source, I noticed this part of the implementation:
const shouldReduceMotion = useReducedMotion();
const reduceMotion = Boolean(prefersReducedMotion || shouldReduceMotion);
With this logic, passing prefersReducedMotion={false} does not appear to explicitly disable reduced motion behavior when the OS-level setting is enabled, because shouldReduceMotion is still included in the condition.
So this is not a bug report, but a feature request:
Would it be possible to support an explicit override so consumers can choose one of these behaviors?
- follow user/device setting
- always reduce motion
- never reduce motion
For example, something like this:
const reduceMotion = prefersReducedMotion ?? shouldReduceMotion;
or an API similar to "user" | "always" | "never".
I understand and respect the accessibility reason for following the OS setting by default. I just wanted to ask because there are cases where app-level control would be helpful.
Thank you.
Hi, sorry for the earlier confusion.
I previously opened an issue because the sheet animation seemed not to work on iPhone, but I later realized that Reduce Motion was enabled on my device, so I closed that report.
After looking into the source, I noticed this part of the implementation:
With this logic, passing
prefersReducedMotion={false}does not appear to explicitly disable reduced motion behavior when the OS-level setting is enabled, becauseshouldReduceMotionis still included in the condition.So this is not a bug report, but a feature request:
Would it be possible to support an explicit override so consumers can choose one of these behaviors?
For example, something like this:
or an API similar to
"user" | "always" | "never".I understand and respect the accessibility reason for following the OS setting by default. I just wanted to ask because there are cases where app-level control would be helpful.
Thank you.