fix(a11y): keep static empty-directory text out of live-region semantics - #590
fix(a11y): keep static empty-directory text out of live-region semantics#590seonghobae wants to merge 8 commits into
Conversation
🎯 Why: 초기 로드 시 렌더링되는 요소에 ARIA live region(`role="status"`)을 적용하면 스크린 리더가 해당 내용을 불필요하게 중복해서 읽거나 페이지 전체 읽기 흐름을 방해하는 안티패턴이 발생하기 때문입니다. 📸 Before/After: 해당 없음 (시각적인 변경 없음) ♿ Accessibility: 정적 상태 메시지에 대한 스크린 리더의 불필요한 중복 안내를 제거하여 더 매끄러운 읽기 경험을 제공합니다.
|
👋 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. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (4)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough빈 디렉토리 안내 요소에서 Changes빈 디렉토리 접근성 조정
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to This localized accessibility change removes an unnecessary live-region role from static empty-directory content, with no identified production, security, or deployment impact; no actionable merge-blocking risk remains after normal checks and review. Possibly related PRs
🚥 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 2 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 |
🎯 Why: 초기 로드 시 렌더링되는 요소에 ARIA live region(`role="status"`)을 적용하면 스크린 리더가 해당 내용을 불필요하게 중복해서 읽거나 페이지 전체 읽기 흐름을 방해하는 안티패턴이 발생하기 때문입니다. 📸 Before/After: 해당 없음 (시각적인 변경 없음) ♿ Accessibility: 정적 상태 메시지에 대한 스크린 리더의 불필요한 중복 안내를 제거하여 더 매끄러운 읽기 경험을 제공합니다.
🎯 Why: 초기 로드 시 렌더링되는 요소에 ARIA live region(`role="status"`)을 적용하면 스크린 리더가 해당 내용을 불필요하게 중복해서 읽거나 페이지 전체 읽기 흐름을 방해하는 안티패턴이 발생하기 때문입니다. 📸 Before/After: 해당 없음 (시각적인 변경 없음) ♿ Accessibility: 정적 상태 메시지에 대한 스크린 리더의 불필요한 중복 안내를 제거하여 더 매끄러운 읽기 경험을 제공합니다.
🎯 Why: 초기 로드 시 렌더링되는 요소에 ARIA live region(`role="status"`)을 적용하면 스크린 리더가 해당 내용을 불필요하게 중복해서 읽거나 페이지 전체 읽기 흐름을 방해하는 안티패턴이 발생하기 때문입니다. 📸 Before/After: 해당 없음 (시각적인 변경 없음) ♿ Accessibility: 정적 상태 메시지에 대한 스크린 리더의 불필요한 중복 안내를 제거하여 더 매끄러운 읽기 경험을 제공합니다.
Limits `dir="auto"` strictly to dynamically generated `directoryName` and `fileName` strings. Restores fixed directionality for UI elements (`..` parent link and empty-state messages). Reverts the empty-state markup to exclude `role="status"` as per Draft #590 guidelines, and introduces robust regression tests with mixed RTL/LTR inputs.
Accessibility boundary
The generated empty-directory message is present in the initial static HTML and is never updated by client-side application logic. WAI-ARIA defines
statusas a live-region role for advisory status information and gives it implicitaria-live="polite"andaria-atomic="true". This page has no dynamic status update for that element, so the narrower semantic contract is to render the ordinary visible list item without live-region semantics.This does not claim that every screen reader will duplicate or interrupt initial static
role="status"content. That cross-AT behavior was not demonstrated and the earlier generated wording was too broad.Primary references:
Current exact delta
master@55b39b4ebad435670f26ec8065dfc980950e090ee5ba27ec8f29ec7be857bb93b80c0a3452e0a458role="status"from the static empty-state element and align the two structural regressions;786dbfb855f0645cdb0aa45dfdef98844ced4141restores the exact protectedci.ymlblob;e5ba27ec8f29ec7be857bb93b80c0a3452e0a458restores the protected journal blob rather than turning that claim into repository guidance;behind_by=0, merge base exactly protected master.Delivery gate
Keep Draft until the unchanged exact head has terminal applicable CI/security evidence, fresh current-head review/thread state, and the live qualifying approval. No self-approval, force rewrite, gate weakening, or predecessor evidence transfer.