W3C home > Mailing lists > Public > w3c-wai-ig@w3.org > April to June 2001

Re: <noscript> interfere with screen readers?

From: Jo Miller <jo@bendingline.com>
Date: Sat, 2 Jun 2001 09:56:28 -0400
Message-Id: <p05100307b73e8fe80313@[192.168.1.101]>
To: w3c-wai-ig@w3.org
At 16:25 -0400 6/1/01, Shifra Raffel wrote:
>Sorry for a slightly newbie question. On a program I'm building, we're using
>the following format, putting the "submit" button inside a <noscript> tag to
>hide it from all but non-Javascript users, for design reasons. Can anyone
>tell me, does this interfere with the accessibility? Many thanks for word.
>
><form method="post" action="/cgi-bin/something.cgi">
>    <select onchange="JavaScript_does_cgi's_thing_unless_scripting_off">
>      <option value="none" selected="selected">Click below:</option>
>      <option value="foo">Foo</option>
>      <option value="bar">Bar</option>
>   </select>
>  <label accesskey="s"><NOSCRIPT><input type="submit" value="do
>something"></NOSCRIPT></label>
></form>

I am always happy to see a functional alternative between NOSCRIPT 
tags for non-javascript users. However, I would also provide some 
method (outside of the NOSCRIPT tags) for people to access an 
alternative menu. My reasons have nothing to do with screen readers, 
so please forgive me for straying from the question.

Javascript SELECT menus that instantly redirect users with the 
ONCHANGE event handler are an accessibility barrier for many people 
with motor impairments (and there is no reason to assume that these 
people will have javascript turned off in their browsers). Menus of 
this sort cannot be used with keyboard-only input by many people; 
ALT+arrow works on IE Windows, but not on Netscape or IE Mac. 
Moreover, the community of people who cannot use a mouse includes a 
large number of temporarily disabled and newly disabled people (think 
hand injury or repetitive-stress disorder) who are not likely to know 
the alt-arrow key combination. Nor will they know the difference 
between client-side and server-side programming, so the fact that 
other (server-side) menus they encounter work fine with simpler 
keyboard input means that they are not likely to stumble across the 
ALT-arrow solution by trial and error; rather, they will just be 
confused as to why some menus "work" and others don't. (And those 
with severely restricted hand mobility might have difficulty 
executing the key combination even if they know it.)

As the discussion below demonstrates, even experienced users of 
assistive technologies can be thrown and frustrated when their 
expectations about a user interface turn out to be wrong:

----------- begin quoted text------------------
http://www.w3.org/WAI/UA/WAI-USERAGENT-TECHS-19991005/

Point C: As a speech user, I am constantly frustrated and misdirected 
by the use of javascript and event handler controlled pseudo-forms, 
wherein the user is presented with a menu (in the form of a listbox 
in GUI browsers), and is redirected to a different viewport upon 
selection of an OPTION.

PROBLEM STATEMENT FOR POINT C:

The markup behind such pseudo-forms is a mix of javascript (in 
particular the "function switchpage(select)" command) and HTML FORM 
controls, which utilize HTML4's event handler script attributes (in 
particular the "onchange" event handler attribute has been defined. 
An example (gleaned from the document source for one Web site follows:

   <SELECT NAME="condition" onchange="switchpage(this)">

When such a menu is encountered by a Web surfer who is using speech 
synthesis in conjunction with a javascript enabled user agent, his or 
her instinctual reaction will be to use the UA's navigation mechanism 
(usually the up and down arrows) to review the available OPTIONs. 
However, each time a new OPTION is displayed, the user is abruptly 
taken to a new viewport. Conversely, if one is using a user agent 
that does not support javascript (or has javascript support 
disabled), then the menu is displayed, but since there is no SUBMIT 
mechanism associated with it, there is no mechanism by which one can 
use the menu to quickly switch viewports - the apparent purpose of 
this type of pseudo-form. And while one can avoid having the viewport 
abruptly changed when encountering the menu (at least in the Windows 
environment) by using the ALT-LEFT-ARROW keystroke to display the 
menu in a drop-down list, (a) very few users know this keystroke, and 
(b) when one encounters a listbox on a page in an aural environment, 
one usually assumes that he or she is navigating a valid FORM, in 
which there are no unexpected side effects to perusing the contents 
of a SELECT menu using the arrow keys
----------- end quoted text------------------

I would add that people with any degree of shakiness or eye-hand 
coordination difficulty (the elderly, the slightly arthritic, the 
hung-over*) can encounter difficulties with javascript menus because 
they often let go of the mouse on the wrong choice and have to use 
their BACK button to correct their mistake. Having seen this happen 
on many occasions, I'm no longer convinced that menus using an 
ONCHANGE event handler are as much of a time-saver for the user as I 
once thought. And while the absence of a submit button usually makes 
for a more aesthetically pleasing and slick page, I am now reluctant 
to let my design considerations override accessibility concerns.

Apologies for the length of the above.

Jo

(* I know that the hung over are not yet a protected group, but we're 
working on that.)

--
Jo Miller
jo@bendingline.com
Received on Saturday, 2 June 2001 09:57:03 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 19 July 2011 18:13:55 GMT