I completely agree that hiding things with JS is much better than hiding with CSS in this case, but as you say it’s hardly rocket science. A more complete article might have been if you came up with a cunning method to stop the “flicker” you get between the submenu showing and the javascript hiding it… I’ve not tried to solve this problem before and am embarrassed to say that the best I can come up with is putting a element straight after the menu which would presumably hide it quicker than an onload event? Not pretty though… any ideas?
It’s a minimal issue in this case, but with a bigger menu system – or one with a contrasting background colour – the flicker issue becomes much more significant.
Personally the solution I’ve used before is an “expand all” link at the bottom of the menu that reloads the page with a non-dynamic menu. A bit of functionality that some users might appreciate anyway, and solves the accessibility problem on a page that would have had a hugely unpleasant flicker when the menus got hidden (large menu at clients demand).
I completely agree that hiding things with JS is much better than hiding with CSS in this case, but as you say it’s hardly rocket science. A more complete article might have been if you came up with a cunning method to stop the “flicker” you get between the submenu showing and the javascript hiding it… I’ve not tried to solve this problem before and am embarrassed to say that the best I can come up with is putting a element straight after the menu which would presumably hide it quicker than an onload event? Not pretty though… any ideas?
It’s a minimal issue in this case, but with a bigger menu system – or one with a contrasting background colour – the flicker issue becomes much more significant.
Personally the solution I’ve used before is an “expand all” link at the bottom of the menu that reloads the page with a non-dynamic menu. A bit of functionality that some users might appreciate anyway, and solves the accessibility problem on a page that would have had a hugely unpleasant flicker when the menus got hidden (large menu at clients demand).