From de542b78edf78c884019429582402b909f0b0691 Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Thu, 6 Aug 2026 21:44:56 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20[UX=20improvement]=20?= =?UTF-8?q?=EC=BB=A4=EC=8A=A4=ED=85=80=20=EB=9D=BC=EB=94=94=EC=98=A4=20?= =?UTF-8?q?=EA=B7=B8=EB=A3=B9=20=EC=A0=91=EA=B7=BC=EC=84=B1=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ๐Ÿ’ก What: `GroupModal`์˜ ์ƒ‰์ƒ ์„ ํƒ ์Šค์™€์น˜ ๋ฒ„ํŠผ๋“ค์— `role="radio"`์™€ `aria-checked` ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๊ณ , ์ด์— ๋งž์ถฐ CSS ์„ ํƒ์ž์™€ ํ…Œ์ŠคํŠธ ์ฟผ๋ฆฌ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŽฏ Why: `role="radiogroup"` ๋‚ด๋ถ€์— ์œ„์น˜ํ•œ ์š”์†Œ๋“ค์ด ์ œ๋„ค๋ฆญ ๋ฒ„ํŠผ(`role="button"`)๊ณผ `aria-pressed`๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด ์Šคํฌ๋ฆฐ ๋ฆฌ๋”์™€ ๊ฐ™์€ ๋ณด์กฐ ๊ธฐ๊ธฐ์—์„œ ์˜ฌ๋ฐ”๋ฅธ ๋ผ๋””์˜ค ๋ฒ„ํŠผ ๊ทธ๋ฃน์œผ๋กœ ์ธ์‹๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ“ธ Before/After: ์‹œ๊ฐ์  ๋ณ€๊ฒฝ ์—†์Œ. โ™ฟ Accessibility: ๋ผ๋””์˜ค ๊ทธ๋ฃน ๋‚ด ์ž์‹ ์š”์†Œ๋“ค์˜ ์—ญํ• ์„ ๋ช…ํ™•ํžˆ ํ•˜์—ฌ ์ ‘๊ทผ์„ฑ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. --- .Jules/palette.md | 4 ++++ frontend/src/components/modals/GroupModal.tsx | 3 ++- frontend/src/components/modals/ModalCoverage.test.tsx | 2 +- frontend/src/styles.css | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.Jules/palette.md b/.Jules/palette.md index 7577a1ca7..6eaa2bf9c 100644 --- a/.Jules/palette.md +++ b/.Jules/palette.md @@ -56,3 +56,7 @@ ## 2024-07-14 - Native Keyboard Submission with Forms for Modals **Learning:** Modals designed with plain `
` elements as wrappers instead of `
` lack native keyboard submission support, forcing users to switch from keyboard to mouse to confirm actions like "Save". **Action:** When designing modals or popups containing inputs, always use a `` element to wrap the content, handle the `onSubmit` event (calling `e.preventDefault()`), and set the primary confirmation button to `type="submit"` to enable seamless Enter-key submission for keyboard users. + +## 2024-08-06 - [radiogroup ์—ญํ• ์— ๋Œ€ํ•œ ์˜ฌ๋ฐ”๋ฅธ ์ž์‹ ์—ญํ•  ๋ถ€์—ฌ] +**Learning:** `role="radiogroup"`์„ ์‚ฌ์šฉํ•˜์—ฌ ์ปค์Šคํ…€ ๋ผ๋””์˜ค ๊ทธ๋ฃน(์˜ˆ: ์ƒ‰์ƒ ์„ ํƒ ์Šค์™€์น˜)์„ ๋งŒ๋“ค ๋•Œ, ์ž์‹ ์š”์†Œ๋“ค์€ `role="radio"`์™€ `aria-checked`๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด์ฒ˜๋Ÿผ ์ œ๋„ค๋ฆญ ๋ฒ„ํŠผ์— `aria-pressed`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ญํ•  ๊ตฌ์กฐ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์•„ ์ ‘๊ทผ์„ฑ์ด ์ €ํ•˜๋ฉ๋‹ˆ๋‹ค. +**Action:** ๊ด€๋ จ๋œ React Testing Library ์ฟผ๋ฆฌ๋„ 'button' ์—ญํ•  ๋Œ€์‹  '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) => (