tdarb,
@tdarb@fosstodon.org avatar

Dear product designers / web devs:

You should avoid hamburger menus on the mobile web 9/10 times.

  1. No one implements them correctly
  2. Most fail when JavaScript is disabled - leaving site navigation useless
  3. A list of your navigation options works better for screen readers / keyboard movement

Just say “No” to hamburger menus.

susgeek,

.@tdarb interesting!!! I do use hamburger menus, particularly with mobile.

fell,
@fell@ma.fellr.net avatar

@tdarb I do agree with you. Hamburger menus - especially those that won't work without - should be eradicated.

However, your proposed solution of puttint the navigation at the bottom of the page doesn't solve one of the problems created by hamburger menus: The navigation options aren't visible after loading the page, so visitors cannot see at a glance what's on offer. I think the navigation should be at the top of the page whenever possible, even if it takes up screen space. 1/2

fell,
@fell@ma.fellr.net avatar

@tdarb A book has table of contents at the beginning, I think we should aim to normalise putting a table of contents (at least the first level of navigation) at the start of the page and incorporate that into . Most print media offers an overview of "what's there" in the beginning, so why not the ?

I think it should be okay to cover half of a phone screen with a table of contents before the page body begins.

tdarb,
@tdarb@fosstodon.org avatar

I was thinking a lot about this previous post recently, so I wrote up a quick post:

"Stop Using Hamburger Menus"

https://bt.ht/hamburgers/

#web #html #mobile

RL_Dane,
@RL_Dane@fosstodon.org avatar

@tdarb

I don't mind them too much on websites or even mobile, but I find them insulting and infuriating on the desktop.

GeoffHale,

@tdarb

Just when I think I've tinkered enough with my own small site idea ( inspired by the 1mb club and a few others ) along comes another good idea and it's back to the tinkering mode...

Good idea and agree with the key points

[Scribbles note for the Corporate Intranet...]

benjaminhollon, (edited )
@benjaminhollon@fosstodon.org avatar

@tdarb
Sooo I opened this post, looked at the date, and got completely thrown for a loop since I thought it was saying you posted this on May 5th. XD

cybergrape,

@tdarb "Looking for an example? This very website utilizes this technique, so give it a spin!"

I read that and looked at the top of my screen and found no link. Then I looked at the bottom and found no links. I was smack dab in the middle of the page so I had to scroll to the top or bottom to actually see the links. And then I had to scroll back and find where I was to keep reading. Not a big deal for such a short piece but for longer pages this would definitely get annoying

tdarb,
@tdarb@fosstodon.org avatar

@cybergrape I think the only way to solve that would be to have a “fixed” or “sticky” menu - which is another poor UX design. Most sites do not have access to headers or footers when viewing the middle of a page, so I’m unsure why this issue is specific here?

cybergrape,

@tdarb Most sites don't have constant access to headers/footers, but most sites have a menu button, which you want to replace with headers/footers. I guess I'm conflating hamburger menus with "sticky" menus since the majority of hamburger menus I see are always present on screen. For the record I'm not saying those menus are great, just that there's a benefit to having some kind of menu/sitemap that one can access at any point on the page without needing to scroll to the top or bottom.

mikemccaffrey,
@mikemccaffrey@a11y.social avatar

@tdarb An interesting approach!

One very minor note on your implementation: You should still use a ul with li's in your header nav element, despite only having the two links, since if you press the next key when navigating with a screenreader while focused on the home link, it currently brings you to the next section, rather than the next item in the menu.

jrp,

@Bradley Taunt It is possible to do this with CSS only.

tdarb,
@tdarb@fosstodon.org avatar

@jrp Yes and I have done that many times in the past. My main point is I don't think hamburger menus are needed at all; javascript or not.

jrp,

@Bradley Taunt On older smart phones with small screens they seem surely needed.

This also tackles: How would you propose to keep things accessible for people who can't afford to always run the newest devices with bigger screens otherwise? (not a polemic question, really)

tdarb,
@tdarb@fosstodon.org avatar

@jrp

Simplest approach:

  1. A link in the header of the page set as "Links" or "Pages" etc.
  2. User clicks this and jumps down to the bottom of the page where all site links are listed
  3. At the top of the page links list is a "back to top"

There are zero downsides to this approach besides hurting designers' pride.

u0421793,

@tdarb they are bad

This, the little balls variant, all the odd shaped variants, they’re all bad

They’re bad because they occlude

You can’t see what’s inside them – you can’t even see why you’d even want to open one of them

That’s assuming you’ve been indoctrinated by the design gatekeeping to have been forcefully educated into recognising that these things are actually an affordance that does things instead of a passive decoration for no real reason, which most normal people would take it for

If you want to hide some options, hide some menu items, hide some vital information, use one of these stupid things – otherwise, don’t

sirber,
@sirber@fosstodon.org avatar

deleted_by_author

  • Loading...
  • benjaminhollon,
    @benjaminhollon@fosstodon.org avatar

    @sirber @tdarb
    Whether or not you're pro-JS you should design your sites to be usable without it, if at all possible.

    tdarb,
    @tdarb@fosstodon.org avatar

    @benjaminhollon @sirber Exactly. Not to mention I go to many websites on iOS via Firefox (with JavaScript enabled) and it still breaks.

    Just because you CAN use something, doesn't mean you SHOULD.

    benjaminhollon,
    @benjaminhollon@fosstodon.org avatar

    @tdarb @sirber
    Do they work on safari on iOS? Because Firefox on iOS uses the same engine underneath, because of Apple's ridiculous anticompetitive policies.

    tdarb,
    @tdarb@fosstodon.org avatar

    @benjaminhollon @sirber Nope - they break there as well. Just how things are implemented or become outdated as browser engines change. If the navigation was listed as plain, semantic HTML links things would never break ;)

    benjaminhollon,
    @benjaminhollon@fosstodon.org avatar

    @tdarb @sirber
    They're not even nice to use on mobile when they do work, in my opinion.

    blake, (edited )

    @benjaminhollon @sirber @tdarb This is one of the reasons I switched blakes.dev from Parcel, and the entire site in Preact, to Eleventy/Vite, and only updating parts in Preact. I made sure to have some no-script fallbacks where they were needed, which iirc was only the statuses fetched from this account and the Bridge Wizard which runs client side.

    edit: I also forgot icons don't work without JS at the moment because Iconify. I have to think of a way to work around it.

    benjaminhollon,
    @benjaminhollon@fosstodon.org avatar

    @tdarb
    I need to buckle down and take the time to implement a mobile navigation menu based on the <details> tag. :)

    m2m,

    @tdarb I agree, plus @silviamaggi has been saying the same for a while, so I'm glad that this is spreading.

    starbreaker,

    @m2m @tdarb @silviamaggi The only hamburgers I like are made with meat, not code.

    futureisfoss,
    @futureisfoss@fosstodon.org avatar
  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • khanakhh
  • magazineikmin
  • mdbf
  • GTA5RPClips
  • everett
  • rosin
  • Youngstown
  • tacticalgear
  • slotface
  • ngwrru68w68
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • tester
  • JUstTest
  • ethstaker
  • cubers
  • osvaldo12
  • cisconetworking
  • Durango
  • InstantRegret
  • normalnudes
  • Leos
  • modclub
  • anitta
  • provamag3
  • megavids
  • lostlight
  • All magazines