Skip to content

fix(a11y): keyboard-operable launcher - #198

Merged
boehlerlukas merged 1 commit into
masterfrom
gleap/launcher-keyboard-a11y
Nov 2, 2026
Merged

boehlerlukas merged 1 commit into
masterfrom
gleap/launcher-keyboard-a11y

Conversation

@boehlerlukas

Copy link
Copy Markdown
Contributor

From the 11-01 onboarding audit (F04): Tab skipped the launcher, which was a div with no role, tabindex or name.

  • role=button, tabindex=0, aria-label (the widget button text, else "Open support chat") and aria-expanded.
  • Enter and Space open it and move focus into the messenger frame.
  • Closing while focus is inside the messenger (Escape, the close button) returns focus to the launcher.
  • :focus-visible ring on the icon / classic button, in the button colour.

It stays a div: a <button> would pick up the host page's button styles.

🤖 Generated with Claude Code

The launcher is a focusable role=button with a name and aria-expanded; Enter
and Space open it and move focus into the messenger, a visible focus ring shows
on keyboard focus, and closing the messenger from inside returns focus to it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@boehlerlukas
boehlerlukas merged commit c1a185e into master Nov 2, 2026
1 check passed
@boehlerlukas
boehlerlukas deleted the gleap/launcher-keyboard-a11y branch November 2, 2026 07:13
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