RE: Accessible Dynamic Menus

Julian Voelcker wrote:
> Is it possible to have accessible dynamic menus, either the 'windows'
> style ones that drop down from a button at the top of the screen or a
> vertical expanding style menu that can expand downwards to display sub
> items.
> I know that you can do some fun things now with lists and CSS, but can
> they constitute being accessible.

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

Thus any attempt at making a dynamic DHTML menu is going to require
JavaScript (which is ignored by browsers such as Lynx). There's a section of
the 508 standard that says that if you are presenting content using a script
(e.g. your entire navigation menu via a javascript file) you must also have
the same content provided without the scripting (e.g. inside a noscript
element, or in plain text) thus you have to create two separate versions of
the menu.

To clarify my understanding of the 508 guidelines, any content (be it a nav
menu, picture, etc.) that is generated or inserted using a script, is, by
itself, inaccessible, or rather, it would fail a 508 compliance test, unless
duplicate content is provided for non-scripting browsers.

With that said, I have used Top Navigation III from Dynamic Drive
successfully on a site; it can use a keyboard key to open up the menus, but
unfortunately only works in Internet Explorer on Windows. For non-scripting
browsers I have an additional menu in a noscript tag immediately following
the javascript DHTML menu. Example: view in IE5/NS7/Op7
then in Lynx.

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.

Received on Tuesday, 27 May 2003 19:11:42 UTC