Skip to content

preserve(ui): retain duplicate hover repair behind #772 - #773

Draft
seonghobae wants to merge 4 commits into
masterfrom
palette-ux-fix-4211353649655843847
Draft

seonghobae wants to merge 4 commits into
masterfrom
palette-ux-fix-4211353649655843847

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 23, 2026 •

Copy link
Copy Markdown
Collaborator

Preservation status

  • protected/base: master@728f0f33323e43573d6664209891099502827d5d
  • previous generated head: 3148b4509ecd56d86f349f364b0c6013787bce71
  • exact preservation head: 323974bb6b20187998f3ab52e48ac8ffc604e332
  • lifecycle: open / Draft / zero effective diff
  • canonical stronger owner: fix(ui): restore hover/focus underline to visible entry names #772

이 lane은 .visually-hidden type span 때문에 span:last-child가 visible filename이 아니라 숨겨진 span을 가리켜 hover/focus underline이 사라지는 같은 defect를 다룹니다. Generated candidate의 .entry-label source/test delta는 #765와 사실상 동일하고 retrospective .jules/palette.md도 추가합니다.

#772가 이 defect를 .entry-name이라는 visible-name 계약, parent entry 처리, focused generated-HTML regression, CHANGELOG와 함께 더 강하게 소유하고 있으며, accessible-name source를 불필요한 aria-label로 덮지 않는 경계와 current-head browser/keyboard acceptance까지 명시합니다.

Generated history는 삭제하지 않았습니다. 기존 head를 부모로 protected-base tree를 사용하는 ordinary descendant 323974bb...를 만들고 branch를 force=false로 전진시켰습니다. 현재 protected-base 대비 0 files / +0 / -0입니다.

PR-0 규칙상 zero diff만으로 닫지 않습니다. #772 또는 verified successor가 valid selector/source/test/accessibility evidence를 정상 protected ancestry에 완전히 승계한 뒤에만 이 predecessor를 완전 승계로 종료합니다.

Delivery Gate

  • 의도성: PASS — visible filename hover/focus feedback 복구 의도는 보존됩니다.
  • 콘텐츠 적합성: PASS — 중복 source와 retrospective doctrine은 current tree에서 제거했습니다.
  • 기능 완전성: FAIL on this lane by design — 구현 authority는 #772입니다.
  • 복원력: FAIL on this lane by design — browser/keyboard/responsive evidence는 #772가 소유합니다.
  • 증거성: FAIL until canonical successor reaches protected ancestry.
  • 고유성: N/A — 기존 directory listing interaction 수리입니다.

Force push, destructive rebase, self-approval, source-neutral rerun, stale GREEN transfer, gate weakening, duplicate source repair는 사용하지 않습니다.

💡 What:
디렉토리 목록에서 접근성을 위해 추가된 `.visually-hidden` 클래스 요소들로 인해 `a:hover span:last-child` CSS 선택자가 깨져 Hover시 나타나는 텍스트 밑줄이 사라진 문제를 수정했습니다. 대신 `.entry-label` 이라는 의미론적 클래스를 도입하여 해당 문제를 해결했습니다.

🎯 Why:
화면 낭독기를 위한 보이지 않는 요소가 마지막 자식으로 추가되면서 CSS의 구조적 선택자(`:last-child`)가 의도하지 않은 요소(숨겨진 텍스트)를 가리키게 되어 기존의 마우스 오버 시각 효과가 깨졌기 때문입니다.

📸 Before/After:
Before: 링크에 마우스를 올려도 텍스트에 밑줄이 생기지 않음.
After: 링크에 마우스를 올리면 올바르게 텍스트에 밑줄 효과가 나타남.

♿ Accessibility:
시각적 Hover 효과를 안정적으로 복원하여, 키보드 사용자 및 마우스 사용자 모두에게 현재 포커스된 항목이 무엇인지 명확한 피드백을 제공합니다. 이는 웹 접근성 지침 중 시각적 포커스 이동 인지를 향상시킵니다. 구조적 CSS 선택자를 의미론적 클래스로 변경하여 향후 접근성 요소 추가 시 렌더링이 깨지지 않도록 견고하게 만들었습니다.
@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@coderabbitai

coderabbitai Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae
seonghobae marked this pull request as draft September 24, 2026 02:03
@seonghobae seonghobae changed the title 🎨 Palette: 시각적 Hover 피드백 복원 preserve(ui): retain duplicate hover repair behind #772 Sep 24, 2026
💡 What:
디렉토리 목록에서 접근성을 위해 추가된 `.visually-hidden` 클래스 요소들로 인해 `a:hover span:last-child` CSS 선택자가 깨져 Hover시 나타나는 텍스트 밑줄이 사라진 문제를 수정했습니다. 대신 `.entry-label` 이라는 의미론적 클래스를 도입하여 해당 문제를 해결했습니다.

🎯 Why:
화면 낭독기를 위한 보이지 않는 요소가 마지막 자식으로 추가되면서 CSS의 구조적 선택자(`:last-child`)가 의도하지 않은 요소(숨겨진 텍스트)를 가리키게 되어 기존의 마우스 오버 시각 효과가 깨졌기 때문입니다.

📸 Before/After:
Before: 링크에 마우스를 올려도 텍스트에 밑줄이 생기지 않음.
After: 링크에 마우스를 올리면 올바르게 텍스트에 밑줄 효과가 나타남.

♿ Accessibility:
시각적 Hover 효과를 안정적으로 복원하여, 키보드 사용자 및 마우스 사용자 모두에게 현재 포커스된 항목이 무엇인지 명확한 피드백을 제공합니다. 이는 웹 접근성 지침 중 시각적 포커스 이동 인지를 향상시킵니다. 구조적 CSS 선택자를 의미론적 클래스로 변경하여 향후 접근성 요소 추가 시 렌더링이 깨지지 않도록 견고하게 만들었습니다.
💡 What:
디렉토리 목록에서 접근성을 위해 추가된 `.visually-hidden` 클래스 요소들로 인해 `a:hover span:last-child` CSS 선택자가 깨져 Hover시 나타나는 텍스트 밑줄이 사라진 문제를 수정했습니다. 대신 `.entry-label` 이라는 의미론적 클래스를 도입하여 해당 문제를 해결했습니다.

🎯 Why:
화면 낭독기를 위한 보이지 않는 요소가 마지막 자식으로 추가되면서 CSS의 구조적 선택자(`:last-child`)가 의도하지 않은 요소(숨겨진 텍스트)를 가리키게 되어 기존의 마우스 오버 시각 효과가 깨졌기 때문입니다.

📸 Before/After:
Before: 링크에 마우스를 올려도 텍스트에 밑줄이 생기지 않음.
After: 링크에 마우스를 올리면 올바르게 텍스트에 밑줄 효과가 나타남.

♿ Accessibility:
시각적 Hover 효과를 안정적으로 복원하여, 키보드 사용자 및 마우스 사용자 모두에게 현재 포커스된 항목이 무엇인지 명확한 피드백을 제공합니다. 이는 웹 접근성 지침 중 시각적 포커스 이동 인지를 향상시킵니다. 구조적 CSS 선택자를 의미론적 클래스로 변경하여 향후 접근성 요소 추가 시 렌더링이 깨지지 않도록 견고하게 만들었습니다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant