Проблема с системной настройкой reduced motion
С недавних пор верстальщики могут учитывать системную настройку пользователей уменьшения движений (reduced motion) при использовании css анимаций. Эта настройка говорит сайтам, что юзер предпочитает отсутствие лишних движений на экране. Прежде всего речь идет об анимациях.
Вообще эта настройка помогает доступности. Есть люди, которым физически плохо от мельтешения на экране. Они отключают анимации в операционной системе, а авторы сайтов с помощью спец. правила prefers-reduced-motion могут отключить все анимации таким юзерам.
И это замечательно, но есть одна проблема.
Дело в том, что есть другие причины, по которым юзеры используют эту настройку. Самая очевидная - кому-то просто не нравятся анимации в системе. Я один из таких пользователей. Меня раздражают анимации Windows, многие из которых только мешают и замедляют рабочий процесс. Тоже касается и анимаций интерфейса программ. Например браузеров.
Но это вовсе не значит, что я не хочу видеть анимации на сайтах. Не говоря уже о том, что мне как верстальщику, код-ревьюеру и преподавателю просто необходимо их видеть. И вот тут-то и начинаются проблемы. Потому что нельзя просто так взять и отключить только системные анимации. Я не могу сказать “выключи анимации ОС, но продолжай показывать анимации в браузере.” Можно отключить большую часть анимации интерфейса браузера. Но только малую часть анимаций в Windows 10, не включая reduced motion.
Вы можете указать браузерам, чтобы они игнорировали настройку. Например в Firefox за это отвечает ключ ui.prefersReducedMotion в about:config. Но это не даст желаемого результата при отключенной опции в системе.
Это конечно вина не авторов спецификации CSS и браузеров, а недосмотр дизайнеров Windows 10. Я не первый, кто обратил внимание на эту проблему. Но идеального решения на момент описания я не знаю.