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.
@tdarb almost every hamburger menu I've built has been CSS :hover tricks on symantically correct, often nested, <ul> trees. Unfortunately iOS Safari doesn't properly support hover classes so I then have a JS script to fake them under iOS:
https://www.qweb.co.uk/js/ios-hover.js if interested in that script.
It's annoying that JS is needed there, but since Safari users aren't likely to disable JS it's basically fine, and if CSS is disabled the menu will render as a text tree.
Graceful degradation is the key.