Skip to content

Conversation

@Nitin-100
Copy link
Contributor

@Nitin-100 Nitin-100 commented Jan 11, 2026

Description

This PR fixes keyboard focus visibility issue when tabbing past the Settings button in the left navigation panel.

Why

When the user pressed Tab on the 'Settings' button (the last item in the left navigation panel), keyboard focus moved to the next focusable element but the focus indicator was not visible anywhere on the screen. Users could not identify where the focus had gone.

Keyboard-only users lost track of navigation flow and were unable to continue interacting with the page. This created confusion, interrupted workflow, and prevented users with motor impairments from completing tasks.

What

  • NewArch/src/App.tsx:
    • Added handleSettingsKeyDown handler that cycles focus back to the hamburger menu when Tab is pressed on Settings
    • Added handleHamburgerKeyDown handler that cycles focus to Settings when Shift+Tab is pressed on hamburger
    • This creates a focus trap within the drawer navigation so focus never disappears to an invisible element

Screenshots

movetabs.mp4

Testing

  1. Open the app
  2. Open the navigation drawer
  3. Navigate to the Settings button (last item in the left navigation panel)
  4. Press Tab
  5. Verify focus moves to the hamburger menu (visible focus indicator)
  6. Press Shift+Tab on hamburger
  7. Verify focus moves to Settings (visible focus indicator)
  8. Focus should always remain visible within the navigation panel
Microsoft Reviewers: Open in CodeFlow

Add focus cycling within drawer navigation to prevent focus from disappearing when tabbing past Settings button.
@vineethkuttan
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@Nitin-100 Nitin-100 merged commit 8317e19 into microsoft:main Jan 13, 2026
2 checks passed
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

Successfully merging this pull request may close these issues.

2 participants