Fix L119/L151/L153: empty-state copy, range dashes, dismiss aria-labels

L119: Standardized empty-state copy on the "No X yet." pattern. Terminal
      "Output will appear here." -> "No output yet."; Diagnostics
      "No errors logged." -> "No errors yet."

L151: Range-dash convention is ASCII hyphen everywhere. Changed the lone
      en-dash prose range ("2-3 is a good balance") to a hyphen, matching the
      time-range placeholders (1:30-2:00).

L153: The three "Dismiss" close buttons now name what they dismiss --
      "Dismiss suggested link" (DownloadBar + Library suggestion banners) and
      "Dismiss duplicate warning" (DownloadBar dup row).

L95 left open: the Cookies-card "sign in"/"sign-in" usage is already correct
English (verb vs modifier); no change warranted.

typecheck + 242 tests + eslint green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-30 15:33:22 -04:00
parent 0d2000f307
commit eb94e84707
5 changed files with 9 additions and 9 deletions
+3 -3
View File
@@ -607,7 +607,7 @@ token system + shared primitives (UI/SIMP — high value, larger effort) · i18n
- [ ] **L117 — Terminal/error-log "empty" aren't centered blocks** like the other empty states (inline text instead).
- [ ] **L118 — Cross-component focus via hardcoded id.** App focuses the URL field with
`document.getElementById('aerofetch-url')` — brittle coupling into DownloadBar's markup.
- [ ] **L119 — "No items" copy varies** — "No … yet" (most) vs "Output will appear here." (Terminal) vs "No errors logged." (Diagnostics).
- [x] **L119 — "No items" copy varies** — "No … yet" (most) vs "Output will appear here." (Terminal) vs "No errors logged." (Diagnostics).
- [ ] **L120 — Fluent `Card` vs hand-styled `div` cards.** Only Settings/Onboarding use `<Card>`; every
other card surface is a bespoke styled `<div>`.
- [ ] **L121 — Raw scrim literal.** CommandPalette backdrop is `rgba(0,0,0,0.32)` (the only raw rgba in
@@ -677,11 +677,11 @@ token system + shared primitives (UI/SIMP — high value, larger effort) · i18n
in the tray" is a three-sentence paragraph with a parenthetical. Normalize hint length/voice.
- [x] **L150 — "PO token" capitalization varies**`PO Token` (ipc.ts/ROADMAP) vs `PO token` /
`Proof-of-Origin token` (SettingsView). Pick one.
- [ ] **L151 — Mixed range dashes.** En-dash in prose ("23 is a good balance") vs hyphen in time-range
- [x] **L151 — Mixed range dashes.** En-dash in prose ("23 is a good balance") vs hyphen in time-range
placeholders ("1:30-2:00"). Choose one convention.
- [ ] **L152 — Search-field sizing differs per screen.** History `minWidth 180 / maxWidth 320`, Settings
inline `width: 100%`, DownloadBar `flexGrow`. No shared search-input width.
- [ ] **L153 — Generic "Dismiss" aria-labels.** Three close buttons (DownloadBar suggestion + dup,
- [x] **L153 — Generic "Dismiss" aria-labels.** Three close buttons (DownloadBar suggestion + dup,
Library suggestion) all read just "Dismiss" — ambiguous to a screen reader. Name what's dismissed.
- [x] **L154 — Instructional text in an aria-label.** Sidebar theme-cycle button is
`aria-label="Theme: Dark. Click to change."` — "Click to change" is UI instruction, not a name.