Re: Question about a menubutton with a default action

+1; on to do list.

Matt King
IBM Senior Technical Staff Member
I/T Chief Accessibility Strategist
IBM BT/CIO - Global Workforce and Web Process Enablement 
Phone: (503) 578-2329, Tie line: 731-7398
mattking@us.ibm.com



From:   Marco Zehe <marco.zehe@gmail.com>
To:     Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>, 
Cc:     "W3C WAI Protocols & Formats" <public-pfwg@w3.org>
Date:   08/08/2014 10:24 AM
Subject:        Re: Question about a menubutton with a default action



Bryan, I totally second your view that Space should open the menu as well. 
It always drives me nuts if a menu button does not do it, like some on 
FaceBook, for example. The ones on Google like in Gmail don't require me 
to switch out of virtual mode to get them popped up, on FaceBook, they do.
I would, therefore, second a change to the authoring guide to this effect. 
Strongly! :)
Marco



On Fri, Aug 8, 2014 at 7:15 PM, Bryan Garaventa <
bryan.garaventa@ssbbartgroup.com> wrote:
Regarding the use of the Down arrow to trigger a menu, I believe this 
exposes an issue in the ARIA authoring guide at
http://www.w3.org/TR/wai-aria-practices/#menubutton

 
Where it states:
 

Keyboard Interaction: 
Space or Enter - With focus on the button pressing Space or Enter will 
toggle the display of the drop-down menu. Focus remains on the button. 
Down Arrow - 
With focus on the button and no drop-down menu displayed, pressing Down 
Arrow will open the drop-down menu and move focus into the menu and onto 
the first menu item. 
With focus on the button and the drop-down menu open, pressing Down Arrow 
will move focus into the menu onto the first menu item.
Up and Down Arrow - With focus on the drop-down menu, the Up and Down 
Arrow keys move focus within the menu items, "wrapping" at the top and 
bottom. 
Escape - With focus on the drop-down menu, pressing Escape closes the menu 
and returns focus to the button. 
Tab - 
With focus on the button pressing the Tab key will take the user to the 
next tab focusable item on the page. 
With focus on the drop-down menu, pressing the Tab key will take the user 
to the next tab focusable item on the page. Note that this may be 
difficult to achieve on a web page. 
Typing a letter (printable character) key moves focus to the next instance 
of a visible node whose title begins with that printable letter. 
 
If focus remains on the button when the Enter or Space key is pressed, 
there is no indication that a menu has opened for an AT user, which is why 
setting focus to the first menu item works best for invoking the correct 
navigational mode as well as for indicating that an action has occurred. 
Also, the paradigm for invoking a menu on the platform always moves focus 
into a menu, so that the arrow keys can be immediately used for 
navigation.
 
Additionally, if the Down arrow is used to invoke a menu, it doesn’t 
account for ATs like screen readers that use virtual offscreen models such 
as JAWS and NVDA, where the Down arrow moves to the next line in the 
virtual buffer, and is never passed through to the button.
 
 
From: Marco Zehe [mailto:marco.zehe@gmail.com] 
Sent: Friday, August 08, 2014 3:58 AM

To: W3C WAI Protocols & Formats
Subject: Question about a menubutton with a default action
 
Hi there!
I need some advice here... You know in Firefox, we have these doorhangers 
that pop up when, for example, a site asks you if you want to save a 
password. The button to save the password is actually a menu button with a 
default action, and a downward pointing arrow to open a menu of more 
options. That menu doesn't currently contain the default action. So the 
mouse interaction is: Click on the left side, e. g. the button label, 
performs the default action of saving the password. Clicking on the 
downard pointing arrow will open the popup menu.
The current keyboard interaction is buggy at best. The access key doesn't 
work correctly, and the button has two tab stops, one for the menu button 
piece, one for the default action.
Now, I've read up on the default expected behavior for menubuttons, but 
these don't cover the case of a menu button that also has a default 
action. Nor is there a different role available in IA2 or other platform 
APIs that I know of that would cover this scenario in a way that the end 
user immediately knows what's going on.
My first reaction to the question of how this interaction should be, was 
this:
1.      Pressing the access key should focus the menubutton, but not 
activate anything.
2.      Space should activate the default action.
3.      Down Arrow should open the menu.
The problem here is that current best practices suggest that both space 
and down arrow pop up the menu. And there is no good way to actually tell 
the user that space would, in this case, do the default action and set 
focus back on the page afterwards.
Any ideas or suggestion on how to best solve this would be appreciated. We 
could do an ARIA description for this particular button that tells the 
users on focus that space will submit the default action, and down arrow 
opens the menu for more options. But the best way would be if we had a 
best practices guide somewhere that would include this special scenario, 
or settle on a good way forward for these in general.
Welcoming your comments!
Marco
 
 

Received on Friday, 8 August 2014 17:40:08 UTC