Shopify / dawn

Shopify's first source available reference theme, with Online Store 2.0 features and performance built-in.
Other
2.53k stars 3.41k forks source link

[Slideshow] Stop auto-rotating slides when user interacts with its controls #2494

Open melissaperreault opened 1 year ago

melissaperreault commented 1 year ago

Describe the current behavior

Slideshow section: Auto-rotates even when users interact with the previous/next buttons and the pagination controls.

Describe the expected behavior

Better usability/accessibility: Once a user has explicitly activated one of these previous/next buttons, the auto-rotating functionality should stop. If users are currently reading/interacting with content in the carousel, and the slide that they are currently on is advanced and replaced with new content the experience will be disorienting, as they may not realize the reason why the content they were currently on suddenly disappeared.

Version information (Dawn, browsers and operating systems)

bakura10 commented 1 year ago

I agree with this in theory, in practice the ones being disorienting are the merchants, not understanding why their setting is not respected and why it stopped auto-scrolling.

We took the approach of stopping auto play when interacting in the past, but due to constant support about that, we finally gave up this on our recent themes, and those frequent support requests stopped.

baldurh commented 1 year ago

Sounds like this could be a setting?

ludoboludo commented 1 year ago

I think there might be a misunderstanding of how it currently works 🤔

We're already pausing the auto-play if you're hovering over the next/previous buttons or the slide itself. Out of curiosity, was this something we checked with someone from the accessibility team ? video example

melissaperreault commented 1 year ago

We're already pausing the auto-play if you're hovering over

Yes, this is true, but we also need to stop the auto-play as the user clicks on the arrow. Their cursor might not be on top of the container to have it paused while they read, this is what becomes distracting/disorienting.

It's mostly to encourage and enforce readability; if you are reading through the content of the slide you clicked next, you don't want it to skip to the next slide if you are not done reading.