Skip to content

fix(kit): draw AuthFrame's band marks from the band's own pair - #63

Merged
Bccorb merged 1 commit into
mainfrom
fix/band-marks-read-from-band
Aug 26, 2026
Merged

fix(kit): draw AuthFrame's band marks from the band's own pair#63
Bccorb merged 1 commit into
mainfrom
fix/band-marks-read-from-band

Conversation

@Bccorb

@Bccorb Bccorb commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Closes #59.

The fix

AuthFrame's bullet marks were bg-accent, drawn on the band. They are now bg-on-band, the pair the kit keeps for anything sitting on the band, and they carry a comment saying so.

It is not only deep accents

The issue measured a deep amber in seamless-idea-web. Against the palette this repo ships, with its sky blue accent on a blue band, the marks were already:

theme band accent on band on-band on band
light #2169a8 2.69:1 5.75:1
dark #287fcb 1.97:1 4.21:1

So the default kit had the bug too. The marks are aria-hidden, so no accessibility check ever failed on them, which is why it survived: nothing was going to report it, and whoever was looking was in one theme at a time.

on-band also holds up where the band is a window onto the backdrop rather than a panel of colour, because that pair falls back to the brand. That is the reasoning PrimaryButton's onBand variant already carries.

The sweep

The issue asked for a look at everything else rendering inside band-fill. Only Screen and AuthFrame do. Everything Screen puts on the band, PageHeader and StatRow, already takes onBand and reads from the band pair, and StatRow's lead panel brings its own fill and ink together so it is self-consistent wherever it lands. Nothing else needed changing.

Checks

npm run validate passes, and npm run check is green in both templates (react-vite 18 tests, react-oauth 22 tests). No test here: the change is a Tailwind class on a decorative element, and a test asserting the class string would be a copy of the source rather than a check on it.

The bullet marks beside the pitch were `bg-accent`, drawn on the band. The
accent is chosen to sit on a surface, so on the band it is whatever it happens
to be. Against the palette this repo ships it is already 2.69:1 in light and
1.97:1 in dark, and a kit that picks a deeper accent loses the marks entirely.
They are aria-hidden, so nothing ever failed a check on them; they were just
close to invisible, in one theme at a time.

`bg-on-band` is the pair the kit keeps for this. It measures 5.75:1 and 4.21:1
against the same two bands and follows the band wherever a kit takes it,
including the styles where the band is a window onto the backdrop rather than a
panel of colour.

Only `Screen` and `AuthFrame` render inside `band-fill`. What `Screen` puts
there already takes `onBand` and reads from the band pair, and `StatRow`'s lead
panel carries its own fill and ink together, so nothing else needed changing.
@Bccorb
Bccorb merged commit e59e4bd into main Aug 26, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AuthFrame's band marks read from the accent, and disappear when the accent is dark

1 participant