- From: Isofarro <w3evangelism@faqportal.uklinux.net>
- Date: Wed, 28 May 2003 09:37:44 +0100
- To: "Hoffman, Geoffrey" <ghoffman@aztrib.com>, <w3c-wai-ig@w3.org>
> Maybe I am missing something, list please correct me if I am wrong here... > the answer is technically "no". > > 'Dynamic menus' that pop-up on rollover > - require a mouse to roll over them > (there are a few exceptions that can be triggered using a key only in > certain browsers) > - require javascript to make a layer appear or hide > DHTML menus are really neat for us dexterous, able-bodied types. However, if > you must comply with accessibility standards AND you want to use a wiz-bang > DHTML menu, then you must also have an alternate site navigation in the HTML > text or a noscript tag. Or... start of with properly marked up HTML - like nested lists, which display normally, then use javascript and CSS to convert that into a drop-down menu - similar to those of http://gazingus.org/dhtml/?id=109 . I think the important thing to remember with DHTML menus is to make sure there's something usable and accessible when either Javascript or CSS or mice (or any combination of them) are missing. I've been giving this some thought for the past few weeks, and I'm slowly convincing myself that it could be possible. Using onmouseover and onmouseout for drop-downs does present a problem - without a mouse there's definitely a problem. However, I've found that with the gazingus menus above, pressing enter when a link is in focus also causes the drop down to appear, so maybe onclick isn't restricted to just the mouse. I have this idea - with a bit of javascript logic, present an onmouseover/onmouseout type menu system to those user-agent configurations that can deal with it, and revert to an onclick type system when there's no onmouseover/onmouseout events being registered - and still after that, fall back to a situation where the toplevel menu degrades to a list of links to pages as a last resort. All three are usable, and with proper list and anchor markup accessible. The scheme I'm imagining (its just thoughts at the moment, I haven't actually implemented it) is basically a set of boolean flags. When a mouseover/out event is triggered first, then revert to a onmouseover/onmouseout driven menu. If onclick is the first event triggered, then revert to an onclick type menu (since I guess it would be difficult to get an onclick event to trigger before an onmouseover when using a mouse, unless there's a click-drag - in which case an onclick based menu might be a better option for the visitor anyway). I'm also toing-and-froing about including onfocus and onblur in there as a possibility of creating a keyboard driven menu. (I noticed the gazingus menus use accesskeys - quite a good solution if it works reliably). There's also the option of having a clickable link that switches off the drop-down menus, so leaving a simple list of links across the top - in a horizontal menu scheme. All in all, I think the best first step has to be a nested list of links representing the menu. Mike.
Received on Wednesday, 28 May 2003 04:38:36 UTC