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

4 participants