From e3e545bb85618d05e88f9c2073e9b72423edcb7c Mon Sep 17 00:00:00 2001
From: seonghobae <8172694+seonghobae@users.noreply.github.com>
Date: Tue, 14 Jul 2026 20:46:57 +0000
Subject: [PATCH 1/4] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20=EB=B9=88=20?=
=?UTF-8?q?=EB=94=94=EB=A0=89=ED=86=A0=EB=A6=AC=20=EC=83=81=ED=83=9C?=
=?UTF-8?q?=EC=9D=98=20=EC=A0=91=EA=B7=BC=EC=84=B1(ARIA)=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
생성된 디렉토리 트리의 HTML에서, 목록이 비어 있을 때 표시되는 텍스트 요소에 `role="status"` 속성을 추가하였습니다.
이를 통해 화면 판독기(스크린 리더) 사용자가 시각적 단서 없이도 디렉토리가 비어 있다는 상태 변화를 명확하게 인지할 수 있도록 접근성을 개선했습니다.
---
.jules/palette.md | 3 +++
src/main/kotlin/html4tree/main.kt | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/.jules/palette.md b/.jules/palette.md
index 9a12c9d..d103f6b 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를 렌더링하도록 보장하십시오.
+## 2026-07-14 - [Accessible Empty Directory State]
+**Learning:** Empty directory messages in generated HTML are better understood by screen readers when they use 'role="status"'. Without this role, the state change or empty view may not be properly announced to users relying on assistive technologies.
+**Action:** Always wrap state messages (like 'empty directory' or 'no results') with 'role="status"' or appropriate ARIA live regions for screen reader compatibility within the static output.
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')
}
From 9b9f239885ae2b8cc7f67c4814578a08d56e673b Mon Sep 17 00:00:00 2001
From: seonghobae <8172694+seonghobae@users.noreply.github.com>
Date: Tue, 14 Jul 2026 21:23:39 +0000
Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20=EB=B9=88=20?=
=?UTF-8?q?=EB=94=94=EB=A0=89=ED=86=A0=EB=A6=AC=20=EC=83=81=ED=83=9C?=
=?UTF-8?q?=EC=9D=98=20=EC=A0=91=EA=B7=BC=EC=84=B1(ARIA)=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
생성된 디렉토리 트리의 HTML에서, 목록이 비어 있을 때 표시되는 텍스트 요소에 `role="status"` 속성을 추가하였습니다.
이를 통해 화면 판독기(스크린 리더) 사용자가 시각적 단서 없이도 디렉토리가 비어 있다는 상태 변화를 명확하게 인지할 수 있도록 접근성을 개선했습니다.
From 48ebf560b0fd89c9997685c08e7c9cb5c947b953 Mon Sep 17 00:00:00 2001
From: seonghobae <8172694+seonghobae@users.noreply.github.com>
Date: Tue, 14 Jul 2026 21:59:23 +0000
Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20=EB=B9=88=20?=
=?UTF-8?q?=EB=94=94=EB=A0=89=ED=86=A0=EB=A6=AC=20=EC=83=81=ED=83=9C?=
=?UTF-8?q?=EC=9D=98=20=EC=A0=91=EA=B7=BC=EC=84=B1(ARIA)=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
생성된 디렉토리 트리의 HTML에서, 목록이 비어 있을 때 표시되는 텍스트 요소에 `role="status"` 속성을 추가하였습니다.
이를 통해 화면 판독기(스크린 리더) 사용자가 시각적 단서 없이도 디렉토리가 비어 있다는 상태 변화를 명확하게 인지할 수 있도록 접근성을 개선했습니다.
From 994471ba47caf8125459f5bd9475c0c814859f98 Mon Sep 17 00:00:00 2001
From: seonghobae <8172694+seonghobae@users.noreply.github.com>
Date: Tue, 14 Jul 2026 22:36:14 +0000
Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20=EB=B9=88=20?=
=?UTF-8?q?=EB=94=94=EB=A0=89=ED=86=A0=EB=A6=AC=20=EC=83=81=ED=83=9C=20?=
=?UTF-8?q?=EC=A0=91=EA=B7=BC=EC=84=B1=20=EA=B0=9C=EC=84=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
생성된 HTML 목록이 비어 있을 때 화면 판독기(스크린 리더) 사용자가 시각적 단서 없이도 디렉토리가 비어 있다는 상태를 명확하게 인지할 수 있도록 `role="status"` 속성을 추가하였습니다.
---
src/test/kotlin/html4tree/MainTest.kt | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/test/kotlin/html4tree/MainTest.kt b/src/test/kotlin/html4tree/MainTest.kt
index 1349471..0cb7d3e 100644
--- a/src/test/kotlin/html4tree/MainTest.kt
+++ b/src/test/kotlin/html4tree/MainTest.kt
@@ -95,6 +95,7 @@ class MainTest {
assertTrue(htmlContent.contains(""))
assertTrue(htmlContent.contains("이 디렉토리는 비어 있습니다."))
assertTrue(htmlContent.contains("role=\"list\""))
+ assertTrue(htmlContent.contains("role=\"status\""))
}
@Test