This is all explained here: http://www.wait-till-i.com/index.php?p=327
but anyways...

I have often been told that pure CSS is a good idea as javascript is
something that can be turned off - is this true?

Yes, JavaScript can be turned off. However, the flipside of that is
that you can test if it is enabled or not - you can even test if the
user hit a key or clicked a mouse to activate the current link, all
things you cannot do in CSS.
In CSS you expect the browser to support all functionality you create
- with JavaScript you can test for it and only apply it when it is
available. If the browser does not support it you start hacking. This
is why a lot of CSS only menus (not TJK's) add extra invalid markup
for MSIE 6 to behave. In essence, you sacrifice clean, quick loading
HTML to make a technology work that is supposed to be lightweight and
easy.

I am very much in the camp of pushing envelopes etc - but in the 'page'
- at the end of the day, maybe navigation is the one area where you need
to stick to what works best across all scenarios.

Navigation is a very important part of a site, you can get people with
a good page, you keep them with a sturdy and easy to grasp navigation.

I think the most important phrase for this kind of thing is 'graceful
degradation'. I personally think you should have a menu that looks
exactly as you want it with all bells and whistles - on the perfect
platform say a std FF browser. Then it should be capable of degrading as
each bell and whistle is removed. As part of this process I guess
trade-offs are made and that is the beauty of every client being
different. Where one may leave off a bell to help out a particular group
of users ... another may ask for a bag of whistles and stuff 'em!

I'd like to tell the council that I am not paying for not getting any
service, yet I have to. Every shop owner would like people to not
complain but just come, buy and leave, but that never happens either.
You don't build web sites for yourself, you build them for people to
come to them and either buy stuff or tell you how great you are. If
your attitude is that you decide what people are allowed to talk to
you (or which bells and whistles are good for them), you shouldn't
wonder when not many come. This is normally the step when people start
thinking about search engine optimization, cause surely this is why
nobody hangs around or not many people comt to the site.

Graceful degredation is always reacting. You build something shiny and
then take things off, fix them, change them and so on. You look
backward. Instead, we should be planning for the future, not the past
and that is called Progressive Enhancement.

The idea is simple: You create a web site with a navigation that is
easy to grasp and has all the necessary elements in it to navigate
around the site.

This does not mean you add all levels and allow the user to jump to
every page in the site with the menu - this is what sitemaps are for.
If you ever had to tab through 50 links you know it is not helping but
simply annoying. Also consider mobile phones and PDAs as potential
user agents.

You make sure this menu works with no images, no JavaScript and no CSS
available. Then you add CSS to make it look better. Then you take
JavaScript to make it behave differently - maybe add an extra class to
the main navigation element when JS is available to apply a different
style.

You use JavaScript after testing that it is available and apply all
the behaviour with it. To ensure ease of maintenance, you don't put
any look and feel in the JavaScript, but you apply classes dynamically
and keep all the "pretty" look in CSS.

So, I am quite clear on what you DON'T like - but what about these great
combination menus with CSS and javascript? Can you point us to some of
your work? I am not really interested in key tab navigation right now -

And this is where you miss out. A dynamic menu has to be keyboard
enabled, not only for the sake of accessibility, but also for plain
usability. I don't know about you, but I am using keyboard
predominantly to navigate around my operating system. If someone
offers me a menu that looks like it belongs in the browser toolbar or
in a rich user interface app, I do expect it to allow me to navigate
around different levels with cursor keys.

Pushing the envelope does not stop with doing things the same way
we've done them when browsers were awful. I love reading RSS feeds
with Google Reader and navigate them with my cursor keys; I also think
it is very convenient to highlight all my mails in Yahoo Mail with
ctrl+a and mark them as read with another keystroke. Do you prefer
clicking checkboxes?

I'd just like to see:

1. How good these 'super-valid' menus can look.
2. What methods are used to achieve them and how they cope with the
'turning off' idea I have mentioned above.

As to full fledged great examples of dynamic menus:

http://developer.yahoo.com/yui/menu/
http://developer.yahoo.com/yui/examples/menu/

http://www.udm4.com/

Both have been tested with help of disabled people using assistive technology.

I have a non pretty example that does show what I mean in my book:
http://beginningjavascript.com/Chapter8/navigation/index.php

This one takes an even more radical approach: It allows the user to
choose between a dynamic and a "just the necessary parts" menu. You
could turn that around and use the dynamic bit by default and offer
the user an option to turn it off. Granted, an extra level of
complexity, but at least I can expect the user to know what she wants
rather than assuming what she needs.

More on keyboard navigation:
http://developer.mozilla.org/en/docs/Accessible_DHTML#Keyboard_navigation


*******************************************************************
List Guidelines: http://webstandardsgroup.org/mail/guidelines.cfm
Unsubscribe: http://webstandardsgroup.org/join/unsubscribe.cfm
Help: [EMAIL PROTECTED]
*******************************************************************

Reply via email to