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

AVT 2 & 3 - React Header Base w/Navigation, Actions & SideNav UI Shell has keyboard navigation issues #3584

Closed
snidersd opened this issue Jul 30, 2019 · 7 comments · Fixed by #5235
Assignees
Labels

Comments

@snidersd
Copy link

Environment

macOS Mojave version 10.14.5
Chrome Version 75.0.3770.100 (Official Build) (64-bit)
Carbon v10 - React
DAP - July 2019 Ruleset

Detailed Description

  1. Open the React Header Base w/Navigation and ensure the links are displayed in the horizontal menu bar.
  2. Tab to the first menu item, then arrow right to the next menu item and nothing happens.
    Expected result: right and left arrow keys should navigate right and left across menubar
  3. Tab to Link 4 and use up and down arrows to navigate the submenu and nothing happens.
    Expected result: arrow keys should navigate up and down the sub-menu
  4. Tab to the side menu and use up and down arrows to navigate the menu and nothing happens.
    Expected result: arrow keys should navigate up and down the menu
  5. Hit Enter or Space on an expandable menu item and it expands and collapses as expected.
  6. Make the browser window smaller so the menu displays as a hamburger icon. In addition to the issues mentioned above the following issues are also present:
  • Press Esc does not close the menu
  • After tabbing to open the menu tabbing again moves focus to the next focusable item in the banner.
    Expected result: Navigation should focus on the next menu item and Esc should close the menu.
    See ARIA Authoring Practices for menu and menubar for keyboard navigation.
@snidersd
Copy link
Author

snidersd commented Aug 8, 2019

Also, see a new similar issue #3661.

@snidersd
Copy link
Author

There is a new issue #3763 that is related.

@aledavila aledavila added this to the UI Shell - A11y Project Team milestone Sep 30, 2019
@dakahn dakahn added priority: high severity: 1 https://ibm.biz/carbon-severity labels Sep 30, 2019
@dakahn dakahn modified the milestones: UI Shell - A11y Project Team, Carbon WCAG Compliance Nov 21, 2019
@aledavila aledavila added package: react carbon-components-react type: bug 🐛 labels Dec 6, 2019
@mattrosno mattrosno removed this from the ♿Carbon WCAG Compliance♿ milestone Dec 13, 2019
@emyarod
Copy link
Member

emyarod commented Jan 28, 2020

currently Tab, Space, Enter, and Esc are all functional for navigating through the header nav and side nav as well as submenu items with the keyboard. if arrow key navigation is a specific requirement we can revisit this issue

@emyarod emyarod closed this as completed Jan 28, 2020
@snidersd
Copy link
Author

@emyarod @dakahn According to the ARIA Authoring Practices for menu and menubar arrow keys navigation is expected. If the component does not follow this pattern it should be reopened.

@dakahn
Copy link
Contributor

dakahn commented Jan 29, 2020

Added blocked label pending word from IBMa Standards on which pattern to use here

ref for background: w3c/aria-practices#353

@snidersd
Copy link
Author

snidersd commented Jan 30, 2020

@dakahn IBMa discussion... Currently the Carbon UI Shell has navigation menus with the ARIA role="menu", which relays to users of assistive technology that they can expect application menu keyboard interactions (i.e., arrow keys to move between items; Esc to collapse the menu). In this case the component should have the keyboard navigation as defined in the ARIA Authoring Practices. However, if the navigation menus are not meant to be application menus, ARIA role="menu" should be removed.
Also, see Example Disclosure for Navigation menus.

@dakahn
Copy link
Contributor

dakahn commented Jan 31, 2020

If we erroneously have role="menu" implying an application menu, let's remove it and continue with the navigation menu pattern we've been using 🏄 Unblocking, thanks @snidersd

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