-
-
Notifications
You must be signed in to change notification settings - Fork 573
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
fix(a11y): show bottom nav button labels #3120
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for elk-zone ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
✅ Deploy Preview for elk-docs canceled.
|
On deploy preview the checkbox for hiding labels does nothing 👀 (i run /e/OS (Android) with Vivaldi) |
@Dehelssey Unlike other settings, it seems like reloading is required to change to be effective. |
OK, I figured out how to make them reactive. Now checking should be effective immediately. |
uhmmm, why is |
I guess you should also change the button layout in the interface page. |
OK, I'll add labels in that preview too, and move the option below Bottom Navigation header.
I'm not sure yet 😅 |
fe99f78
to
f9f58a8
Compare
Also, fixed the reactivity issue with Other than that, I feel like we should add a small space between icon and label. I'll update that tomorrow. |
Don't merge yet, the preview buttons not being translated, I'm going to fix it.
We also need to fix long texts, we shouldn't use ellispsis... @Dehelssey any idea about this? Check for example Euskera: |
@userquin indeed, ellipsis is not advised. If that label can't be replaced by something shorter I'm not sure how to deal with this. French isn't as effective as english but we don't deal with that long words anyway. In my opinion, two lines label remains the best way to deal with it, but icons should be remain aligned in such a case. |
We cannot do that, the bottom nav should have ~67px height, we can ask if the lang has some abbr. to use in that case otherwise there is no solution for this. (I use md, but we can just ignore that) |
It seems that we need to find a short string for this new button label in some languages. For English, I think we can shorten "More menu" to "More" or something. In various apps, developers themselves somehow come up with good short labels and if no localization is available, they fall back to English. So how about adding new localization keys like For example: "nav": {
....
"conversations": "Conversations",
...
"more_menu": "More menu",
...
+"nav_short_label": {
+ ....
+ "conversations": "Conversations",
+ ...
+ "more_menu": "More", We can just copy the existing Nav bars examplesI checked nav bars in various Android apps (in English, French, and German). SlackPlay StoreContactsOthersGoogle Fit and GitHub |
62e5abb
to
80dfd37
Compare
Maybe we can reduce the elements to 4 when showing the labels... or use ellipsible. NOTE: X using 6 items without labels and Bluesky using 5 whitout labels. |
Showing ellipsis is suboptimal but maybe we need to use ellipsis for now to avoid overflow or two lines of label. For some languages having ellipsis labels, users already have choices either reducing to four buttons or hiding labels when they don't want to see ellipsis. Later, we can encourage translators to shorten those labels to avoid ellipsis as possible. I'd like to keep the maximum number to five since it's better to avoid reducing functionality just for this label issue and the Material guide does not recommend more than 5 buttons1. (Aside from the guideline, I don't know the current state but X app may not be reviewed by accessibility expert team so it may not be a good example in terms of accessibility2) Footnotes |
I'm trying to implement the ellipsis but the current CSS does not work as expected yet. But the two-line label issue was fixed. I referred this method: Truncate String With Ellipsis | CSS-Tricks - https://css-tricks.com/snippets/css/truncate-string-with-ellipsis/ |
fix #3119
This PR includes
With labels
Without labels (current state)
About the default setting, this change may surprise the existing users a bit if they like the current simpler interface. On the other hand, I also understand showing labels by default can provide better accessibility.