Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
8 commits
Select commit Hold shift + click to select a range
5506bc9
🎨 Palette: [μ ‘κ·Όμ„±] 슀크린 리더 μˆ¨κΉ€ ν…μŠ€νŠΈ μ‹œκ°μ  μŠ€νƒ€μΌ λˆ„μΆœ μˆ˜μ •
seonghobae Sep 27, 2026
b6ea1e3
🎨 Palette: [μ ‘κ·Όμ„±] 슀크린 리더 μˆ¨κΉ€ ν…μŠ€νŠΈ μ‹œκ°μ  μŠ€νƒ€μΌ λˆ„μΆœ μˆ˜μ •
seonghobae Sep 27, 2026
9851d42
🎨 Palette: [μ ‘κ·Όμ„±] 슀크린 리더 μˆ¨κΉ€ ν…μŠ€νŠΈ μ‹œκ°μ  μŠ€νƒ€μΌ λˆ„μΆœ μˆ˜μ •
seonghobae Sep 28, 2026
c22026e
🎨 Palette: [μ ‘κ·Όμ„±] 슀크린 리더 μˆ¨κΉ€ ν…μŠ€νŠΈ μ‹œκ°μ  μŠ€νƒ€μΌ λˆ„μΆœ μˆ˜μ •
seonghobae Sep 28, 2026
0170519
🎨 Palette: [μ ‘κ·Όμ„±] 슀크린 리더 μˆ¨κΉ€ ν…μŠ€νŠΈ μ‹œκ°μ  μŠ€νƒ€μΌ λˆ„μΆœ μˆ˜μ •
seonghobae Sep 28, 2026
260f137
🎨 Palette: [μ ‘κ·Όμ„±] 슀크린 리더 μˆ¨κΉ€ ν…μŠ€νŠΈ μ‹œκ°μ  μŠ€νƒ€μΌ λˆ„μΆœ μˆ˜μ •
seonghobae Sep 29, 2026
122255f
🎨 Palette: [μ ‘κ·Όμ„±] 슀크린 리더 μˆ¨κΉ€ ν…μŠ€νŠΈ μ‹œκ°μ  μŠ€νƒ€μΌ λˆ„μΆœ μˆ˜μ •
seonghobae Sep 29, 2026
2cd15e6
🎨 Palette: [μ ‘κ·Όμ„±] 슀크린 리더 μˆ¨κΉ€ ν…μŠ€νŠΈ μ‹œκ°μ  μŠ€νƒ€μΌ λˆ„μΆœ μˆ˜μ •
seonghobae Sep 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .jules/palette.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,7 @@
## 2026-08-17 - λΈŒλΌμš°μ € λ²ˆμ—­κ³Ό ν™”λ©΄ νŒλ…κΈ°μ˜ ν˜Έν™˜μ„±μ„ μœ„ν•œ ν…μŠ€νŠΈ 처리
**Learning:** `aria-label` μ†μ„±μœΌλ‘œ μ§€μ •λœ ν™”λ©΄ νŒλ…κΈ°μš© λŒ€μ²΄ ν…μŠ€νŠΈλŠ” Chrome Translate λ“± λΈŒλΌμš°μ € λ²ˆμ—­ 도ꡬ에 μ˜ν•΄ λ²ˆμ—­λ˜μ§€ μ•ŠλŠ” κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€. 이둜 인해 λ¬Έμ„œ μ–Έμ–΄κ°€ λ³€ν™˜λ˜μ–΄λ„ 슀크린 λ¦¬λ”μ—μ„œλŠ” 원본 μ–Έμ–΄(예: μ˜μ–΄)둜 μ½ν˜€ λ‹€κ΅­μ–΄ 접근성이 μ €ν•˜λ©λ‹ˆλ‹€.
**Action:** ν™”λ©΄ νŒλ…κΈ°λ₯Ό μœ„ν•œ μˆ¨κ²¨μ§„ μ„€λͺ… ν…μŠ€νŠΈλ₯Ό μ œκ³΅ν•  λ•Œ `aria-label` λŒ€μ‹  CSS `.visually-hidden` 클래슀λ₯Ό μ μš©ν•œ `<span>` μš”μ†Œλ₯Ό μ‚¬μš©ν•˜μ—¬, λΈŒλΌμš°μ €κ°€ 일반 ν…μŠ€νŠΈλ‘œ μΈμ‹ν•˜κ³  λ²ˆμ—­ν•  수 μžˆλ„λ‘ ν•˜μ—¬ λ‹€κ΅­μ–΄ μ ‘κ·Όμ„± ν˜Έν™˜μ„±μ„ ν™•λ³΄ν•˜μ‹­μ‹œμ˜€.

