fix(a11y): mark generated user text for automatic direction - #633
fix(a11y): mark generated user text for automatic direction#633seonghobae wants to merge 8 commits into
Conversation
사용자가 제어하는 동적 텍스트(파일 이름, 디렉토리 이름)가 삽입되는 HTML 요소에 dir="auto" 속성을 추가하여 아랍어, 히브리어 등 양방향 텍스트(BiDi) 혼합 시 레이아웃과 텍스트 순서가 깨지는 현상을 방지합니다.
|
👋 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. |
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
사용자가 제어하는 동적 텍스트(파일 이름, 디렉토리 이름)가 삽입되는 HTML 요소에 dir="auto" 속성을 추가하여 아랍어, 히브리어 등 양방향 텍스트(BiDi) 혼합 시 레이아웃과 텍스트 순서가 깨지는 현상을 방지합니다.
사용자가 제어하는 동적 텍스트(파일 이름, 디렉토리 이름)가 삽입되는 HTML 요소에 dir="auto" 속성을 추가하여 아랍어, 히브리어 등 양방향 텍스트(BiDi) 혼합 시 레이아웃과 텍스트 순서가 깨지는 현상을 방지합니다.
사용자가 제어하는 동적 텍스트(파일 이름, 디렉토리 이름)가 삽입되는 HTML 요소에 dir="auto" 속성을 추가하여 아랍어, 히브리어 등 양방향 텍스트(BiDi) 혼합 시 레이아웃과 텍스트 순서가 깨지는 현상을 방지합니다.
사용자가 제어하는 동적 텍스트(파일 이름, 디렉토리 이름)가 삽입되는 HTML 요소에 dir="auto" 속성을 추가하여 아랍어, 히브리어 등 양방향 텍스트(BiDi) 혼합 시 레이아웃과 텍스트 순서가 깨지는 현상을 방지합니다.
사용자가 제어하는 동적 텍스트(파일 이름, 디렉토리 이름)가 삽입되는 HTML 요소에 dir="auto" 속성을 추가하여 아랍어, 히브리어 등 양방향 텍스트(BiDi) 혼합 시 레이아웃과 텍스트 순서가 깨지는 현상을 방지합니다.
Current exact authority
master@728f0f33323e43573d6664209891099502827d5d9d4e5120e9a47b11e19a043dac89ad5226bf0a76mastersrc/main/kotlin/html4tree/main.kt,src/test/kotlin/html4tree/MainTest.kt, andsrc/test/kotlin/html4tree/BidiTextDirectionTest.kt.jules/palette.mddoctrine was restored byte-for-byte to protected authority and is no longer in the effective rangeReview → causal repair
The initial branch correctly identified directionality as a product concern, but it also promoted a local implementation choice into repository-wide generated Palette doctrine and described
dir="auto"as if it guaranteed correct mixed-BiDi layout and screen-reader behavior. Those claims exceed the evidence.Normal descendant
5e98a2bc648e3dec9344260121772dd154a3d5b1keeps the product source/test delta while restoring.jules/palette.mdto the exact protected blob. Test successor9d4e5120e9a47b11e19a043dac89ad5226bf0a76adds an actual Arabic directory name (ملف) and Hebrew filename (מסמך.txt) and requires the generated<title>,<h1>, and visible filename span to carrydir="auto". No force-push, destructive rebase, or doctrine promotion was used.Standards boundary
The WHATWG HTML
dircontract definesautoas content-derived directionality and uses the first strong-direction character as its heuristic. That makesdir="auto"a reasonable source-level admission mechanism when the direction of user-controlled names is not known in advance, but the heuristic is deliberately limited. This PR therefore does not claim that arbitrary mixed-direction strings, browser chrome title rendering, tooltips, or assistive technologies are fully verified merely because the attribute exists.Remaining acceptance
Before Ready, run one unchanged exact head through repository CI/security/SAST/CodeQL and exercise representative LTR, RTL, mixed Latin+Arabic/Hebrew, punctuation/digit-leading, and CJK names in a real browser. Verify visible order, generated filename links, keyboard navigation, accessibility-tree names, narrow viewport overflow/wrap, and that the Korean suffix in the document title remains understandable when the user-controlled name determines RTL direction. Do not infer screen-reader correctness from source-string assertions alone.
Fresh exact-head workflows are currently non-terminal: CI
33992067408, Security Scan33992067402, CodeQL PR33992067391, and SAST Semgrep33992067382are queued. Predecessor results do not transfer.Delivery Gate
Keep Draft until the remaining exact-head and browser evidence is valid. No self-approval, bypass, gate weakening, force update, destructive rebase, or blanket WCAG/accessibility-compliance claim.