diff --git a/.jules/palette.md b/.jules/palette.md new file mode 100644 index 00000000..dedd8c23 --- /dev/null +++ b/.jules/palette.md @@ -0,0 +1,3 @@ +## 2024-05-15 - 스크린 리더에서 중복 텍스트 낭독 방지 및 장식용 아이콘 접근성 개선 +**Learning:** 시각적으로 보이는 텍스트 바로 옆에 동일한 의미를 갖는 이미지(로고 등)가 있을 때 `alt` 텍스트를 제공하면 스크린 리더가 내용을 중복해서 읽게 됩니다(예: "Argos Argos"). 또한 버튼 내부에 이미 `aria-expanded` 등 상태가 제공되거나 접근성 텍스트가 있을 때, 방향을 나타내는 아이콘(`ChevronUp`, `ChevronDown`, `ChevronRight`)이나 일반 장식용 아이콘이 낭독되지 않게 해야 합니다. +**Action:** 텍스트와 의미가 중복되는 인접한 이미지에는 `alt="" aria-hidden="true"`를 적용하고, 상위 버튼이나 컨테이너에서 이미 목적/상태를 명확히 하는 경우 장식용 아이콘에 `aria-hidden="true"`를 항상 추가합니다. diff --git a/package.json b/package.json index d085ba62..7f98be44 100644 --- a/package.json +++ b/package.json @@ -18,18 +18,25 @@ "packageManager": "pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0", "pnpm": { "overrides": { + "fast-uri": ">=3.1.6", + "sharp": ">=0.35.4", + "js-yaml": ">=4.3.2", + "baseline-browser-mapping": ">=2.11.0", + "browserslist": ">=4.28.3", + "next": ">=15.5.25", + "hono": ">=4.13.5", + "postcss-selector-parser": ">=7.1.3", + "qs": ">=6.16.0", + "@humanfs/node": ">=0.16.8", + "deepmerge-ts": ">=8.0.0", "@babel/core": "7.29.7", "esbuild": "0.28.1", - "hono": "^4.12.34", - "js-yaml": "4.3.1", "nanoid": "3.3.18", "@auth/core": "^0.41.3", - "sharp": "^0.35.3", "postcss": "^8.5.18", "brace-expansion@1": "1.1.15", "brace-expansion@2": "2.1.2", "brace-expansion@>=3": "5.0.9", - "fast-uri": "^3.1.5", "ip-address": "^10.3.1", "undici": "^7.29.0", "minimatch": "^10.0.0", diff --git a/packages/web/src/components/dashboard/event-list.tsx b/packages/web/src/components/dashboard/event-list.tsx index a09d971a..14b844cb 100644 --- a/packages/web/src/components/dashboard/event-list.tsx +++ b/packages/web/src/components/dashboard/event-list.tsx @@ -171,7 +171,7 @@ function RowView({ bg, )} > - +