- From: Chris Kreussling <CHRIS.KREUSSLING@ny.frb.org>
- Date: Tue, 21 Sep 1999 10:29:48 -0400
- To: w3c-wai-gl@w3.org
>>> <w3c-wai-gl@w3.org> 09/21 2:53 AM >>>
What's the best way of replacing/completing a javascript that fetches
a new page using an onchange event on a FORM SELECT ?
This is usually done on a page to cut on the number of "activate" the
user has to go thru: one instead of two.
e.g.
<FORM name="f1">
<SELECT name="s1"
onchange="window.location =
document.f1.s1.options [
document.f1.s1.selectedIndex].value">
<OPTION VALUE="http://www.site.com">Go to Site1</OPTION>
<OPTION VALUE="http://www.joe.com">Go to Joe</OPTION>
....etc
As you can see, no submit button, no FORM action.
(invalid HTML among other things)
For non-script aware agents, one would have to add a submit button
next to the SELECT, an action to the FORM, and have a server
script/cgi at the other end of the action handling the redirect to the
new page.
My question: is it better to have this server program (CGI or else)
use HTML redirect, that is, return a simple HTML document with
<META http-equiv="refresh" content="0,http://www.site.com">
or operate directly at the HTTP level by returning a "303 See Other"
HTTP reply ?
<<<
1) Correct the invalid HTML and add ACTION="..." to <FORM>. <http://www.w3.org/TR/REC-html40/interact/forms.html#edef-FORM> Specify your CGI or other server-side script/code as the target of the action. Without valid HTML, accessibility is difficult and limited, at best.
2) Correct the inaccessible form and add <INPUT TYPE="SUBMIT" ...> to the form. Accessibility requires that a non-script option is available. This can be placed within <NOSCRIPT> </NOSCRIPT> to hide it in case the user has scripting available.
3) From your CGI or other server-side script/code, generate the true HTTP redirect, Response Code 303. <http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.4> Don't use the META REFRESH hack.
<author>Chris Kreussling</author>
<disclaimer>The views expressed are
those of the author and do not necessarily
reflect the position of the Federal Reserve
Bank of New York or the Federal Reserve
System.</disclaimer>
Received on Tuesday, 21 September 1999 10:33:31 UTC