1001Ferramentas
🎬Dev

prefers-reduced-motion CSS

Gera snippet CSS @media (prefers-reduced-motion: reduce) para desativar animações.

CSS

Respeitar quem pediu menos movimento

Animação de entrada, rolagem suave e paralaxe são desconforto real para parte das pessoas: distúrbio vestibular, enxaqueca com aura e algumas formas de epilepsia reagem mal a movimento na tela. Por isso os sistemas operacionais têm a opção de reduzir movimento, e o navegador a expõe ao CSS pela media query prefers-reduced-motion.

A página monta o bloco que atende essa preferência. Escolha a abrangência: a versão de página inteira aplica a regra a todos os elementos e é a recomendação usual, porque pega inclusive animação de biblioteca de terceiros que você não escreveu; a versão restrita limita o efeito a uma classe, para quando existe animação que precisa continuar por transmitir informação.

Repare que as durações não vão a zero, e sim a um valor mínimo. É de propósito: animação com duração zero pode não disparar o evento de fim, e código que espera por esse evento para prosseguir travaria. Um centésimo de milissegundo é imperceptível e mantém o evento. O scroll-behavior também entra na lista, porque a rolagem suave é uma das queixas mais frequentes.

Perguntas frequentes

Isso desliga toda a animação do site?
Na versão de página inteira, praticamente sim — e é o comportamento desejado quando alguém pediu menos movimento no sistema. Se alguma animação for essencial para entender a interface, prefira reduzi-la a algo sutil, como uma transição de opacidade, em vez de mantê-la em movimento.
Como testo sem mexer no meu sistema?
Pelas ferramentas do navegador: no Chrome, em Rendering, há a opção de emular prefers-reduced-motion; o Firefox tem opção equivalente. Mudar de verdade a configuração do sistema também funciona — no macOS fica em Acessibilidade, e no Windows em Efeitos visuais.
Dá para consultar isso pelo JavaScript?
Dá, com matchMedia sobre a mesma consulta, e é o caminho quando a animação é feita em código e não em CSS. Vale registrar um ouvinte de mudança: a pessoa pode ligar a preferência com a página já aberta, e o certo é reagir na hora.

Ferramentas Relacionadas