Skip to content

fix(web-ui): allow Tab focus traversal inside modal dialogs - #1568

Merged
bobleer merged 1 commit into
GCWing:mainfrom
bobleer:fix/modal-form-tab-focus
Jul 16, 2026
Merged

fix(web-ui): allow Tab focus traversal inside modal dialogs#1568
bobleer merged 1 commit into
GCWing:mainfrom
bobleer:fix/modal-form-tab-focus

Conversation

@bobleer

@bobleer bobleer commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Keep the global IDE-style Tab blocker for app chrome, but allow Tab / Shift+Tab inside modal dialogs ([role="dialog"] / [aria-modal="true"]).
  • Fixes Tab not moving between inputs in Remote SSH “New Connection” and Account Login forms (and other Modal-based forms).

Fixes #

Type and Areas

Type:

bug fix / UI/UX

Areas:

web UI

Motivation / Impact

Global Tab preventDefault in main.tsx blocked focus traversal everywhere except Monaco and xterm. Modal forms (SSH connect, account login) could not Tab between fields. Users can now Tab inside dialogs; main chrome Tab behavior is unchanged.

Verification

  • pnpm run type-check:web (pass)
  • Manual: open Remote SSH → New Connection and Account Login; Tab / Shift+Tab should move between inputs and stay trapped in the modal

Reviewer Notes

Root cause is the capture-phase Tab blocker added in 5566db603 (PR #150). This change only widens the allowlist; it does not remove the global blocker.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

Keep the global IDE-style Tab block for app chrome, but let Tab move
between fields in modal forms such as SSH connect and account login.
@bobleer
bobleer merged commit cabbce8 into GCWing:main Jul 16, 2026
5 checks passed
@bobleer
bobleer deleted the fix/modal-form-tab-focus branch July 16, 2026 03:54
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.

1 participant