From 9c43d41e553a57a4387aa9bede68fe9aef1abdbc Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Fri, 17 Jul 2026 21:01:50 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20=EB=B9=88=20=EB=94=94?= =?UTF-8?q?=EB=A0=89=ED=86=A0=EB=A6=AC=20=EC=83=81=ED=83=9C=20=EB=A9=94?= =?UTF-8?q?=EC=8B=9C=EC=A7=80=EC=97=90=20ARIA=20=EC=97=AD=ED=95=A0=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 빈 디렉토리에 표시되는 "이 디렉토리는 비어 있습니다." 메시지를 감싸는 `div`에 `role="status"` ARIA 속성을 추가했습니다. 스크린 리더 사용자가 포커스 이동 없이도 디렉토리 내용이 비어있다는 맥락을 파악할 수 있도록 접근성을 개선합니다. 테스트 코드도 이에 맞게 수정되었습니다. --- .jules/palette.md | 3 +++ src/main/kotlin/html4tree/main.kt | 2 +- src/test/kotlin/html4tree/MainTest.kt | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.jules/palette.md b/.jules/palette.md index 9a12c9d..a36d6d1 100644 --- a/.jules/palette.md +++ b/.jules/palette.md @@ -48,3 +48,6 @@ ## 2024-08-01 - 네이티브 브라우저 UI의 다크 모드 지원 강제 **학습:** CSS 미디어 쿼리(`@media (prefers-color-scheme: dark)`)를 통해 다크 모드를 지원하더라도, 브라우저의 네이티브 UI 요소(스크롤바, 기본 폼 컨트롤, 기본 백그라운드 등)는 테마 변경을 인식하지 못해 어두운 테마 환경에서 밝은 스크롤바가 표시되는 등 시각적 불일치를 초래합니다. **조치:** 항상 HTML 문서의 `` 영역에 `` 메타 태그를 명시적으로 추가하여 브라우저 수준에서 사용자의 시스템 테마(다크 모드 등)를 완전히 상속받아 일관성 있는 네이티브 UI를 렌더링하도록 보장하십시오. +## 2024-07-17 - Add ARIA status role to empty directory state +**Learning:** Decorative or simple empty state messages in a list view don't naturally get announced properly by screen readers when navigating structure. Wrapping empty state messages with a `role="status"` ARIA attribute is necessary to ensure screen readers inform users correctly when the directory content list contains no functional items. +**Action:** Next time empty states are encountered, ensure they are not visually silent to assistive technologies, adding `role="status"` (or similar live region attributes) so their content changes or static state are surfaced. diff --git a/src/main/kotlin/html4tree/main.kt b/src/main/kotlin/html4tree/main.kt index b455862..e57b930 100644 --- a/src/main/kotlin/html4tree/main.kt +++ b/src/main/kotlin/html4tree/main.kt @@ -370,7 +370,7 @@ ${cssContent} } if(l.isEmpty()){ - l.append("""
  • 이 디렉토리는 비어 있습니다.
  • """) + l.append("""
  • 이 디렉토리는 비어 있습니다.
  • """) l.append('\n') } diff --git a/src/test/kotlin/html4tree/MainTest.kt b/src/test/kotlin/html4tree/MainTest.kt index 1349471..83739c9 100644 --- a/src/test/kotlin/html4tree/MainTest.kt +++ b/src/test/kotlin/html4tree/MainTest.kt @@ -94,6 +94,7 @@ class MainTest { val htmlContent = indexFile.readText() assertTrue(htmlContent.contains("")) assertTrue(htmlContent.contains("이 디렉토리는 비어 있습니다.")) + assertTrue(htmlContent.contains("role=\"status\"")) assertTrue(htmlContent.contains("role=\"list\"")) }