Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support 200% zoom in media player on mobile devices #596

Closed
4 tasks
elynema opened this issue Jul 24, 2024 · 4 comments
Closed
4 tasks

Support 200% zoom in media player on mobile devices #596

elynema opened this issue Jul 24, 2024 · 4 comments
Assignees
Labels
investigation Related research work

Comments

@elynema
Copy link

elynema commented Jul 24, 2024

Description

For accessibility purposes, it is recommended to support up to 200% zoom (see WCAG criterion 1.4.4). Although this criterion specifically mentions resizability of text, it makes sense that controls also need to be available at 200% zoom.

Using 200% zoom in the browser, we find that controls are lost from Ramp's media player element on mobile devices in both Safari and Chrome.

Potential solutions:

  • keep a fixed width for player and require scrolling (not optimal)
  • hide player controls behind some kind of widget that can expand
  • wrap player controls to a second row
  • don't expand the size of player controls when text is re-sized (not sure if this follow WCAG appropriately)

Done Looks Like

  • Test behavior across platforms (Android zoom is different than iOS)
  • Investigate ways to retain elements on screen at appropriate sizes when at high zoom levels
  • Fix things while investigating as needed
  • Player icons are always populated in order (previous button, play/pause button, next button, current time, duration display, volume bar, captions button, track scrubber button, quality selector icon, playback rate button, full-screen toggle) when switching between canvases.

200% zoom in Safari on iPhone 15 (not a mini):

screenshot-iPhone 15-17 5 (1)

200% zoom (4 notches larger) in Chrome on iPhone 15 (not a mini):
screenshot-iPhone 15-17 5 (2)

200% zoom (4 notches larger) in Chrome on Galaxy s24:
screenshot-Samsung Galaxy S24-14 0 (2)

@elynema
Copy link
Author

elynema commented Jul 24, 2024

This problem is potentially less critical on iPhones, as the user only needs to be able to click play, and then controls are accessible from the native player?

@elynema
Copy link
Author

elynema commented Jul 24, 2024

Youtube does not solve this problem very elegantly in Chrome on iPhone.
screenshot-iPhone 15-17 0 (6)

@joncameron joncameron added the investigation Related research work label Jul 30, 2024
@Dananji Dananji self-assigned this Aug 7, 2024
@Dananji
Copy link
Collaborator

Dananji commented Aug 9, 2024

I think we can do the following easily to support 200% zoom all supported viewports;

  1. Move progress bar to the top of controls: One of the non-UX friendly things with the current interface when zoomed in is the progress bar getting smaller with zoom-in and making scrubbing harder. For this we can move progress bar to the top of the controls like below;
Screenshot 2024-08-09 at 4 59 41 PM

This allows us a little bit more space for other controls when zooming in.

  1. Keep a fixed width to the player after a certain point (number 1 in potential solutions): I tested YouTube on desktop browsers at 200% zoom and beyond. I observed that, after the player reaches a certain width it doesn't adjust the size of the controls. Instead it keeps a fixed width to the player and enable horizontal page scroll. This is helpful, because one of the issues with zooming in Ramp is controls getting hidden and in-accessible after a certain point.
    I think this might be easier than consolidating icons into a widget (at least for a first-pass), which I haven't been able to figure out yet.

@Dananji Dananji mentioned this issue Aug 12, 2024
@joncameron
Copy link
Contributor

Looks good!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
investigation Related research work
Projects
None yet
Development

No branches or pull requests

3 participants