Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle the "optional" ARIA menu and menuitem keyboard interactions #601

Open
brichwin opened this issue Jun 21, 2022 · 1 comment
Open

Comments

@brichwin
Copy link

brichwin commented Jun 21, 2022

Summary

Some users with physical disabilities must use laborious efforts to navigate UI components using the keyboard or other alternative devices. They may even experience pain when doing so.

ARIA provides keyboard interactions that allow users to control ARIA widgets with a minimum of keystrokes. Unfortunately, IU Rivet does not support many of these "optional" keystrokes.

I have the following use case, but there's nothing in Rivet to support it [...]

An experienced keyboard only user that is familiar with the entries in a dropdown menu might know they wish to activate a menu item near the bottom of the menu. They might chose to attempt using the up arrow key while focus is on a dropdown component's button. ARIA defines the up arrow as opening the menu and setting focus on the last menu item. However, pressing the up arrow on a closed IU Rivet dropdown component's button has no effect. Likewise the "End" and "Home" keys do not move focus to the last or first menu item respectively in an open menu.

Describe the solution you'd like

Implement all of the keyboard interaction defined in the ARIA practices documents for menus (note this is a link) including the up arrow for opening a menu and the home/end keys while navigating a menu's menu items.

Describe alternatives you've considered

What alternatives? Telling end users with disabilities to grin and bear it doesn't seem appropriate.

Similar features or implementations

Please see the Actions Menu Button Example Using element.focus() on the W3C.github.io/aria-practices site for a working example that correctly handles the up key for opening the menu and for handling the home and end keys when navigating the menu.

@brichwin
Copy link
Author

Note: for parity, the IU Rivet Tabs component does attempt to handle the Home and End keys for moving between the first and last tab. For consistency sake, the dropdown component should at least handle those (but avoid the bugs that are in the tabs component)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant