8000 Implement Arrow keyboard navigation for mobile gnav components by patel-prince · Pull Request #4218 · adobecom/milo · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Implement Arrow keyboard navigation for mobile gnav components #4218

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

Merged
merged 25 commits into from
Jul 5, 2025

Conversation

patel-prince
Copy link
Contributor
@patel-prince patel-prince commented May 22, 2025

Implement Arrow keyboard navigation for mobile gnav components

Resolves: MWPW-171851, MWPW-173923

Test URLs:

QA URL:

📱 Mobile GNav: Keyboard Navigation Guide

This guide explains how users can interact with the Mobile Global Navigation (GNav) using only their keyboard, focusing on arrow key navigation and accessibility behavior.


🔹 Step 1: Opening the Mobile GNav

  1. Start by focusing on the hamburger menu icon using Tab.
  2. Press the Spacebar key to open the Mobile GNav menu.

🔹 Step 2: Navigating Menu Items (Main GNav screen)

  • Use the Arrow Down (↓) key to move the focus to the next menu item.
  • Use the Arrow Up (↑) key to move the focus to the previous menu item.

🚫 Edge Handling:

  • If the last menu item is focused, pressing won’t move the focus further.
  • If the first menu item is focused, pressing won’t move the focus upward.

🔁 Additional Navigation:

  • Press Tab from the last menu item to move to the next focusable element on the page.
  • Press Shift + Tab from the first menu item to move to the previous element on the page.

🔹 Step 3: Opening a Submenu

  • While focused on any menu item, press the Spacebar to open the submenu (popup).
  • This opens a two-column layout:
    • Left column: Subheaders (like tabs).
    • Right column: Submenu items related to the selected subheader.

🔹 Step 4: Navigating the Submenu (Popup)

🔸 Left Side – Subheaders

  • Default focus is on the first subheader.
  • Use Arrow Down (↓) and Arrow Up (↑) to move between subheaders.
  • Press Arrow Right (→) to move from the subheader to the submenu items.

🔸 Right Side – Submenu Items

  • Use Arrow Down (↓) and Arrow Up (↑) to navigate through submenu items.
  • Press Spacebar to activate or open a submenu item.
  • Press Arrow Left (←) to go back to the active subheader.

🔹 Step 5: Exiting the Submenu

  • Press the Escape (Esc) key to:
    • Close the submenu popup.
    • Return focus back to the original GNav menu screen.

✅ Summary of Key Controls

Action Key(s)
Open Mobile GNav Spacebar (on hamburger)
Navigate GNav items ,
Move to next focus after GNav Tab
Move to previous focus before GNav Shift + Tab
Open submenu Spacebar
Navigate subheaders (left side) ,
Navigate submenu items (right) to enter, ,
Open submenu item Spacebar
Return to subheader from submenu
Close submenu Escape
GNav Test URLs

Gnav + Footer + Region Picker modal:

Thin Gnav + ThinFooter + Region Picker dropup:

Localnav + Promo:

Sticky Branch Banner:

Inline Branch Banner:

Blog

RTL Locale

@patel-prince patel-prince changed the title Mwpw 171851 Implement Arrow keyboard navigation for mobile gnav components May 22, 2025
@spadmasa spadmasa assigned spadmasa and prativas22 and unassigned spadmasa and prativas22 May 22, 2025
Copy link
Contributor

This pull request is not passing all required checks. Please see this discussion for information on how to get all checks passing. Inconsistent checks can be manually retried. If a test absolutely can not pass for a good reason, please add a comment with an explanation to the PR.

@patel-prince patel-prince marked this pull request as ready for review May 27, 2025 05:57
@spadmasa spadmasa added the needs-verification PR requires E2E testing by a reviewer label May 27, 2025
@mokimo
Copy link
Contributor
mokimo commented Jun 16, 2025

Heya, since this PR has been open since a while - could you leave some feedback on https://github.com/orgs/adobecom/discussions/4407 why/what is blocking this from proceeding?

@patel-prince patel-prince requested a review from a team as a code owner June 23, 2025 09:18
@spadmasa
Copy link

Hi @patel-prince , As discussed arrow navigation is not seen working when the user is on submenu and try to navigate using right arrow ya down arrow. When traversed via tab to right column content and try arrow down , its seen stopped after completing1 subheader .Kindly take a look on this. PFA recording of the same

Recording.2025-06-26.133835.mp4

@spadmasa
Copy link

Hi @patel-prince , when user traverse to 2nd screen the focus is not on selected tab can this be considered
https://main--homepage--adobecom.aem.page/homepage/index-loggedout?milolibs=MWPW-171851--milo--patel-prince
image

@prativas22
Copy link

Hi @patel-prince, In the main menu of mobile mode, the Arrow Left (←) and Arrow Right (→) navigation are not working as they should for the Arabic locale. In desktop mode it works fine.
https://main--homepage--adobecom.hlx.live/ae_ar/homepage/index-loggedout?milolibs=MWPW-171851--milo--patel-prince
image

@patel-prince patel-prince requested a review from Deva309 June 30, 2025 05:33
@prativas22 prativas22 added verified PR has been E2E tested by a reviewer Ready for Stage and removed needs-verification PR requires E2E testing by a reviewer labels Jul 3, 2025
@milo-pr-merge milo-pr-merge bot merged commit e78994c into adobecom:stage Jul 5, 2025
22 of 23 checks passed
@milo-pr-merge milo-pr-merge bot mentioned this pull request Jul 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ready for Stage verified PR has been E2E tested by a reviewer
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants
0