Repository navigation
feat(core)!: score require-datetime and doctype by their evidence - #523
Conversation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (12)
Included review availability: Your plan includes up to 1 review per rolling hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe PR demotes ChangesAccessibility severity updates
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This PR lowers the severities of two existing findings and updates their documentation and generated references; the reported validation checks are clean, so no actionable merge-blocking risk remains beyond normal checks and review. Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
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 |
|
@coderabbitai review |
✅ Action performedReview finished.
|
The two severity questions the Phase B-4 review left open, decided on the principle that a rule without evidence gets demoted and a rule without meaning gets deleted. Neither is meaningless — both detect a real defect — so both are demoted rather than removed.
Why each
a11y/require-datetimehas evidence, but not accessibility evidence. Its requirement is HTML conformance; there is no WCAG criterion about<time>. A screen reader reads "last Tuesday" exactly as a sighted reader does — what the element loses is its machine-readable value.warningclaimed more than that.a11y/doctype's accessibility premise has no source at all. Quirks mode is documented as a layout difference, and WCAG 4.1.1 Parsing, which used to justify markup-validity checks, is obsolete and removed. The layout claim is sourced, so the rule stays — at the weight that claim supports.This is the standard #428 set for the SEO category: severity tracks the strength of the evidence.
Exit-code consequences, measured
Per rule, on a fixture isolated with
--rules, before and after. Both movements loosen a gate; nothing tightens.--fail-on critical(default)--fail-on warning--fail-on infoa11y/require-datetimea11y/doctypeA project on the default gate is unaffected. A project on
--fail-on warningwhose only finding is one of these two goes red → green.Score consequences, measured
a11y::component: 46 → 42 points of severity weight. On this repo's own example app the a11y category reads 83 → 87 with no change in findings.a11y::project: 5 → 1, absorbed by the floor of 25 — but a project-scope finding is an absolute deduction, so a missing doctype now costs its category 1 point instead of 5.info < warningordering invariant is untouched.One caveat worth recording, since it caught me mid-measurement: scoring a rule in isolation with
--rulesalso shrinks the inventory to that one rule, so the headline numbers from such a run (80 → 96, 95 → 99) are not what a real project sees. The 83 → 87 above is the full-run figure.Also updated
Both rule pages carry the reason for the demotion in both languages, so the weight is legible rather than arbitrary; the generated rule-index pages, the
explain --listsnapshots, and the translation ledger follow.pnpm build,pnpm typecheck,pnpm test,pnpm lint,translate:checkall clean.Still open
Two smaller Priority 2 items remain: accepting the literal
undefinedforaria-*boolean/tristate values, where the ARIA spec and Svelte's own compiler disagree, and uppercase ARIA attribute names being invisible to the collector (a false negative).🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
a11y/doctypeanda11y/require-datetimefindings from warnings to informational notices.Documentation