feat\!: remove the Accessibility (a11y) category - #42
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…inability) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
📝 WalkthroughWalkthroughRemoves the Accessibility (a11y) category from svelte-vitals end-to-end: deletes the CLI ChangesRemove Accessibility Category
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR removes the Accessibility (a11y) category from svelte-vitals, refocusing analysis and scoring on SEO + Performance only. It updates the CLI pipeline, core types/reporting, tests/fixtures, and release notes to reflect the breaking change.
Changes:
- Delete the CLI a11y collector and remove its integration/config surface (
a11y_*ids now become unknown). - Narrow core
Categoryto'seo' | 'performance'and trim console reporter category labeling/order accordingly. - Update tests/fixtures/docs and add a Changeset documenting the breaking change.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Removes shipped “Accessibility checks” mention; updates Health Report description to SEO+Performance. |
| packages/core/test/health.test.ts | Updates Health scoring test to remove a11y category expectations. |
| packages/core/src/types.ts | Narrows Category union to 'seo' | 'performance'. |
| packages/core/src/reporter/console.ts | Removes a11y/maintainability labels and ordering from console reporter. |
| packages/cli/test/run.test.ts | Removes CLI e2e test asserting a11y output. |
| packages/cli/test/rules-config.test.ts | Removes tests for a11y known-id acceptance and a11y_category sentinel behavior. |
| packages/cli/test/fixtures/basic-project/src/routes/img/+page.svelte | Restores alt on the fixture image now that a11y is removed. |
| packages/cli/test/a11y.test.ts | Deletes unit tests for the removed a11y collector. |
| packages/cli/src/rules-config.ts | Simplifies unknown-rule validation and removes a11y prefix/sentinel logic. |
| packages/cli/src/providers/source/a11y.ts | Deletes the a11y collector implementation. |
| packages/cli/src/index.ts | Removes a11y collection/merge from analyzeProject results. |
| docs/superpowers/specs/2026-06-23-remove-a11y-design.md | Adds design doc describing scope/decisions for removing a11y. |
| docs/superpowers/plans/2026-06-23-remove-a11y.md | Adds implementation plan documenting the removal steps and validation. |
| .changeset/remove-a11y.md | Adds release notes + version bumps for the breaking change. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…en imaged) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Refocus svelte-vitals on its differentiated core — SEO + deep static Performance — and remove the Accessibility category. Accessibility is already well covered by the Svelte compiler, eslint-plugin-svelte, and axe; svelte-vitals shouldn't duplicate it.
Breaking change
a11y shipped in v0.5 (aggregating the Svelte compiler's
a11y_*warnings). This removes it:packages/cli/src/providers/source/a11y.ts) and its wiring inanalyzeProject;a11y_*known-id acceptance and thea11y_categoryallow-list sentinel inrules-config;a11yentry from the score/Health breakdown and the console reporter;Categoryis narrowed to'seo' | 'performance'(the never-used'maintainability'Upgrade slot is dropped too).After this, the Health score is the weighted mean of the present category scores (SEO, plus Performance when the project has images), and
categories.a11yno longer appears in any reporter or the MCPanalyzeoutput.--ignore a11y_*is now an unknown-rule-id error.SEO and Performance findings, scoring,
--min-health, the reporters, the vite plugin, and MCP are otherwise unchanged.Validation
pnpm -r test— 255 passed (4 packages)pnpm -r typecheck,pnpm build,pnpm lint, publint + attw (esm-only) — greena11y/maintainability/collectA11yleft underpackages/*/srcor tests. PackageCHANGELOG.mdfiles keep their historical release entries (immutable history, intentionally retained); the README comparison-table row about other tools also stays.Notes for reviewers
Categorynarrowing.🤖 Generated with Claude Code