Repository navigation
Release 0.37.1
A patch release with one change: controls that had no visible edge now have one.
Control borders
Trackarr's palette has two neutral lines. --line-default is the decorative
rule that separates cards and table rows. --line-field is the one meant for
anything you click — the Tailwind config has said so all along: "the border
of a FIELD … which we want at 3:1".
Half the product's controls were drawn with the decorative one. Measured
against their own surface, those borders came out at 1.21:1 on dark and
1.26:1 on light, where WCAG 2.1 SC 1.4.11 asks for 3:1 on anything that
identifies a user interface component. Buttons, inputs, selects, chips,
toggles, pagers, tabs and filter segments across 31 screens.
They now use the field line, which was itself raised: its light value only
reached 2.98:1 on the page background, and 2.89:1 on the lightest surface the
product actually uses. It now clears 3:1 on all four. The dark value is
unchanged.
Three related defects surfaced while measuring:
- Hover made outlines fainter. The hover border sat at 2.64:1 — below the
resting state — so pointing at a button weakened its edge instead of
strengthening it. It now sits above. - Some state colours were frozen to the dark theme. A toggle's "on"
state, a moderator badge, an admin badge and several active filters used
hardcoded greens, ambers and cyans. In the light theme those fall to
1.6–1.9:1 at any opacity, so "on" was effectively invisible. They now use
the theme-aware tokens, which match the old dark values. - A few panels tinted their background with the very colour drawn on top of
it, which cannot contrast by definition. Those got an inked variant.
One element is deliberately left as it was: the placeholder tile shown for a
work with no artwork. What identifies that link is its letter, its icon and
its accessible name, not its frame, and pushing the per-work hue to full
strength would make every artless tile shout in a grid people scan. The
reasoning is written into the stylesheet next to the rule.
Nothing else changed: no behaviour, no data, no configuration. Measured on 31
routes in both themes, 65 affected classes down to that single deliberate
exception.
Upgrading
Straight image swap. No migrations, no configuration changes.
🤖 Generated with Claude Code
What's Changed
Full Changelog: 0.37.0...0.37.1