diff --git a/.jules/palette.md b/.jules/palette.md index 4fa55f04f..8b8545b66 100644 --- a/.jules/palette.md +++ b/.jules/palette.md @@ -46,3 +46,6 @@ ## 2026-07-05 - Accessible Disabled Buttons **Learning:** Adding `aria-describedby` to disabled buttons and explicitly linking them to visible helper text elements allows screen readers to announce the reason for being disabled, significantly improving accessibility for interactive elements that depend on prior state (like selecting a project). **Action:** Always pair disabled interactive elements with visible helper text and use `aria-describedby` to semantically link them, ensuring the context is available to assistive technologies. +## 2026-07-08 - Table-based Form Accessibility +**Learning:** Table-based form inputs and selects tied to row identities often lack explicit context for screen readers when they don't have a dedicated label element. +**Action:** Always provide explicit `aria-label`s on inputs and selects inside table lists to give screen readers full context about what the element modifies. diff --git a/frontend/src/components/modals/CardinalityModal.tsx b/frontend/src/components/modals/CardinalityModal.tsx index f514e9948..0bd4863b8 100644 --- a/frontend/src/components/modals/CardinalityModal.tsx +++ b/frontend/src/components/modals/CardinalityModal.tsx @@ -161,6 +161,7 @@ export function CardinalityModal({ onApplyCardinalityRecommendation(recommendation) } + aria-label={`${recommendation.index_name} 추천 ${isApplied ? "적용됨" : "적용"}`} > {isApplied ? "적용됨" : "적용"} diff --git a/frontend/src/components/modals/GroupModal.tsx b/frontend/src/components/modals/GroupModal.tsx index 66199bebe..58ab46d8d 100644 --- a/frontend/src/components/modals/GroupModal.tsx +++ b/frontend/src/components/modals/GroupModal.tsx @@ -131,6 +131,7 @@ export function GroupModal({ {node.data.title}