preserve(ui): retain hover/focus repair behind #772 - #759
seonghobae wants to merge 9 commits into
Conversation
💡 What: 링크 텍스트 엘리먼트에 `.entry-label` 클래스를 명시적으로 추가하고, CSS에서 hover/focus 스타일 선택자를 `span:last-child`에서 `span.entry-label`로 변경했습니다. 🎯 Why: `<span class="visually-hidden">`을 도입한 후 `span:last-child` 선택자가 더 이상 보이는 텍스트 엘리먼트를 지정하지 않게 되면서 링크에 마우스를 올리거나 키보드 포커스를 줄 때 밑줄이 나타나던 시각적 피드백이 끊어졌기 때문입니다. 📸 Before/After: Before: 링크에 마우스를 올려도 밑줄이 나타나지 않음. After: 링크에 마우스를 올리거나 키보드로 포커스 시 링크 텍스트에 밑줄이 표시됨. ♿ Accessibility: 키보드 탐색 시(focus-visible) 제공되는 추가적인 시각적 피드백이 복원되어 시각 장애가 있거나 마우스를 사용할 수 없는 사용자의 접근성이 향상되었습니다.
|
👋 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 New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough생성 HTML의 링크 밑줄 대상을 Changes링크 레이블 밑줄 처리
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to Hover and keyboard-focus underlines now target visible link labels, restoring the intended feedback without an identified production risk. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 2 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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. Comment |
seonghobae
left a comment
There was a problem hiding this comment.
Fleet exact-head review on 1d91fcba4deab4e6e083e4f5d205b503367a0f7e.
Valid UX finding, but this is not yet a single-writer successor. #756 exact df7d2584309bcfa57ce0dce3320bd9b0e3edae11 is open from the same protected base 728f0f33323e43573d6664209891099502827d5d and modifies the same production selector/name-span seam. #759 is behaviorally stronger in one important respect: it also gives the parent .. visible span a stable semantic class, so the parent link regains the same hover/focus underline. #756, however, carries a valid CHANGELOG delta that #759 does not currently inherit. Merging both would create two parallel writers for the same UI contract; closing #756 before its valid delta is completely inherited would also violate PR-0.
Please converge on one canonical ordinary/non-force successor (preferably this branch if it retains the parent-link fix), and prove exact differential inheritance of every valid source/test/CHANGELOG delta from #756. Keep only one semantic class name (entry-label or entry-name) and one executable contract; do not preserve two equivalent conventions.
Current tests are source-string assertions. For this material UI change, add a current-head browser acceptance that renders the generated index and proves: (1) file/directory links and the parent link visibly underline on hover, (2) keyboard :focus-visible produces the intended visible feedback without styling the .visually-hidden text, (3) focus remains perceivable at 400% zoom/reflow and in forced-colors/high-contrast behavior, and (4) the hidden type label remains available to the accessibility tree while the parent .. stays intentionally hidden from it. A screenshot/E2E receipt from the unchanged exact head is needed before calling the UI Delivery Gate complete.
Also correct the .jules/palette.md provenance date (2024-10-23) unless that is an explicitly cited historical observation; the change itself is 2026-09-22 work.
💡 What: 링크 텍스트 엘리먼트에 `.entry-label` 클래스를 명시적으로 추가하고, CSS에서 hover/focus 스타일 선택자를 `span:last-child`에서 `span.entry-label`로 변경했습니다. 🎯 Why: `<span class="visually-hidden">`을 도입한 후 `span:last-child` 선택자가 더 이상 보이는 텍스트 엘리먼트를 지정하지 않게 되면서 링크에 마우스를 올리거나 키보드 포커스를 줄 때 밑줄이 나타나던 시각적 피드백이 끊어졌기 때문입니다. 📸 Before/After: Before: 링크에 마우스를 올려도 밑줄이 나타나지 않음. After: 링크에 마우스를 올리거나 키보드로 포커스 시 링크 텍스트에 밑줄이 표시됨. ♿ Accessibility: 키보드 탐색 시(focus-visible) 제공되는 추가적인 시각적 피드백이 복원되어 시각 장애가 있거나 마우스를 사용할 수 없는 사용자의 접근성이 향상되었습니다.
💡 What: 링크 텍스트 엘리먼트에 `.entry-label` 클래스를 명시적으로 추가하고, CSS에서 hover/focus 스타일 선택자를 `span:last-child`에서 `span.entry-label`로 변경했습니다. 🎯 Why: `<span class="visually-hidden">`을 도입한 후 `span:last-child` 선택자가 더 이상 보이는 텍스트 엘리먼트를 지정하지 않게 되면서 링크에 마우스를 올리거나 키보드 포커스를 줄 때 밑줄이 나타나던 시각적 피드백이 끊어졌기 때문입니다. 📸 Before/After: Before: 링크에 마우스를 올려도 밑줄이 나타나지 않음. After: 링크에 마우스를 올리거나 키보드로 포커스 시 링크 텍스트에 밑줄이 표시됨. ♿ Accessibility: 키보드 탐색 시(focus-visible) 제공되는 추가적인 시각적 피드백이 복원되어 시각 장애가 있거나 마우스를 사용할 수 없는 사용자의 접근성이 향상되었습니다.
💡 What: 링크 텍스트 엘리먼트에 `.entry-label` 클래스를 명시적으로 추가하고, CSS에서 hover/focus 스타일 선택자를 `span:last-child`에서 `span.entry-label`로 변경했습니다. 🎯 Why: `<span class="visually-hidden">`을 도입한 후 `span:last-child` 선택자가 더 이상 보이는 텍스트 엘리먼트를 지정하지 않게 되면서 링크에 마우스를 올리거나 키보드 포커스를 줄 때 밑줄이 나타나던 시각적 피드백이 끊어졌기 때문입니다. 📸 Before/After: Before: 링크에 마우스를 올려도 밑줄이 나타나지 않음. After: 링크에 마우스를 올리거나 키보드로 포커스 시 링크 텍스트에 밑줄이 표시됨. ♿ Accessibility: 키보드 탐색 시(focus-visible) 제공되는 추가적인 시각적 피드백이 복원되어 시각 장애가 있거나 마우스를 사용할 수 없는 사용자의 접근성이 향상되었습니다.
💡 What: 링크 텍스트 엘리먼트에 `.entry-label` 클래스를 명시적으로 추가하고, CSS에서 hover/focus 스타일 선택자를 `span:last-child`에서 `span.entry-label`로 변경했습니다. 🎯 Why: `<span class="visually-hidden">`을 도입한 후 `span:last-child` 선택자가 더 이상 보이는 텍스트 엘리먼트를 지정하지 않게 되면서 링크에 마우스를 올리거나 키보드 포커스를 줄 때 밑줄이 나타나던 시각적 피드백이 끊어졌기 때문입니다. 📸 Before/After: Before: 링크에 마우스를 올려도 밑줄이 나타나지 않음. After: 링크에 마우스를 올리거나 키보드로 포커스 시 링크 텍스트에 밑줄이 표시됨. ♿ Accessibility: 키보드 탐색 시(focus-visible) 제공되는 추가적인 시각적 피드백이 복원되어 시각 장애가 있거나 마우스를 사용할 수 없는 사용자의 접근성이 향상되었습니다.
💡 What: 링크 텍스트 엘리먼트에 `.entry-label` 클래스를 명시적으로 추가하고, CSS에서 hover/focus 스타일 선택자를 `span:last-child`에서 `span.entry-label`로 변경했습니다. 🎯 Why: `<span class="visually-hidden">`을 도입한 후 `span:last-child` 선택자가 더 이상 보이는 텍스트 엘리먼트를 지정하지 않게 되면서 링크에 마우스를 올리거나 키보드 포커스를 줄 때 밑줄이 나타나던 시각적 피드백이 끊어졌기 때문입니다. 📸 Before/After: Before: 링크에 마우스를 올려도 밑줄이 나타나지 않음. After: 링크에 마우스를 올리거나 키보드로 포커스 시 링크 텍스트에 밑줄이 표시됨. ♿ Accessibility: 키보드 탐색 시(focus-visible) 제공되는 추가적인 시각적 피드백이 복원되어 시각 장애가 있거나 마우스를 사용할 수 없는 사용자의 접근성이 향상되었습니다.
💡 What: 링크 텍스트 엘리먼트에 `.entry-label` 클래스를 명시적으로 추가하고, CSS에서 hover/focus 스타일 선택자를 `span:last-child`에서 `span.entry-label`로 변경했습니다. 🎯 Why: `<span class="visually-hidden">`을 도입한 후 `span:last-child` 선택자가 더 이상 보이는 텍스트 엘리먼트를 지정하지 않게 되면서 링크에 마우스를 올리거나 키보드 포커스를 줄 때 밑줄이 나타나던 시각적 피드백이 끊어졌기 때문입니다. 📸 Before/After: Before: 링크에 마우스를 올려도 밑줄이 나타나지 않음. After: 링크에 마우스를 올리거나 키보드로 포커스 시 링크 텍스트에 밑줄이 표시됨. ♿ Accessibility: 키보드 탐색 시(focus-visible) 제공되는 추가적인 시각적 피드백이 복원되어 시각 장애가 있거나 마우스를 사용할 수 없는 사용자의 접근성이 향상되었습니다.
💡 What: 링크 텍스트 엘리먼트에 `.entry-label` 클래스를 명시적으로 추가하고, CSS에서 hover/focus 스타일 선택자를 `span:last-child`에서 `span.entry-label`로 변경했습니다. 🎯 Why: `<span class="visually-hidden">`을 도입한 후 `span:last-child` 선택자가 더 이상 보이는 텍스트 엘리먼트를 지정하지 않게 되면서 링크에 마우스를 올리거나 키보드 포커스를 줄 때 밑줄이 나타나던 시각적 피드백이 끊어졌기 때문입니다. 📸 Before/After: Before: 링크에 마우스를 올려도 밑줄이 나타나지 않음. After: 링크에 마우스를 올리거나 키보드로 포커스 시 링크 텍스트에 밑줄이 표시됨. ♿ Accessibility: 키보드 탐색 시(focus-visible) 제공되는 추가적인 시각적 피드백이 복원되어 시각 장애가 있거나 마우스를 사용할 수 없는 사용자의 접근성이 향상되었습니다.
Preservation status
master@728f0f33323e43573d6664209891099502827d5d5494f764863ef6ce54811df37ea8d834e4b3102823c95189e1795eaa1b4ec5e28658d837bc1cdc51이 lane의 유효한 finding은
.visually-hiddentype span이 visible filename 뒤에 추가된 뒤span:last-child가 보이는 filename이 아니라 숨겨진 type span을 가리켜 hover/focus underline이 사라지는 회귀입니다.Generated candidate의
.entry-labelsource/test delta는 방향 자체는 유효하지만 retrospective.jules/palette.md를 함께 추가합니다. Canonical #772는 같은 defect를.entry-name이라는 더 좁은 visible-name 계약, parent entry 처리, focused generated-HTML regression, CHANGELOG, accessible-name 경계와 browser/keyboard acceptance까지 더 강하게 소유합니다.Generated/intervening history는 삭제하지 않았습니다. 기존 head를 부모로 protected-base tree를 사용하는 ordinary descendant
23c95189...를 만들고 branch를force=false로 전진시켰습니다. 현재 protected-base 대비 0 files / +0 / -0입니다.PR-0 규칙상 zero diff만으로 닫지 않습니다. #772 또는 verified successor가 visible-name selector delta, regression, 접근성/keyboard/browser evidence를 정상 protected ancestry에 완전히 승계한 뒤에만 이 predecessor를 완전 승계로 종료합니다.
Delivery Gate
Force push, destructive rebase, self-approval, source-neutral rerun, stale GREEN transfer, gate weakening, duplicate source repair는 사용하지 않습니다.