-
Notifications
You must be signed in to change notification settings - Fork 89
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
Topbar accessibility mobile and zoomed view #1023
Comments
Thanks for documenting the design! I like it but I'd like to raise some concern I have about this approach. Most significantly, this would be considerable technical work within Stacks (and additional work in Core to implement), and it's enough of a departure from our existing design it probably will warrant some CM cycles to communicate these specific changes and collect feedback. Before I forge ahead with implementing this, I figured it's best to see if there's a lighter-lift approach here. I included some specific notes below.
If at all possible, I'd like to avoid JavaScript solutions for this issue. Having JS handle this issue has the potential to introduce FOUC from the topbar loading before JS has hidden items and it could also introduce additional other accessibility issues (market share and issues for people browsing with JS disabled are remarkably under-reported because most analytics/audit tools report using JS). FWIW, I think we could handle this in pure CSS using a combination of media queries and :nth-child() rules. Here's a very rough pure CSS proof of concept:
I have a few notes on this design:
These are just a few thoughts I came up with and I'd be glad to brainstorm with or expand on any points I made if you'd like. |
@dancormier Thanks for having a look. In terms of a lighter lift approach, the only thing that comes to mind is shoving all the action menus under the overflow menu from the get-go, but we lose some nice visibility of functionality for the user. Depending on how we handle no.1 below, we can have a think about that more seriously.
Edit re no.4 I just had a look at the code and fortunately those panels are added in the right place in the DOM underneath the opening item, so all that should be required is removing |
I'm currently reviewing this in detail and will write up my thoughts separately. In the meanwhile, here are some common cases that have not been outlined in this exploration: Stack Exchange network sites topbar is a little different Logged in to the network, but no user on this site topbar is shared with https://stackexchange.com/ |
@b-kelly apologies for the slowest reply ever :) I think all of these cases can easily follow the pattern established. Have a look at the updated Figma here and let me know if you have any other concerns! |
@dancormier and @b-kelly any fresh thoughts on this? |
I’ve done some thinking and tinkering on this. @shainanigans I think your initial suggestion of priority navigation is probably a better approach than my original suggestion (and other CSS-based approaches I’ve since considered). Going CSS-only seems too fragile and inflexible. A few finer points/questions on the priority navigation approach:
My most significant concern with these changes is resourcing. Since the topbar is such a hotpath component, we’ll need to allocate time to test, retest, and share changes with the community to gather and address feedback/bug reports. |
Thanks for looking into this @dancormier :)
If it's possible to build the priority navigation pattern in such a way that it can be available for all sorts of other menus, it might prove useful. For example, if we design a sidebar that opens and closes and changes the available space of a menu, we could listen to the button click that controls the sidebar and re-render the menu. What needs to happen to get these resources allocated? Is there anything I can do from a design perspective? |
Describe the bug
The Deque audit of Teams raised three issues related to the mobile or zoomed view of the topbar:
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The design of the topbar for smaller screens is adapted to better suit the available real estate as per the Figma file.
Functional specs
The text was updated successfully, but these errors were encountered: