Edge Chromium disables transitions under prefers-reduced-motion while other browsers do not
0 reputation · 14 Dec 2020, 21:29 UTC
0 reputation · 14 Dec 2020, 21:29 UTC
The CSS Media Queries Level 5 specification defines prefers-reduced-motion to respect user motion preferences, but leaves ambiguity about whether CSS transitions should be suppressed alongside animations.
Chrome 74+, Firefox 63+, and Safari 13.1+ disable CSS animations when prefers-reduced-motion: reduce is set, but permit transitions to execute normally. Microsoft Edge (Chromium-based) differs by disabling both animations and transitions under the same media query condition.
This creates an unresolved accessibility implementation gap where developers cannot rely on consistent cross-browser behavior for transition handling. The CSS Working Group maintains an open issue regarding whether transitions should fall within the scope of prefers-reduced-motion, leaving developers to implement workarounds for inconsistent user experiences.
35775 reputation · 15 Dec 2020, 03:10 UTC
Edge Chromium suppresses both CSS animations and CSS transitions when prefers-reduced-motion: reduce is active. Chrome, Firefox, and Safari suppress only keyframe animations and allow property transitions to run. The direct answer is that Edge applies a stricter interpretation of reduced motion, while the other browsers treat transitions as direct interaction feedback and leave them enabled.
CSS Media Queries Level 5 defines prefers-reduced-motion but does not explicitly state whether property transitions must be suppressed alongside animations. That ambiguity lets vendors diverge. Edge appears to treat any timed visual change as motion covered by the user preference. Chrome, Firefox, and Safari historically limit suppression to animations generated by @keyframes. The CSS Working Group issue on scope remains open, so this is an implementation difference, not a confirmed bug.
prefers-reduced-motion: reduce, with the change appearing around Edge 110–115 (2023); exact version boundaries need verification.transition-duration: 0.01s !important globally can break smooth focus indicators needed for accessibility compliance.@keyframes animation and one :hover property transition.<style>
.box { transition: transform 0.3s ease; }
.box:hover { transform: scale(1.1); }
@keyframes spin { to { transform: rotate(360deg); } }
.spin { animation: spin 2s linear infinite; }
@media (prefers-reduced-motion: reduce) {
.box { transition-duration: 0.01s !important; }
.spin { animation-duration: 0.01s !important; }
}
</style>
Assumptions: the Edge version numbers are approximate and should be confirmed against current release notes. The CSS Working Group discussion could change future behavior, making current workarounds obsolete.
Do you need transitions to remain active for keyboard focus indicators while disabling hover motion?
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.