Skip to content

Release 0.37.1

Choose a tag to compare

@github-actions github-actions released this 13 Sep 00:14
· 3 commits to main since this release
c57e009

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