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

ui: Sweep through UI text, clamping max scale factor for less-important content #1023

Open
chrisbobbe opened this issue Oct 24, 2024 · 4 comments
Assignees
Labels
a-a11y Accessibility a-design Visual and UX design
Milestone

Comments

@chrisbobbe
Copy link
Collaborator

When the user has set a very large system text-size setting, the layout can change pretty dramatically. For example, compare (on iOS):

No scaling Largest setting
image image

Apple's Human Interface Guidelines say:

Prioritize important content when responding to text-size changes. Not all content is equally important. When someone chooses a larger text size, they typically want to make the content they care about easier to read; they don’t always want to increase the size of every word on the screen. For example, when people increase text size to read the content in a tabbed window, they don’t expect the tab titles to increase in size. Similarly, in a game, people are often more interested in a character’s dialog than in transient hit-damage values.

This seems like sensible advice. Here is what's needed to complete this issue:

  1. Set the system text size to be very large
  2. Go through all UI areas of the app
  3. Wherever you see less-important content where we can save space by clamping to a max scale factor, do so.

In my "largest setting" screenshot above, the "Mark all messages as read" button seems like a great candidate for this treatment. It's huge at that size. The content in the message list is important and (usually) new/unfamiliar, so it definitely deserves higher priority for readability. I think the compose-box inputs, especially the content input, are also higher priority than the mark-as-read button. (It should be reasonably easy to know what message you'll be sending and where.)

For how to implement the clamping, start by reading these docs: MediaQuery.textScalerOf and TextScaler.scale and the scaler-clamping logic we've already implemented for emoji reactions.

@chrisbobbe chrisbobbe added a-a11y Accessibility a-design Visual and UX design labels Oct 24, 2024
@chrisbobbe chrisbobbe added this to the Post-launch milestone Oct 24, 2024
@Akshaykumar104

This comment was marked as off-topic.

@PIG208

This comment was marked as off-topic.

@Akshaykumar104

This comment was marked as off-topic.

@PIG208

This comment was marked as off-topic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a-a11y Accessibility a-design Visual and UX design
Projects
Status: No status
Development

No branches or pull requests

4 participants