Repository navigation
fix(components): make RadioGroup an accessible radiogroup that keeps typed values - #723
Merged
Merged
Conversation
…typed values Refs #692 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #692 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Contributor
Changepacks@devup-ui/wasm@1.0.83 → 1.0.84 - bindings/devup-ui-wasm/package.jsonPatch
@devup-ui/bun-plugin@1.0.22 → 1.0.23 - packages/bun-plugin/package.jsonPatch
@devup-ui/components@0.1.60 → 0.1.61 - packages/components/package.jsonPatch
@devup-ui/eslint-plugin@1.0.22 → 1.0.23 - packages/eslint-plugin/package.jsonPatch
@devup-ui/next-plugin@1.0.90 → 1.0.91 - packages/next-plugin/package.jsonPatch
@devup-ui/plugin-utils@1.0.17 → 1.0.18 - packages/plugin-utils/package.jsonPatch
@devup-ui/react@1.0.44 → 1.0.45 - packages/react/package.jsonPatch
@devup-ui/reset-css@1.0.31 → 1.0.32 - packages/reset-css/package.jsonPatch
@devup-ui/rsbuild-plugin@1.0.67 → 1.0.68 - packages/rsbuild-plugin/package.jsonPatch
@devup-ui/vite-plugin@1.0.73 → 1.0.74 - packages/vite-plugin/package.jsonPatch
@devup-ui/webpack-plugin@1.0.71 → 1.0.72 - packages/webpack-plugin/package.jsonPatch
|
Codecov Report✅ All modified and coverable lines are covered by tests.
🚀 New features to boost your workflow:
|
Merge main history while preserving this PR implementation. No manual conflict resolutions.
Merge main history while preserving this PR implementation. No manual conflict resolutions.
Merge main history while preserving this PR implementation. No manual conflict resolutions.
Merge main history while preserving this PR implementation. No manual conflict resolutions.
Merge main history while preserving this PR implementation. No manual conflict resolutions.
owjs3901
added a commit
that referenced
this pull request
Oct 8, 2026
Merge main history while preserving this PR implementation. No manual conflict resolutions.
Refs #692 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
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.
Refs #692 (I 첫 번째 PR).
main에서 분기했습니다.문제
display:none으로 숨겨 키보드로 이동하거나 포커스할 수 없었습니다. RadioGroup에는 공유name과radiogroup역할도 없었습니다. 또 기본 Radio의 포커스 규칙이outline:1px sold ...라는 잘못된 CSS였습니다.false,0,''가 선택되지 않았습니다.onChange는 타입 선언과 달리 항상 문자열을 넘겼습니다.변경
1px,clip-path,position:absolute). 포커스를 받을 수 있고,:focus-visible일 때 버튼에 테두리가 나타납니다.solid로 고치고:focus-visible에 적용합니다.role="radiogroup"을 지정하고 선택적label(→aria-label)을 받습니다.name을 씁니다. 주지 않으면useId로 만듭니다.T).value !== undefined로 판단하며,onChange는 옵션 값 그대로 호출합니다.동작 변화
onChange가 문자열 대신 옵션의 원래 값을 받습니다. 예를 들어1,false가 그대로 전달됩니다. 기존 테스트도 이 동작에 맞게 바꿨습니다.새로 생기는 오류
남은 항목
검증
bun test5476개 통과, 커버리지 100%. 새 테스트는 falsy 값 선택, 공유 name,aria-label, 주어진 name을 확인합니다.bun lint오류 0개, components 빌드 통과.assert_is_empty수정은 fix(extractor): let a later css() part replace an earlier one's declarations #706 등과 같은 내용입니다.2026-10-08 업데이트: main 11790bef를 merge commit으로 병합했습니다; 충돌 파일: 없음; 충돌 없이 자동 병합했고, 이미 포함된 squash 원본은 조상 확인 후 ours 전략으로 중복 적용하지 않았습니다.
2026-10-18 갱신: main
3ca6182fc08b1a63875cfb27ef470e98404aed12를 두 부모 merge commitf4aeeeced61e0e30ebdf9ceb8eb09d4f4f294924로 병합했습니다; 충돌 파일 Checkbox/Radioindex.tsx는 #723의 custom id와 두 label 연결·키보드용_focusVisible/solid·화면에서만 숨기는 버튼 radio와 main의 React18/양 variant native forwardRef를 함께 보존했습니다; 충돌 Checkboxindex.browser.test.tsx.snap은 전체 HEAD baseline을 선택한 뒤 테스트로 재생성해 9개 항목의 class 문자열 앞뒤 공백 이동만 수용했고(각 class·DOM·선언 동일), 수동 병합·Rust snapshot 후보·추가 build error·dependency는 없습니다; custom-id/ref와 버튼 radio ref의 실제 회귀 2개를 추가했고 기본 stack/jobs=2/6GiB에서 Rust workspace·fmt/clippy·fresh WASM/root·Bun 5,934개/0 fail/함수·라인 100%가 통과했습니다; CRLF formatter 후 정상 전체 hook도 12GiB 제한/412.0초/peak 4,082,806,784 bytes로 통과했으며 실제 React18 Chromium에서 모든 native ref·두 label·checkbox 토글·Select·Stepper·전환 완료 후 1px solid 키보드 focus를 확인하고 desktop/mobile 캡처를 검토했습니다; 새 테스트는 HappyDOM의 중복 labels 집계 대신 실제 두 label의 htmlFor와 native ref id를 검증하며 Chromium의 labels 길이는 2였습니다.; 최종 headf4aeeeced61e0e30ebdf9ceb8eb09d4f4f294924의 CI 39058058009는 5개 job 전체 SUCCESS이고 Linux Rust 100%(13464/13464), Bun 5934 pass/0 fail/함수·라인 100% 및 별도 preload 9 pass/0 fail을 확인했습니다.