[PR #12612] fix(app): make keyboard focus visible in settings #14296

Closed
opened 2026-02-16 18:19:06 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/anomalyco/opencode/pull/12612

State: closed
Merged: Yes


Fixes: #12611

Keyboard users can now clearly see which settings control is active while tabbing, reducing missed toggles and navigation confusion across settings panels and tool cards.

Also adds a small focus visible state to the collapsible for tool calls.

What does this PR do?

I noticed while working around the desktop app missing keyboard focus states in quite a few places. It seems some were actually unintentionally removed, or missed when doing some refactors. I went ahead and addressed the ones I could see primarily all in the settings menus. For example some referenced a css variable that didn't exist at all: var(--surface-focus)

I know the app is meant to be more click/interaction focused but I do still find myself using the keyboard for flows where I know how to get to something without using the mouse and saw some of these.

I reused the same styling that is applied to some of the places that do have correct keyboard focus styling just applied to some components that happen to only be used in settings.

I also added a focus visible styling to the "tool" collapsible topbar since that was also impossible to tell if it was focused.

How did you verify your code works?

Manual testing. Will post gifs/vids below of mouse vs no-mouse

Settings with keyboard only

settings-with-keyboard

Settings menu - Mouse (for regression)

Important part is the focus visible states don't show which seems to be what the intent originally was. But some of these caused focus states to not show at all.

settings-with-mouse

**Original Pull Request:** https://github.com/anomalyco/opencode/pull/12612 **State:** closed **Merged:** Yes --- Fixes: #12611 Keyboard users can now clearly see which settings control is active while tabbing, reducing missed toggles and navigation confusion across settings panels and tool cards. Also adds a small focus visible state to the collapsible for tool calls. ### What does this PR do? I noticed while working around the desktop app missing keyboard focus states in quite a few places. It seems some were actually unintentionally removed, or missed when doing some refactors. I went ahead and addressed the ones I could see primarily all in the settings menus. For example some referenced a css variable that didn't exist at all: `var(--surface-focus)` I know the app is meant to be more click/interaction focused but I do still find myself using the keyboard for flows where I know how to get to something without using the mouse and saw some of these. I reused the same styling that is applied to some of the places that do have correct keyboard focus styling just applied to some components that happen to only be used in settings. I also added a focus visible styling to the "tool" collapsible topbar since that was also impossible to tell if it was focused. ### How did you verify your code works? Manual testing. Will post gifs/vids below of mouse vs no-mouse Settings with keyboard only ![settings-with-keyboard](https://github.com/user-attachments/assets/fed075cb-f60c-4479-828b-50d65c181b6d) Settings menu - Mouse (for regression) Important part is the focus visible states don't show which seems to be what the intent originally was. But some of these caused focus states to not show at all. ![settings-with-mouse](https://github.com/user-attachments/assets/f94c3d45-bdcf-4135-b00f-64095b5ab297)
yindo added the pull-request label 2026-02-16 18:19:06 -05:00
yindo closed this issue 2026-02-16 18:19:06 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#14296