WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: question re:javascript menus


From: Paul Bohman
Date: Aug 24, 2001 11:02PM

Providing the content in a noscript tag is good for those who have
JavaScript disabled. There are two _very large pitfalls_ to this approach
1. Most screen readers work with Internet Explorer, which, by default, has
JavaScript enabled. This means that most people using screen readers will
never see the noscript content. Also, most people using screen readers do
not use a mouse. This usually means that they will never be able to activate
drop-down menus which require mouse movement. They will never know the menus
are there, and they will miss out on the content.
2. Most people with mobility impairments who cannot use a mouse will never
be able to activate the menus either, for the same reason. Tabbing to a link
does not activate menus with the onMouseover event handler.
Conclusion: JavaScript menus activated by a mouse are completely
inaccessible to screen reader users and others who depend on the keyboard,
even if a noscript tag is present.
Possible solutions:
1. Don't use JavaScript menus.
2. Provide a redundant non-JavaScript alternative somewhere else on the
page. The Microsoft web site is a good example of this approach. They have
menus that only work in Internet Explorer on a Windows machine. When you go
to the site in Netscape or Opera, the drop down menus are absent, but there
are text links which provide the same function.
3. Provide a text only version of the site, with all the related links. This
is a tricky and dangerous option, because it means you have to maintain two
"separate but equal" sites, which is a tough task to do, unless you have a
sophisticated database system with server-side scripting.
4. Use HTML form drop-down elements, rather than JavaScript ones. (Make sure
that JavaScript is not required to activate them.)
Paul Bohman
Technology Coordinator
WebAIM (Web Accessibility in Mind)
Utah State University
-----Original Message-----
From: WebAIM forum [mailto: <EMAIL REMOVED> ]On Behalf Of
Reisz, Wesley T Mr USAREC
Sent: Friday, August 24, 2001 8:14 AM
To: WebAIM forum
Subject: RE: question re:javascript menus

||We used to use javascript menus on our site to eliminate some of the
||clutter. Can anyone tell me for sure if they are accessible. I have
||removed them because I would rather err on the side of being accessible
||than not but would love to use them if possible.

Here's what we do...
First keep one thing in mind, the purpose of Section 508 is to provide
accessibility to people with handicaps, not to give you a set of guidelines
on building pages. The guidelines are ways to help you achieve
accessibility, not the requirement it self.
Javascript navigation menus can really save space and help you organize a
site well from a visual (point and click) standpoint. So we (US Army) use
them, and then we insert <noscript></noscript> tags in the page. If
Javascript is disabled (or unavailable), the noscript tags are enabled;
otherwise, they are not shown. In the <noscript> tags, we place text and a
link to a text-based map of the links shown in the Javascript dynamic menu.
Now we also take several other approaches, but I think that is the easiest
and most applicable to this thread. I'd show you a sample, but we are on a
extranet with dedicated VPN access for the US Army.
Wesley T. Reisz
Recruiting Central Developer