## 2024-09-27 - 링크의 ν˜Έλ²„ 및 포컀슀 μŠ€νƒ€μΌ 적용 λ²”μœ„ μ œν•œμ„ ν†΅ν•œ μ‹œκ°μ  λͺ…ν™•μ„± ν–₯상
**ν•™μŠ΅:** `span:last-child`와 같은 ꡬ쑰적 μ„ νƒμžλ₯Ό μ‚¬μš©ν•˜μ—¬ 링크의 ν˜Έλ²„ 및 포컀슀 μƒνƒœ(예: ν…μŠ€νŠΈ 밑쀄)λ₯Ό μ§€μ •ν•˜λ©΄, 슀크린 λ¦¬λ”μš© μˆ¨κΉ€ ν…μŠ€νŠΈ(`.visually-hidden`)λ₯Ό `<span>`으둜 μ œκ³΅ν•  λ•Œ μˆ¨κ²¨μ§„ ν…μŠ€νŠΈ μ˜μ—­μ—κΉŒμ§€ λΆˆν•„μš”ν•œ μ‹œκ°μ  μŠ€νƒ€μΌμ΄ μ μš©λ˜λŠ” λ¬Έμ œκ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.
**Action:** 링크 λ‚΄λΆ€μ˜ νŠΉμ • μ‹œκ°μ  μ½˜ν…μΈ μ—λ§Œ μŠ€νƒ€μΌ(밑쀄 λ“±)을 μ μš©ν•˜κΈ° μœ„ν•΄ 일반적인 ꡬ쑰적 μ„ νƒμž λŒ€μ‹  λͺ…ν™•ν•œ 클래슀(예: `.entry-name`)λ₯Ό μ§€μ •ν•˜μ—¬, μˆ¨κ²¨μ§„ μ ‘κ·Όμ„± ν…μŠ€νŠΈμ˜ ꡬ쑰 변경이 μ‹œκ°μ  λ””μžμΈμ— 영ν–₯을 λ―ΈμΉ˜μ§€ μ•Šλ„λ‘ μ•ˆμ „ν•˜κ²Œ λΆ„λ¦¬ν•˜μ‹­μ‹œμ˜€.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ All notable changes to this project are documented in this file.
- Add generated-page regressions for row ordering, empty-state semantics, CSS
cascade ordering, reduced-motion retention, text-only decoration, and numeric
text/focus contrast thresholds.
- 링크 λ‚΄λΆ€μ˜ νŠΉμ • μ‹œκ°μ  μ½˜ν…μΈ μ—λ§Œ ν˜Έλ²„ 및 포컀슀 μŠ€νƒ€μΌ(예: 밑쀄)이 μ μš©λ˜λ„λ‘,
일반적인 `span:last-child` μ„ νƒμž λŒ€μ‹  `.entry-name` 클래슀λ₯Ό μ‚¬μš©ν•˜λ„λ‘ λ³€κ²½ν•˜μ—¬
슀크린 λ¦¬λ”μš© μˆ¨κΉ€ ν…μŠ€νŠΈμ— λΆˆν•„μš”ν•œ μ‹œκ°μ  μŠ€νƒ€μΌμ΄ μ μš©λ˜λŠ” 것을 λ°©μ§€.

### Documentation

Expand Down
6 changes: 3 additions & 3 deletions src/main/kotlin/html4tree/main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ a:hover, a:focus-visible {
outline: 2px solid #0969da;
outline-offset: -2px;
}
a:hover span:last-child, a:focus-visible span:last-child {
a:hover span.entry-name, a:focus-visible span.entry-name {
text-decoration: underline;
}
@media (prefers-reduced-motion: reduce) {
Expand Down Expand Up @@ -429,7 +429,7 @@ fun process_dir(curr_dir: File, excludeSet: Set<String>? = null, dirFiles: Array
<h1>${directoryName.escapeHtml()}</h1>
<nav aria-label="디렉토리 λͺ©λ‘">
<ul role="list">
<li><a class="dir-link" href="./.." title="μƒμœ„ λ””λ ‰ν† λ¦¬λ‘œ 이동"><span class="icon" aria-hidden="true">&#x21B0;</span> <span aria-hidden="true">..</span> <span class="visually-hidden">μƒμœ„ λ””λ ‰ν† λ¦¬λ‘œ 이동</span></a></li>
<li><a class="dir-link" href="./.." title="μƒμœ„ λ””λ ‰ν† λ¦¬λ‘œ 이동"><span class="icon" aria-hidden="true">&#x21B0;</span> <span class="entry-name" aria-hidden="true">..</span> <span class="visually-hidden">μƒμœ„ λ””λ ‰ν† λ¦¬λ‘œ 이동</span></a></li>
"""

val index_middle = fun():String{
Expand Down Expand Up @@ -460,7 +460,7 @@ fun process_dir(curr_dir: File, excludeSet: Set<String>? = null, dirFiles: Array
val ariaLabel = "${fileName} ${if (isLinkedDirectory) { "디렉토리" } else { "파일" }}".escapeHtml()
val typeLabel = if (isLinkedDirectory) { "디렉토리" } else { "파일" }
val icon = if (isLinkedDirectory) { "&#128193;" } else { "&#128196;" }
l.append(""" <li><a class="dir-link" href="${encodedHref}" title="${ariaLabel}"><span class="icon" aria-hidden="true">${icon}</span> <span>${fileName.escapeHtml()}</span> <span class="visually-hidden">${typeLabel}</span></a></li>""")
l.append(""" <li><a class="dir-link" href="${encodedHref}" title="${ariaLabel}"><span class="icon" aria-hidden="true">${icon}</span> <span class="entry-name">${fileName.escapeHtml()}</span> <span class="visually-hidden">${typeLabel}</span></a></li>""")
l.append('\n')
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/test/kotlin/html4tree/GeneratedIndexReadabilityTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class GeneratedIndexReadabilityTest {
)

val generatedHtml = generatedHtml()
val parentIndex = generatedHtml.indexOf("<span aria-hidden=\"true\">..</span>")
val parentIndex = generatedHtml.indexOf("<span class=\"entry-name\" aria-hidden=\"true\">..</span>")
val firstIndex = generatedHtml.indexOf("alpha.txt")
val middleIndex = generatedHtml.indexOf("middle.txt")
val lastIndex = generatedHtml.indexOf("zulu.txt")
Expand Down Expand Up @@ -147,7 +147,7 @@ class GeneratedIndexReadabilityTest {
assertTrue(
style.contains(
"""
a:hover span:last-child, a:focus-visible span:last-child {
a:hover span.entry-name, a:focus-visible span.entry-name {
text-decoration: underline;
}
""".trimIndent()
Expand Down
Loading