diff --git a/.jules/palette.md b/.jules/palette.md
index 9a12c9d..e66c549 100644
--- a/.jules/palette.md
+++ b/.jules/palette.md
@@ -48,3 +48,7 @@
## 2024-08-01 - 네이티브 브라우저 UI의 다크 모드 지원 강제
**학습:** CSS 미디어 쿼리(`@media (prefers-color-scheme: dark)`)를 통해 다크 모드를 지원하더라도, 브라우저의 네이티브 UI 요소(스크롤바, 기본 폼 컨트롤, 기본 백그라운드 등)는 테마 변경을 인식하지 못해 어두운 테마 환경에서 밝은 스크롤바가 표시되는 등 시각적 불일치를 초래합니다.
**조치:** 항상 HTML 문서의 `
` 영역에 `` 메타 태그를 명시적으로 추가하여 브라우저 수준에서 사용자의 시스템 테마(다크 모드 등)를 완전히 상속받아 일관성 있는 네이티브 UI를 렌더링하도록 보장하십시오.
+
+## 2024-08-01 - 본문으로 건너뛰기 링크 추가
+**학습:** 키보드나 스크린 리더 사용자는 매 페이지마다 반복되는 내비게이션(디렉토리 상위 이동 등)을 거쳐야 메인 콘텐츠(디렉토리 안의 파일 목록)에 도달할 수 있어 피로도를 느낍니다.
+**조치:** 항상 반복되는 내비게이션 영역 위( 바로 아래)에 화면에 숨겨져 있다가 포커스를 받을 때 나타나는 '본문으로 건너뛰기' 링크를 추가하고 메인 랜드마크 ``로 연결하여 접근성을 높이십시오.
diff --git a/src/main/kotlin/html4tree/main.kt b/src/main/kotlin/html4tree/main.kt
index b455862..6e716b9 100644
--- a/src/main/kotlin/html4tree/main.kt
+++ b/src/main/kotlin/html4tree/main.kt
@@ -308,6 +308,24 @@ fun process_dir(curr_dir: File, excludeSet: Set? = null, dirFiles: Array
opacity: 0.7;
font-style: italic;
}
+ .skip-link {
+ position: absolute;
+ top: -40px;
+ left: 0;
+ background: #0969da;
+ color: white;
+ padding: 8px;
+ z-index: 100;
+ transition: top 0.2s ease;
+ }
+ .skip-link:focus {
+ top: 0;
+ }
+ @media (prefers-reduced-motion: reduce) {
+ .skip-link {
+ transition: none;
+ }
+ }
"""
val styleHash = "sha256-" + Base64.getEncoder().encodeToString(MessageDigest.getInstance("SHA-256").digest(cssContent.toByteArray(Charsets.UTF_8)))
@@ -331,7 +349,8 @@ ${cssContent}
${css}
-
+ 본문으로 건너뛰기
+