Repository navigation
test(CommandPalette): match the current Spinner progressbar role - #10196
Conversation
Co-authored-by: astracat-bot[bot] <323722387+astracat-bot[bot]@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
AI review status for this pull request.
|
There was a problem hiding this comment.
Approved pending CI.
The audit locator now matches the role="progressbar" that Spinner renders under its current accessibility contract, and the exact count of one is kept. The CommandPalette audit fails all six captures on the base (expected 1, received 0 at line 139) and passes all six with this change.
CI has not run its required checks on this head yet: the run stopped because the CI queue was full, so the next step is to re-run the CI jobs.
[Automated review]
PR Analysis Report🔎 Preview ·
|
| Component | Size | LoC | Visual · A11y · RTL |
|---|---|---|---|
| CommandPalette | 59.0 kB (0) · 12.4 kB CSS (0) | — | ✓ · ✓ · ✓ |
| CommandPaletteEmpty | 6.4 kB (0) · 3.5 kB CSS (0) | — | ✓ · ✓ · — |
| CommandPaletteFooter | 17.2 kB (0) · 3.7 kB CSS (0) | — | ✓ · ✓ · ✓ |
4 more components
| Component | Size | LoC | Visual · A11y · RTL |
|---|---|---|---|
| CommandPaletteGroup | 3.7 kB (0) · 3.4 kB CSS (0) | — | ✓ · ✓ · — |
| CommandPaletteInput | 27.9 kB (0) · 7.5 kB CSS (0) | — | ✓ · ✓ · ✓ |
| CommandPaletteItem | 11.7 kB (0) · 3.6 kB CSS (0) | — | ✓ · ✓ · — |
| CommandPaletteList | 16.1 kB (0) · 3.4 kB CSS (0) | — | ✓ · ✓ · — |
Package size: no published package changed; no new dependencies.
API changes: none in this pull request
Committed API report behind this build: cli 19 rows, core 19 rows; run pnpm api:report.
Touched components checked; add ci:run-visual or ci:run-rtl to run the full suites.
Generated by PR Enrichment workflow | View full report
Supersedes #10175 (co-authored by astracat-bot)
The same change as #10175, byte for byte, re-cut on current
mainfrom a maintainer branch with the bot as co-author.Maintainer impact
All six CommandPalette audit captures fail before screenshots or semantic sensors run: the pending palette's
.astryx-spinner[role="status"]locator finds zero elements instead of one. Spinner's role changed toprogressbarin #7910, but this consumer assertion still queries the old role.Intended invariant
The current Spinner contract, AR1 and the compatibility table, requires
role="progressbar"for every indicator, including hidden composed rings. CommandPalette delegates its loading indicator to Spinner under its FR3 contract.Change
Change only the shared capture locator from
statustoprogressbar. Keep the exact count of one and every existing geometry, contrast, anatomy, and screenshot check. The CSS locator remains appropriate because CommandPalette deliberately hides its composed spinner witharia-hidden.No behavior change. No remaining uncertainty about the expected role; restoring
statusin the component would contradict the current Spinner contract.Evidence
captures narrow-lightin Chromium with the exact CI failure at line 139: expected 1, received 0.wide-light-ltr,wide-dark-ltr,wide-light-rtl,wide-dark-rtl,narrow-light, andnarrow-dark(7.2 seconds).CommandPaletteInput.test.tsxtests pass.eaea67de3568bde61072c901f1e9713fe19b0ce4, apart from this assertion.Scope
Testing
Using the repository-pinned Node.js 24.22.1 and pnpm 11.10.0:
pnpm storybook:buildpnpm exec playwright test packages/core/src/CommandPalette/__tests__/CommandPalette.a11y.chromium.spec.ts --config=playwright.config.ts --project=chromiumpnpm exec vitest run --project ui packages/core/src/CommandPalette/CommandPaletteInput.test.tsx --maxWorkers=1pnpm specs:for --diff origin/mainpnpm review:pre— no findings; self-review only, independent review still needed.git diff --checkpass.