Repository navigation
Conversation
Line coverage passed without the user-facing contracts. Every concern now runs for every interactive component (Button, Checkbox, Toggle, RadioGroup, Input, Textarea, Select trigger, Stepper button) through user-event: role and accessible name, Tab and Shift+Tab reach it, the keyboard operates it, and disabling takes it out of the tab order and ignores the keyboard. Beside the matrix: Input and Textarea descriptions combine the caller's aria-describedby with the error message, RadioGroup is a named group whose arrow keys move the selection, the Select keyboard path (open from Tab and Enter, skip a disabled option, select, Escape, focus returned to the trigger), and Stepper names and bounds. Refs #692 (RT-28) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
RT-28: 라인 커버리지는 100%였지만 사용자에게 보이는 계약(role/name/description, 키보드 및 포커스 이동, disabled 동작)을 검증하지 않던 문제에 대해 UI kit 동작 매트릭스를 추가합니다.
packages/components/src/__tests__/behavior-matrix.browser.test.tsx를 추가했습니다. 기존*.browser.test.tsx와 같은 환경(bun-test-env-dom)에서 돌고, CI의bun run test가 그대로 실행합니다. 모든 상호작용은user-event로 수행해 실제 사용자처럼 포커스가 이동합니다.매트릭스 (concern × component)
매트릭스 외 시나리오
aria-describedby와 에러 메시지가 접근 가능한 설명으로 합쳐지는지,aria-invalid,role=alert, 에러가 없을 때 설명이 없는지radiogroup), 화살표 키로 선택과 포커스 이동,onChange값이번 범위에서 제외 (RT-28의 다른 항목)
react-18CI job이 담당합니다.packages/react쪽 관심사이고, multi-tab/system theme은 RT-19에서 동작 자체가 아직 없습니다.테스트 파일만 추가했고 배포 코드 변경이 없어서 changepack은 추가하지 않았습니다.
Test plan
bun test packages/components/src/__tests__/behavior-matrix.browser.test.tsx(41 pass)bun test packages/components(253 pass)tsc --strict --noEmit으로 테스트 파일 타입 확인publishjob 통과Refs #692
🤖 Generated with Claude Code