Replace the repeated "Why?" links with a small i marker - #30
Merged
MyNamesEMurray merged 1 commit intoSep 7, 2026
Merged
Conversation
Reading "Why?" once is fine. Reading it two dozen times down a settings
tab is a page shouting a question nobody asked. The disclosure is now a
17px circular "i" at the right edge of the setting row, level with the
label it explains, filling with accent when open.
Done entirely in theme.css, so no page needed new markup and no config
binding was touched. The summary keeps its question ("Why?", "What does
this cost me?", "How do I set it up?") as real text, hidden visually with
font-size: 0 rather than removed, so a screen reader still announces the
question instead of the letter i.
Outside a .setting -- the wizard -- the marker stays in flow under its
control, since there is no row to hang it on.
Also: summary was missing from the :focus-visible list, so the marker had
no keyboard ring. It has one now, like every other interactive element.
Checked for collisions at 1200 and 900 wide and at the 1.25 font scale
across every settings tab in Advanced, where the markers are densest:
none overlap anything.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LWa54BF5RjHWC5GFaENZMM
MyNamesEMurray
enabled auto-merge
September 7, 2026 02:38
MyNamesEMurray
deleted the
claude/live-mic-transcription-accuracy-x5ptio
branch
September 7, 2026 02:39
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reading "Why?" once is fine. Reading it two dozen times down a settings tab is a page shouting a question nobody asked. The disclosure is now a small circular i at the right edge of the setting row, level with the label it explains, filling with accent when open.
This is the follow-up to #29, which merged before this commit was pushed.
Changes
.why > summaryis now a 17px circular marker (scaling with the font-size setting) instead of a text link. Inside a.settingit is absolutely positioned at the row's right edge, level with its label; outside one — the wizard, which has no settings rows — it stays in flow under its control.theme.css, so no page needed new markup and nodata-pathor config binding was touched.font-size: 0rather than removed, so a screen reader still announces the question rather than the letter i.summarywas missing from the:focus-visibleselector list, so the marker had no keyboard focus ring at all. It has the standard 2px accent ring now, like every other interactive element.theme.cssis where pages inherit it from.Verification
npm test161 pass / 0 fail (1 pre-existing Windows-only SAPI skip);npm run smoke→ SMOKE OK.elementFromPoint— clean at all three, no marker overlaps anything.2px solidon the marker./favicon.ico404.Risk & rollout
theme.cssplus a DESIGN.md line. No page markup, no server change, no config keys, nothing to migrate..settingmarker is absolutely positioned, so it relies on the row's top-right being free. That is why the collision check above ran at three sizes across every tab rather than eyeballing one.Checklist
npm run smokepasses locally (or CI is green)main🤖 Generated with Claude Code
https://claude.ai/code/session_01LWa54BF5RjHWC5GFaENZMM
Generated by Claude Code