feat(skill): add modern-web-a11y-interactive community skill (#868 Phase 1 complete)#884
Conversation
…ase 1) Fourth and final community skill for #868 Phase 1, covering the interactive-UI accessibility axis the existing trio left as guard / handoff conditions. The new skill complements rr-midstream-a11y-accessible-name-001 by focusing on dynamic / interactive behaviour rather than static name / alt attributes. Scope (all Suggestions, severity: minor) - Keyboard operability: click-only generic elements, hover-only state toggles, shortcut key conflicts, menu / tabs roving tabindex. - Focus management: modal / dialog / drawer focus entry and return, focus trap (recommend native <dialog> / inert), positive tabIndex anti-pattern. - Live regions and dynamic content: aria-live polite vs assertive, toast / snackbar / inline validation announcements, large DOM rewrites. - Role and state semantics: aria-expanded for disclosure, aria-pressed for toggle buttons, role / aria-selected / aria-checked consistency for selection lists, aria-hidden / pointer-events for decorative elements. - Focus visibility: outline: none additions, :focus-visible adoption, design token focus ring regressions. Guardrails (False-positive guards) - Library / design system components with built-in a11y are short-circuited. - Existing aria-* / tabIndex on the diffed element short-circuit the specific suggestion. - CSS-only style adjustments without interaction change are out of scope. - Existing :focus-visible / outline control short-circuits focus visibility comments. - accessible-name coverage explicitly delegated to rr-midstream-a11y-accessible-name-001 (no double finding). Tests - npm run skills:validate passes the new SKILL.md. - tests/fixtures/execution-plan-midstream.json snapshot regenerated to include the new skill in the midstream plan. - npm test: 1087/1087 green. #868 Phase 1 coverage after this PR (4 axes complete) - semantic / Platform-Native API / modern CSS — #873 - performance / Core Web Vitals — #875 - browser compatibility / Baseline awareness — #881 - accessibility (interactive UI) — this PR - accessible name / static labels — existing rr-midstream-a11y-accessible-name-001 Phase 2 (review category taxonomy) and Phase 3 (diff-aware skill routing) remain open. Refs: #868. Follows #873 / #875 / #881. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
River Reviewer
選択されたスキル (0)
スキップされたスキル (87)
優先度サマリー
スコア (参考値)結果(スコア): 96/100 内訳:
指摘
|
PlanGate Review
PlanGate review decision: pass
ポリシー: critical=fail / major=fail-if-required (warn) / minor=comment-only / info=skipped — spec: |
There was a problem hiding this comment.
Code Review
This pull request introduces a new skill definition for 'Modern Web Accessibility for Interactive UI' and adds it to the midstream execution plan. The skill provides accessibility suggestions for interactive components, covering keyboard navigation, focus management, and ARIA roles. There are no review comments to address, and I have no feedback to provide.
…ills (S3) (#899) Implement S3 from the 2026-05-21..25 retrospective: catalog the community tier explicitly so consumers can tell "core / curated" from "experimental / not yet eval-backed". Until now skills/midstream/community/* were loaded at runtime but invisible in skills/registry.yaml, which Codex flagged in the multi-perspective review as a scaling risk. Add a new "Community Skills (Experimental)" subsection between the core midstream block and the downstream block. Six skills listed: - rr-midstream-a11y-accessible-name-001 (pre-existing) - rr-midstream-nextjs-app-router-boundary-001 (pre-existing) - rr-midstream-modern-web-semantic-001 (#873) - rr-midstream-modern-web-performance-001 (#875) - rr-midstream-modern-web-browser-compat-001 (#881) - rr-midstream-modern-web-a11y-interactive-001 (#884) All six are marked `recommended: false` so the catalog reflects current truth: useful as opt-in suggestions, not first-line gates. The block also carries a comment explaining the convention — a community skill becomes a `recommended: true` candidate when it gains good/bad fixtures and a golden output (the S1 convention queued for a later PR). No code change; node scripts/validate-meta-consistency.mjs and npm run skills:validate both pass. npm test: 1087/1087 green. Refs: docs/development/retrospectives/2026-05-21-25.md (S3 entry). Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
Summary
Fourth and final community skill for #868 Modern Web Guidance Phase 1, completing the four-axis coverage. The new skill focuses on interactive-UI accessibility (keyboard / focus / live region / role / focus-visibility), explicitly delegating accessible-name to the pre-existing
rr-midstream-a11y-accessible-name-001.Phase 1 axis status after this PR
rr-midstream-modern-web-semantic-001rr-midstream-modern-web-performance-001rr-midstream-modern-web-browser-compat-001rr-midstream-modern-web-a11y-interactive-001rr-midstream-a11y-accessible-name-001(pre-existing)Skill scope (all Suggestions, severity: minor)
<dialog>/inert, positivetabIndexanti-patternaria-livepolite vs assertive, toast / snackbar announcements, large DOM rewritesaria-expanded,aria-pressed, listbox / combobox role consistency,aria-hidden/pointer-eventsoutline: noneadditions,:focus-visibleadoption, focus ring regressionsGuardrails
severity: minor, suggestion-tone — never enforces.aria-*/tabIndexon the diffed element short-circuit specific suggestions.rr-midstream-a11y-accessible-name-001— no double finding.Changes
skills/midstream/community/rr-midstream-modern-web-a11y-interactive-001/SKILL.mdtests/fixtures/execution-plan-midstream.jsonTest plan
npm run skills:validate(new SKILL.md passes)npm test(1087/1087 green)Refs: #868. Follows #873 / #875 / #881. Closes Phase 1 four-axis coverage.
🤖 Generated with Claude Code