RE: Question about a menubutton with a default action

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<http://www.w3.org/TR/wai-aria-practices/#menubutton>, 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:16:23 UTC