Skip to content

Fix Appearance picker focus and selection states#2894

Merged
katinthehatsite merged 4 commits into
trunkfrom
fix-appearance-picker-focus-states
Apr 2, 2026
Merged

Fix Appearance picker focus and selection states#2894
katinthehatsite merged 4 commits into
trunkfrom
fix-appearance-picker-focus-states

Conversation

@shaunandrews

@shaunandrews shaunandrews commented Mar 24, 2026

Copy link
Copy Markdown
Contributor

The recent addition of Appearance settings for light/dark mode introduced new UI in our app settings. I noticed that the focus state is a little awkward.

Here's how it looks with Light selected and in focus:

image

And here's with Light selected and Dark in focus:

image

This PR aims to unify the ring for both selection and focus states, with the color and font-weight to help distinguish between selected and focused.

Selected, and focused:
image

Selected, but unfocused:
image

Light mode, both selected (Light) and focused (Dark):
image

How AI was used in this PR

Claude helped implement the CSS changes. All changes were reviewed and iterated on interactively.

Proposed Changes

  • Move focus ring from the button container to the illustration, matching the selection ring placement
  • Use frame-text color for the selection ring to distinguish it from the blue focus ring (frame-theme)
  • Bold the label text when selected instead of changing its color
  • Turn label text blue (frame-theme) on focus
  • Use group-focus instead of group-focus-visible so clicking an option shows both focus and selection states (consistent with standard input behavior)

Testing Instructions

  • Open Settings → Appearance
  • Click each theme option — should see a blue ring on the illustration and blue label (focus) plus a text-colored ring and bold label (selected)
  • Tab between options with keyboard — focus ring (blue) should appear on the illustration, not the outer container
  • Verify in both light and dark modes

🤖 Generated with Claude Code

Unify focus and selection rings to both target the illustration instead
of the container. Use frame-text for selection and frame-theme (blue)
for focus. Bold the label when selected, blue label on focus.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@wpmobilebot

wpmobilebot commented Mar 24, 2026

Copy link
Copy Markdown
Collaborator

📊 Performance Test Results

Comparing 88caab0 vs trunk

app-size

Metric trunk 88caab0 Diff Change
App Size (Mac) 1273.38 MB 1273.38 MB +0.00 MB ⚪ 0.0%

site-editor

Metric trunk 88caab0 Diff Change
load 1910 ms 1846 ms 64 ms 🟢 -3.4%

site-startup

Metric trunk 88caab0 Diff Change
siteCreation 8183 ms 8172 ms 11 ms ⚪ 0.0%
siteStartup 4840 ms 4848 ms +8 ms ⚪ 0.0%

Results are median values from multiple test runs.

Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff)

@sejas sejas left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested the selector states and they look great. Thanks!

color-scheme-selection.mp4

@katinthehatsite katinthehatsite left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes look good to me 👍 One thing is that I am finding the selected text slightly too bold e.g Light, Dark etc.

Image

Do you think the boldness could be slightly adjusted?

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@shaunandrews

Copy link
Copy Markdown
Contributor Author

Nice catch! I agree. We should be using medium instead of bold.

image

Pushing a fix.

@katinthehatsite katinthehatsite left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for changing the labels, I think it looks better now 😍

I will retrigger the failing tests as they seem to be unrelated.

@katinthehatsite katinthehatsite merged commit 960cba1 into trunk Apr 2, 2026
10 checks passed
@katinthehatsite katinthehatsite deleted the fix-appearance-picker-focus-states branch April 2, 2026 12:02
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.

4 participants