Skip to content

Feature ETP-4657: Fix semantic color token drift from ETP-4554#71

Merged
sebastianbarrozo merged 1 commit into
epic/ETP-3504from
feature/ETP-4657-colors-epic
Jul 23, 2026
Merged

Feature ETP-4657: Fix semantic color token drift from ETP-4554#71
sebastianbarrozo merged 1 commit into
epic/ETP-3504from
feature/ETP-4657-colors-epic

Conversation

@sebastianbarrozo

Copy link
Copy Markdown
Collaborator

Summary

Cherry-pick of the color-regression fix from feature/ETP-4657 (that branch's PR #69 is still pending the rest of the quick-wins sweep) — landing just this fix on epic now to fix the "Base branch is green" CI failures other PRs are seeing.

  • Restore --foreground/--muted-foreground/--border-subtle to match the original design (verified against staging) after they drifted to unaudited generic shadcn defaults during the ETP-4554 migration.
  • Revert --border-control/--input to the original light color (shared by real form-control borders AND buttons); its WCAG 1.4.11 darkening broke button visuals. Documented as an accepted, known a11y gap instead of silently dropped.
  • Add ALIAS_TOKEN_PAIRS consistency check so generic tokens can't silently drift from the audited accessibility contract again.
  • Fix shared TableRow/TableHeader/TableFooter: used border-structural (WCAG 3:1-gated) for plain decorative dividers instead of border-subtle.

Test plan

  • npm test --workspace=packages/app-shell-core — 695/695 pass
  • Visually verified against staging (chrome-devtools MCP)

- Restore --foreground/--muted-foreground/--border-subtle to match
  the original design (verified against staging) after they drifted
  to unaudited generic shadcn defaults during the ETP-4554 migration.
- Revert --border-control/--input to the original light color: it
  drove both real form-control borders AND shared outline buttons,
  so its WCAG 1.4.11 fix visually broke buttons too. Documented as
  an accepted, known a11y gap (WARN comments) instead of silently
  dropped.
- Add ALIAS_TOKEN_PAIRS consistency check (theme/index.js +
  accessibility.test.js) so generic tokens can't silently drift
  from the audited accessibility contract again.
- Fix shared TableRow/TableHeader/TableFooter: used border-structural
  (WCAG 3:1-gated, meant for real structural boundaries) for plain
  decorative row/section dividers; switched to border-subtle.
@github-actions

Copy link
Copy Markdown
Contributor

📦 Preview packages published — dist-tag alpha

0.3.16-preview.feature-ETP-4657-colors-epic.20260723232055.e5f7115

To exercise the published-package path (no LOCAL_CORE), bump all
core pins to this preview in the functional repo and reinstall:

make bump-core-version VERSION=0.3.16-preview.feature-ETP-4657-colors-epic.20260723232055.e5f7115

Re-posted on each push to this branch; supersedes older previews.

@sonarscanetendo

Copy link
Copy Markdown

Passed Quality Gate passed

Issues

Measures

Project ID: etendosoftware_schema_forge_core_976a1e0b-4b24-4757-a2f4-8afa9a5e0289

View in SonarQube

@sebastianbarrozo
sebastianbarrozo merged commit df180a8 into epic/ETP-3504 Jul 23, 2026
13 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Epic rollout entry

Feature PR: #71 Feature ETP-4657: Fix semantic color token drift from ETP-4554
Merged into epic: 2026-07-23

{
  "number": 71,
  "title": "Feature ETP-4657: Fix semantic color token drift from ETP-4554",
  "url": "https://github.com/etendosoftware/schema_forge_core/pull/71",
  "author": "sebastianbarrozo",
  "mergedAt": "2026-07-23T23:47:21Z",
  "summaryBullets": [
    "Restore `--foreground`/`--muted-foreground`/`--border-subtle` to match the original design (verified against staging) after they drifted to unaudited generic shadcn defaults during the ETP-4554 migration.",
    "Revert `--border-control`/`--input` to the original light color (shared by real form-control borders AND buttons); its WCAG 1.4.11 darkening broke button visuals. Documented as an accepted, known a11y gap instead of silently dropped.",
    "Add `ALIAS_TOKEN_PAIRS` consistency check so generic tokens can't silently drift from the audited accessibility contract again.",
    "Fix shared `TableRow`/`TableHeader`/`TableFooter`: used `border-structural` (WCAG 3:1-gated) for plain decorative dividers instead of `border-subtle`."
  ],
  "reviewReport": {
    "outcome": "Not found",
    "blockers": [],
    "warnings": []
  }
}

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