From af8e3561132fc17752a54d5308e522ac20eb482f Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Fri, 14 Aug 2026 21:28:17 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20[=EC=A0=91=EA=B7=BC?= =?UTF-8?q?=EC=84=B1]=20=EA=B7=B8=EB=A3=B9=20=EC=83=89=EC=83=81=20?= =?UTF-8?q?=EC=84=A0=ED=83=9D=EA=B8=B0=EC=9D=98=20radio=20role=20=EB=B6=80?= =?UTF-8?q?=EC=97=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit πŸ’‘ What: `GroupModal.tsx` λ‚΄ 색상 선택 λ²„νŠΌλ“€μ— λͺ…μ‹œμ μΈ `role="radio"`와 `aria-checked`λ₯Ό μΆ”κ°€ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 🎯 Why: `role="radiogroup"` λ‚΄λΆ€ μš”μ†Œκ°€ 일반 λ²„νŠΌ(`role="button"`, `aria-pressed`)으둜 μ‚¬μš©λ˜μ–΄ λ°œμƒν•  수 μžˆλŠ” 슀크린 리더 λ“± 보쑰 기기의 ꡬ쑰적 해석 였λ₯˜λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•¨μž…λ‹ˆλ‹€. β™Ώ Accessibility: μ»€μŠ€ν…€ λΌλ””μ˜€ 그룹의 μžμ‹ μš”μ†Œ 역할을 `radio`둜 λͺ…ν™•νžˆ ν•˜μ—¬ ν‚€λ³΄λ“œ 및 슀크린 리더 접근성을 κ°œμ„ ν–ˆμŠ΅λ‹ˆλ‹€. --- .jules/palette.md | 4 ++++ frontend/src/components/modals/GroupModal.tsx | 3 ++- frontend/src/components/modals/ModalCoverage.test.tsx | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.jules/palette.md b/.jules/palette.md index bd0f73248..426bea594 100644 --- a/.jules/palette.md +++ b/.jules/palette.md @@ -57,3 +57,7 @@ ## 2026-07-30 - Add window.confirm for destructive actions **Learning:** Destructive actions like deleting groups and edge relationships previously occurred immediately without user confirmation. **Action:** Always wrap delete operations with window.confirm() dialogs and ensure corresponding tests successfully mock window.confirm. + +## 2024-08-14 - Custom Radio Group Accessibility +**Learning:** μ»€μŠ€ν…€ `role="radiogroup"`을 λ§Œλ“€ λ•Œ, ν•˜μœ„ μš”μ†Œκ°€ 일반 λ²„νŠΌμ΄λΌλ„ `aria-pressed` λŒ€μ‹  λͺ…μ‹œμ μœΌλ‘œ `role="radio"`와 `aria-checked`λ₯Ό μ‚¬μš©ν•΄μ•Ό ꡬ쑰적 뢈일치둜 μΈν•œ μ ‘κ·Όμ„± 였λ₯˜λ₯Ό λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. +**Action:** 색상 선택기와 같은 μ»€μŠ€ν…€ λΌλ””μ˜€ κ·Έλ£Ή μ»΄ν¬λ„ŒνŠΈλ₯Ό κ°œλ°œν•˜κ±°λ‚˜ μˆ˜μ •ν•  λ•Œ, ν•˜μœ„ λ²„νŠΌμ˜ 역할을 λ°˜λ“œμ‹œ `radio`둜 μ§€μ •ν•˜κ³  μƒνƒœλ₯Ό `aria-checked`둜 ν‘œμ‹œν•˜λ„λ‘ ν•©λ‹ˆλ‹€. κ΄€λ ¨λœ ν…ŒμŠ€νŠΈ μ½”λ“œ μ—­μ‹œ `role="button"` λŒ€μ‹  `role="radio"`λ₯Ό 찾도둝 μˆ˜μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€. diff --git a/frontend/src/components/modals/GroupModal.tsx b/frontend/src/components/modals/GroupModal.tsx index bd96c21b1..e68be5c79 100644 --- a/frontend/src/components/modals/GroupModal.tsx +++ b/frontend/src/components/modals/GroupModal.tsx @@ -75,8 +75,9 @@ export function GroupModal({ {BUSINESS_GROUP_COLORS.map((color) => (