Skip to content

feat(connections): keyboard focus and VoiceOver in the connection form and welcome screen (#1490)#1505

Merged
datlechin merged 1 commit into
mainfrom
a11y/connection-welcome
May 30, 2026
Merged

feat(connections): keyboard focus and VoiceOver in the connection form and welcome screen (#1490)#1505
datlechin merged 1 commit into
mainfrom
a11y/connection-welcome

Conversation

@datlechin

Copy link
Copy Markdown
Member

Part of #1490 (keyboard, focus, accessibility). Connection form / welcome surface.

Keyboard focus

  • Connection form opens with the Name field focused (@FocusState + .defaultFocus on the Form), so you can type immediately; Tab follows the natural field order.
  • Welcome search field: Return or the Down arrow now hands focus to the connection list (wired the existing onSubmit/onMoveDown callbacks to set focus = .connectionList).
  • Focus restore: after the welcome sheet (import, new group, etc.) dismisses, focus returns to the connection list.

VoiceOver / Full Keyboard Access

  • Color swatches expose selected state (.accessibilityAddTraits(.isSelected)).
  • Host-list entry fields get an accessibility label instead of an empty string.
  • Onboarding Continue / Get Started buttons get .keyboardShortcut(.defaultAction) so Return activates them.

Native SwiftUI focus APIs only (@FocusState, .defaultFocus, .focused), no custom focus handling.

Deferred (follow-ups)

The shared NativeSearchField @FocusState refactor and the AIRulesEditor Tab-forwarding are higher-risk shared/representable changes; left for separate PRs.

Lint clean, style gate clean. Focus/responder behavior verified manually (not unit-testable here).

@datlechin datlechin merged commit 5a223e3 into main May 30, 2026
3 checks passed
@datlechin datlechin deleted the a11y/connection-welcome branch May 30, 2026 06: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