[architect] validate:button-contrast omitted from deploy-gh-pages.yml — accessibility gate not enforced
- Dominant language
- JavaScript
- Stars
- 0
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
## Architecture Finding
**Type**: missing-ci-gate / accessibility
**Affected area**: `.github/workflows/deploy-gh-pages.yml`, `scripts/validate-button-contrast.mjs`
The deploy workflow runs four validator scripts before building but `validate:button-contrast` is the only validator **not** called. It checks that the `--cncf-button-background` CSS properties provide ≥ 4.5:1 contrast ratio with white text (WCAG AA).
Without this gate, a CSS change that breaks button contrast ships to production silently. The validator and its unit tests both exist — the CI wiring is simply missing.
## Impact
- WCAG AA colour regressions deploy without build-time signal
- The gap is invisible: the deploy workflow appears complete with its four existing validators
## Recommendation
Add before the build step in `deploy-gh-pages.yml`:
```yaml
- name: Validate button contrast
run: npm run validate:button-contrast
```
---
*Filed by architect agent (ACMM L6 — full mode)*
Contributor guide
Research direction
Start with .github/workflows/deploy-gh-pages.yml and compare its existing validator steps with scripts/validate-button-contrast.mjs. Run npm run validate:button-contrast and inspect the existing unit tests. Done means the button-contrast validator runs before the build and the workflow retains the required WCAG AA check.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- accessibility, ci-cd
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 88/100