4 ms·
Whenever someone makes a menu with CSS instead of javascript i go crazy as a user. The lack of delay is such a frustration.
by the_mitsuhiko 10y ago
Whenever someone makes a menu with CSS instead of javascript i go crazy as a user. The lack of delay is such a frustration.
- adrianN 10y agoWhenever someone makes a menu with js I don't use the site because I browse without js.
- paradite 10y agoThen you start adding exceptions for every single website you visit, such as http://cs.stackexchange.com/ http://cs.stackexchange.com/
- the_mitsuhiko 10y agoThat's fine. Nobody forces you to use my applications and websites.
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]
- lifthrasiir 10y agoAlso no hover menu [1], please. In JavaScript hover menu is harder to make, but in CSS it is instant and much prone to abusing. [1] http://uxmovement.com/navigation/why-hover-menus-do-users-more-harm-than-good/ http://uxmovement.com/navigation/why-hover-menus-do-users-mo...
- the_mitsuhiko 10y agoCorrectly implemented hover or partial hover menus are fine.
- erlehmann_ 10y agoOne problem is that you do not have hover with keyboard-only or touch browsers.
- vegardx 10y agoYou can always use transitions to add the same effect. I personally enjoy when things open quickly, some people almost fetishize transitions to an absurd level.
- toupeira 10y agoThe bigger problem is things disappearing too quickly, e.g. as soon as your mouse moves one pixel away from a CSS hover menu it's gone.
- huuu 10y agoFortunately you can use animation-delay to simulate bloated Javascript.
- iLoch 10y agoIt's not about bloat, it's about accidentally triggering menus when you move your mouse down the page.
- huuu 10y agoAh! I read the parent's post as sarcastic. But you are right, a little delay can be good.
- scrollaway 10y agoThere's a lot more to this than just "a little delay" to avoid accidental triggers. Good menus are complex. In desktop toolkits, there is a lot of logic to ensure they are accessible and don't behave in annoying ways. For example, a high quality menu will have a certain leeway to trigger into and out of submenus so that you don't accidentally drift into the incorrect submenu should you make an error of a couple of pixels while navigating them. They will have various delays and margins in place so that you are able to move your mouse in straight lines rather than make awkward 90 degree turns. A good menu system will also be navigable with a keyboard-only and will have access keys to quickly jump to items within it. Everybody who is reinventing the wheel because they see a menu as a mere "styled list of links that shows on hover" is missing out on the decades of learned UX that desktop systems have gone through. I sigh whenever I read, as I have many times in these comments, about making menus in CSS so that it's accessible to the 0.001% that doesn't use JS, while shutting off the much more real percentage of users that can't use a mouse (users that don't generally have a choice in the matter - unlike those turning JS off).
- tommorris 10y ago> 0.001% that doesn't use JS https://gds.blog.gov.uk/2013/10/21/how-many-people-are-missing-out-on-javascript-enhancement/ https://gds.blog.gov.uk/2013/10/21/how-many-people-are-missi... 1.1% of users don't see JavaScript enhancements. Most because it doesn't load, not because they've disabled it. Also, some people use browsers that don't support JavaScript, or their ISP filters JavaScript, or a whole bunch of other things. I'm not endorsing making menus in CSS. I'm just saying that it isn't "accessibility vs. people who turn JS off". As the link says: progressive enhancement is the solution to this.
- martin_a 10y agoUsing CSS to create a menu is just fine, because all the technical background needed is already there in HTML. There is no need to throw some crazy JavaScript stuff at a problem that does not even exist. Seems like lots of web developers have forgotten to keep it simple.
- wtbob 10y ago> Whenever someone makes a menu with CSS instead of javascript i go crazy as a user. The lack of delay is such a frustration. You like sluggishness? Whenever I see a menu with CSS, I'm delighted: it means I needn't enable JavaScript (which opens up my computer to infection) just in order to read a list of links.