fix(a11y): make summary metric explanations persistent - #509
Conversation
- `div`로 구성된 정적 요소(메트릭 카드)의 `title` 툴팁이 키보드 사용자에게 노출되지 않는 문제를 해결했습니다. - `tabindex="0"`과 `role="note"`를 추가하여 키보드 포커스와 스크린 리더 인식이 가능하도록 개선했습니다. - 시각적 인지를 위해 `:focus-visible` 스타일을 추가했습니다.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
📝 WalkthroughWalkthrough요약 카드가 Changes메트릭 카드 접근성
프로젝트 제목 리터럴 처리
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: 🔵 Low · up to The change makes metric explanations persistently visible and removes reliance on native tooltips, but the current accessibility regression test could miss some invalid focus or role attributes. The PR is mergeable with explicit follow-up to assert that those attributes are absent entirely. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 2 files. (4 skipped: 4 unsupported.)
✨ Finishing Touches 💡 1📝 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 |
- `div`로 구성된 정적 요소(메트릭 카드)의 `title` 툴팁이 키보드 사용자에게 노출되지 않는 문제를 해결했습니다. - `tabindex="0"`과 `role="note"`를 추가하여 키보드 포커스와 스크린 리더 인식이 가능하도록 개선했습니다. - 시각적 인지를 위해 `:focus-visible` 스타일을 추가했습니다.
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
@opencode-agent review Please submit a formal review for exact current head |
|
@opencode-agent review Please submit a fresh formal review for exact current head |
|
Caution Review failedAn error occurred during the review process. Please try again later. 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 |
1 similar comment
|
Caution Review failedAn error occurred during the review process. Please try again later. 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 |
Buyer-visible outcome
ScopeWeave no longer relies on native
titletooltips for the three summary metric explanations. Each explanation is persistent visible copy inside its metric card, so sighted keyboard, touch, pointer, and assistive-technology users receive the same decision context without adding synthetic keyboard stops to otherwise static content. The accent-card copy also has an executable WCAG 2.2 normal-text contrast floor rather than relying on visual inspection.Current exact state
ea9027743ebafd1ca5774a5a14227585cf796052develop@2c328875e00e86537df3e965170be80532571cad747c2411ea08856c02e4d413be23eb4e6ab8d834.jules/palette.md,docs/doctoring/metric-card-explanations-accessibility.md,index.html,styles.css,tests/e2e/metric-card-explanations.spec.js,tests/e2e/project-title-literal.spec.js, andtests/e2e/scopeweave.spec.js.Accessibility contract
role,tabindex, or nativetitlefallback;.meta-descriptioncontract instead of removed tooltip behavior.Current W3C/WAI primary guidance and APA 7 references are recorded in
docs/doctoring/metric-card-explanations-accessibility.md.Review repair state
Current review feedback was re-verified against the immutable contributor head. Commit
57004e4strengthened the regression so anyroleortabindexreintroduction fails, not merely the originally observed values. Commitea90277repaired the stale legacy Playwright assertions so they require visible metric explanations and completetitleabsence while preserving the existing Gantt-control ARIA checks.The previously described Devin notes are historical only: current GitHub review-thread state returns them resolved/outdated. The literal project-title regression intentionally verifies text assignment rather than HTML parsing; the gradient acceptance test enforces the implemented normal-text contrast floor. Formal review evidence remains model/tool commentary rather than a qualifying independent approval.
Design-system / Storybook authority
Fresh repository searches on this exact lane did not find a Storybook implementation or a repository-linked Figma authority. This bounded static-HTML accessibility repair therefore preserves the existing product CSS/token vocabulary and does not create a parallel design system merely to satisfy the PR. A future shared interactive component should establish Figma and Storybook authority together before expanding this surface.
Current workflow truth and authority boundary
All six repository workflows associated with contributor head
ea9027743ebafd1ca5774a5a14227585cf796052are terminal GitHub-success:32479745999— success;32479745986— success;32479746075— success;32479746333— success;32479745966— success;32479745962— success.However, the Server Tests checkout log proves that at least that PR workflow checked out
refs/pull/509/merge, leavingHEADat synthetic merge747c2411ea08856c02e4d413be23eb4e6ab8d834rather than the immutable contributor SHA. Under the organization evidence contract, synthetic-merge success is useful behavior evidence but is not promoted to exact-contributor-head merge authority.ScopeWeave issue #522 / PR #523 owns the repository-native exact-head Server Tests/coverage correction.
ContextualWisdomLab/.github#1222owns the organization-required reusable SAST/Security exact-head checkout correction through the central control plane. The canonical central repair branches are currently independently owned and must not be raced from this product lane.A fresh reviewer request for team
independent-reviewerson this unchanged head is rejected by GitHub with HTTP 422 because the team is not a repository collaborator. This is a reviewer-provisioning boundary, not permission to self-approve or bypass protection.Merge gate
Do not merge or enable auto-merge until the unchanged contributor head remains reconciled to live protected
develop, the repository and organization exact-head controls are protected-shipped and regenerated on this head, every applicable functional/browser/accessibility/owned statement-branch-function-line coverage/docstring/SAST/security/dependency/supply-chain/package/provenance gate is substantively terminal-passing under corrected contracts, valid unresolved current-head defects are zero, and the live ruleset's qualifying independent approval requirement is genuinely satisfied.Pending, queued, skipped-required, cancelled, absent, neutral-required, failed, stale, predecessor, synthetic-only, status-only, author-only, model-only, rate-limited, or infrastructure-only evidence is non-passing.