Page MenuHomePhabricator

Infinite motion when "Reduces motion" is enabled on mobile device for skins that are not responsive (Modern, Vector legacy)
Closed, ResolvedPublic3 Estimated Story PointsBUG REPORT

Description

Reported on https://en.wikipedia.org/w/index.php?title=Wikipedia:Village_pump_(technical)&oldid=1089411699#What_is_happening
Visual of issue: https://twitter.com/calichusetts274/status/1527442821199691776?s=21&t=Nutt1XXQkqIhz6f8UDcoEw

List of steps to reproduce (step by step, including full links if applicable):

  • Get an iOS device
  • Enable "reduced motion" on iOS device
  • Go to the history page of an article
  • Click "desktop view"

What happens?:

  • Witness the user interface dancing
  • Zooming has no effect
  • Vector 2022 is not impacted
  • Impacts Modern
  • Impacts CologneBlue
  • Probably impacts Monobook without

Suggested fix

My guess, is that because Vector is not designed to work at lower resolutions, there is a lot of unexpected layout reflow a mobile device. I suggest we limit the existing accessibility rule to only apply at desktop breakpoint

It's possible T306910 might fix this. If not, we likely need to make this module opt-in or only apply to skins that have set themselves as responsive.

Event Timeline

Change 790448 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/core@master] Non-responsive skins should zoom out by default

https://gerrit.wikimedia.org/r/790448

The issue appears to be transition-duration which was set to 0.01ms. Once set to 0 the issue disappears. cc @nray and @Volker_E .

https://gerrit.wikimedia.org/r/790448 also fixes this on page load along with another bug, however the transition-duration issue still kicks in when you click the sidebar on new Vector for example.

Jdlrobson updated the task description. (Show Details)

Change 797418 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/core@master] [Accessibility] transition-duration should be zero

https://gerrit.wikimedia.org/r/797418

Change 797418 merged by jenkins-bot:

[mediawiki/core@master] mediawiki.skinning: `transition-duration` accessibility override set to `0`

https://gerrit.wikimedia.org/r/797418

Change 797219 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/core@wmf/1.39.0-wmf.12] mediawiki.skinning: `transition-duration` accessibility override set to `0`

https://gerrit.wikimedia.org/r/797219

Guessing we should backport this one on Tuesday

Change 797219 merged by jenkins-bot:

[mediawiki/core@wmf/1.39.0-wmf.12] mediawiki.skinning: `transition-duration` accessibility override set to `0`

https://gerrit.wikimedia.org/r/797219

Mentioned in SAL (#wikimedia-operations) [2022-05-24T21:23:35Z] <cjming@deploy1002> Synchronized php-1.39.0-wmf.12/resources/src/mediawiki.skinning/accessibility.less: Backport: [[gerrit:797219|mediawiki.skinning: transition-duration accessibility override set to 0 (T308979)]] (duration: 00m 51s)

Edtadros subscribed.

@Jdlrobson is this already in production? If so I did test it on enwiki but had to use query params to get Modern and Cologne Blue and saw no jitter. The steps indicate that it should happen when clicking on the Desktop link, but I do not know of a way to have it automatically default to those two skins. I would like to test it that way to be certain. Any hints on how?

This is in production yes. I can confirm it's fixed.

(tested on a real iPhone - seeing no jitter)

Jdlrobson claimed this task.

Change 800246 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/core@master] mediawiki.skinning: Use preferred value unit `ms` for `transition`

https://gerrit.wikimedia.org/r/800246

Change 800246 merged by jenkins-bot:

[mediawiki/core@master] mediawiki.skinning: Use preferred value unit `ms` for `transition`

https://gerrit.wikimedia.org/r/800246

Change 790448 merged by jenkins-bot:

[mediawiki/core@master] Non-responsive skins should zoom out by default

https://gerrit.wikimedia.org/r/790448