> > Not working with keyboard access (ok, also not forcing users to tab > > through all links either) and not allowing the menu to stay on the > > screen without causing scrollbars when there is not enough screen > > estate. > > You wouldn't want the menu to disappear, would you?
No, I expect it to pop up to the right or upward instead of causing scrollbars. Instead of extending the available space it tests if it can fit and go to other directions if necessary. > > The "CSS only" functionality is achieved by using a lot of conditional > > comments to support MSIE 6 and the HTML rendered within IE6 is invalid > > (TABLES inside A elements!). The example also does not allow for > > resizing of the text, as I expect that'll cause issues. > > The "text" you're referring to must be the buttons that appear in the > masthead. They are actually images. The text in the menu dropdowns scales > beautifully. As said, an assumption of mine. Sorry about that one. > > It is a very impressive example of research and a creative idea to get > > around the MSIE 6 issue but once again it mixes behaviour, > > presentation and structure to allow for an effect in CSS that could be > > much easier and more accessible with JavaScript. > > The whole point of this menu project was to avoid using JavaScript. Now here is my big question: WHY? Yes, JavaScript may not be available. But JavaScript can - test if it is available, - pull in styles when and if they are needed, - test if the menus will fit the screen and pop them up in other directions where there is space, - provide keyboard access via the cursor keys (as multi level menus work in applications), - allow for delayed showing and hiding to make sure users with bad eye hand coordination can use the menu - even allow to pull in the secondary and tertiary levels via Ajax if needed. >Sorry Christian. Given that Internet Explorer is broken, one is then left with no choice but to mix presentation and structure, and create code that won't validate. No you don't. You have to if you try to shoehorn behaviour into CSS, which was meant for presentation definition. Seeing hacks like this makes me wish :hover was never invented. I am not saying that this is not an impressive amount of research and development, I just see it as one that was based on wrong assumptions. The assumption was that MSIE is "broken" and that CSS is the right technology for menus. Instead, the question before the research should be "how should a multi level menu work, how does it work in other applications and how can we replicate it with web technologies". And when you test all the use cases and problems of a menu like this you will soon find out that CSS is not the technology to use. Invalid markup is one thing, but having to add lots of conditional comments and browser specific markup inside them bloats the HTML unnecessarily and makes it a nightmare to maintain. Furthermore, users that have to rely on tabbing or use assistive technology that does not skip elements with a display attribute of hide willl get EVERY link in the menu on every page, and will thank you for having to tab through them all. We all wave the finger at old outdated JavaScript that does browser sniffing and code forkin, yet by avoiding JavaScript we put the code forking inside the HTML. Same mistake, different playground. By using JavaScript for the behaviour, HTML for the structure and CSS for the look and feel you don't need any extra HTML and your CSS will be a lot smaller, too. Check out James Edward's Menu system and more importantly the chapter on how it was built in the JavaScript Anthology: http://www.brothercake.com/site/portfolio/book/ http://www.brothercake.com/site/products/menu/ Then take a look at Sun/Mozillas research in that area: http://developer.mozilla.org/en/docs/Accessible_DHTML By offering a complex menu like this we are crossing the boundary between web development and application development, and a richer meny also requires richer navigation options. ______________________________________________________________________ css-discuss [EMAIL PROTECTED] http://www.css-discuss.org/mailman/listinfo/css-d IE7b2 testing hub -- http://css-discuss.incutio.com/?page=IE7 List wiki/FAQ -- http://css-discuss.incutio.com/ Supported by evolt.org -- http://www.evolt.org/help_support_evolt/