> > 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/

Reply via email to