Skip to content

Sync design-system 2.0.2 -> 3.2.0; controls get a 3:1 boundary - #60

Merged
malinfossum merged 1 commit into
mainfrom
chore/design-system-3.2.0
Aug 31, 2026
Merged

malinfossum merged 1 commit into
mainfrom
chore/design-system-3.2.0

Conversation

@malinfossum

Copy link
Copy Markdown
Member

Brings in workbench#16, which was fixed upstream in design-system 3.2.0. .input / .textarea / .select and the bordered .btn variants now take a new --control-border token instead of --border, so the edge that identifies an interactive control clears WCAG 2.2 SC 1.4.11's 3:1.

This closes the docs/backlog.md entry "A styled auth input has a 1.34:1 boundary against the page", raised 2026-08-21 when the auth inputs got class="input".

Measured

On the running app at /login, after a cache-busting reload (the dev server sends no Cache-Control, so a normal reload won't revalidate):

theme border vs page vs field fill
dark #536a8e 3.44:1 (#0d1117) 3.15:1 (#151b24)
light #858d95 3.16:1 (#f6f8fa) 3.36:1 (white)

The old --border gave 1.34:1 and 1.22:1 — 1.34:1 is the exact figure backlog.md recorded in August, so this is a like-for-like comparison rather than a re-measurement against a moved baseline. Input height is unchanged at 51.59px, and no [hidden] element renders, so the upstream reset guard is still doing its job.

Review note — this is a visible change

Every input and every bordered button now has a brighter edge, in both themes. That is the point of the change, but it is the thing to look at. It is a token swap inside the vendored bundle; no Wend CSS overrides it, and nothing was added to app.cssdesign-system/ stays read-only.

Two things the sync did not need

  • No local [hidden] guard to remove. It already went upstream in the 2.0.1 sync (3f9e833), so the standing "delete once it lands and syncs" instruction was already discharged.
  • The 3.0.0 default-palette pivot cannot reach Wend. index.html pins data-palette="wend", and 3.0.0 only changes the no-palette state.

Four palette files (classic, hugin, kenaz, tidsro) come along with the bundle and are imported by palettes/index.css. They are inert here for the same reason.

components/tabs.css had line-ending-only churn, which normalised away on git add — it is not in the diff.

Brings in workbench#16: .input/.textarea/.select and the bordered .btn
variants now take --control-border instead of --border, so the edge that
identifies a control clears WCAG 2.2 SC 1.4.11's 3:1.

Measured on the running app at /login after a cache-busting reload:

  dark   #536a8e  3.44:1 on the #0d1117 page, 3.15:1 on the #151b24 fill
  light  #858d95  3.16:1 on the #f6f8fa page, 3.36:1 on white

The old --border gave 1.34:1 and 1.22:1 -- the same figure docs/backlog.md
recorded, so the comparison is like-for-like. That backlog entry is closed
here. Input height is unchanged at 51.59px.

Two things the sync did NOT need:

  - No local [hidden] guard to remove; it went upstream in the 2.0.1 sync.
  - The 3.0.0 default-palette pivot cannot reach Wend, because index.html
    pins data-palette="wend" and 3.0.0 only changes the no-palette state.

Four palette files (classic, hugin, kenaz, tidsro) come along and are
imported by palettes/index.css. They are inert for the same reason.

Review note: this is a visible change on every input and every bordered
button, in both themes -- the boundary is brighter than it was. It is a
token swap in the vendored bundle, no Wend CSS overrides it.
@malinfossum
malinfossum merged commit 67d55e1 into main Aug 31, 2026
1 check passed
@malinfossum
malinfossum deleted the chore/design-system-3.2.0 branch August 31, 2026 09:50
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.

1 participant