Maybe then a tip could be added to explain that functionality

something like:

<p title="tip>Alt+Demo Arrow to open select <span>Turn off
tooltips</span></p>
<select>


Darren

On 09/06/07, Steve Green <[EMAIL PROTECTED]> wrote:

 Internet Explorer users can use Alt+Down Arrow to open the SELECT element
and then use the arrow keys to navigate within it without triggering the
onChange event. One of our JAWS users does this as a matter of course for
every combobox because he cannot know if they have an onChange event
attached or not. However, I suspect that most people will not know that you
can do this even if they routinely use keyboard navigation.

Steve


 ------------------------------
*From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] *On
Behalf Of *Sander Aarts
*Sent:* 09 June 2007 05:30
*To:* wsg@webstandardsgroup.org
*Subject:* Accessible auto-submit dropdowns [WAS: Re: [WSG] WCAG Samurai
Errata]


Matthew Pennell schreef:

On 08/06/07, Lea de Groot <[EMAIL PROTECTED]> wrote:
>
> On Fri, 8 Jun 2007 07:27:46 +0100, Matthew Pennell wrote:
> > Auto-submitting dropdowns are not usable by keyboard users.
>
> More information, please? :)


Auto-submit dropdowns mostly work by triggering the onchange event of the
SELECT element. This is fired when you select a different OPTION using a
mouse - however, if you are using a keyboard, it is fired when you press the
down arrow to move through the list. You therefore can't select anything but
the first OPTION, as it triggers the onchange event and submits the form.


In Firefox you can use your keyboard in such case, but at least IE and
Opera will submit on the first <option>.

I've tried to write a script that offers auto submit, but still enables
keyboard navigation. When a keyboard is used the submit is triggered on
blur. In Opera hitting 'enter' can be used as well to submit as this is the
browsers normal behaviour (in IE and Firefox hitting 'enter' only submits
the form if the focus is on an <input>).


Here it is (autoSubmit() needs to be called on load):


    function autoSubmit() {
        if (!document.getElementById) return;

        var selectNav = document.getElementById('selectNav');
        if (!selectNav) return

        selectNav.onfocus = function() {
            this.origVal = this.value;
        }
        selectNav.onchange = function() {
            if (this.newVal) this.origVal = this.newVal;
            this.newVal = this.value;
        }
        selectNav.onblur = selectNav.onclick = function() {
            if (this.newVal && this.newVal != this.origVal) {
                this.form.submit();
            }
        }
    }


    <form>
        <select name="selectNav" id="selectNav">
            <option value=""></option>
            <option value="1">one</option>
            <option value="2">two</option>
            <option value="3">three</option>
        </select>
    <form>


I briefly tested it in IE7, Fx2 and Op9, so it may need some tweaking for
other browser. In real life there should (initially) be a submit button as
well of course to grant access for those who have disabled JavaScript.
Hopefully it is usefull to someone.

cheers,
Sander


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

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



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

Reply via email to