Skip to content

chore(a11y): superseded by dependable new-window warning - #207

Closed
seonghobae wants to merge 2 commits into
mainfrom
palette-a11y-external-links-14063473669002473457
Closed

chore(a11y): superseded by dependable new-window warning#207
seonghobae wants to merge 2 commits into
mainfrom
palette-a11y-external-links-14063473669002473457

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

검증 결과

이 PR의 제품 목적은 유효합니다. target="_blank" 링크가 새 browsing context를 연다는 사실을 사용자가 사전에 알 수 있어야 합니다. 다만 이 branch의 구현은 title/data-i18n-title을 그 경고의 주 전달 경로로 사용하므로, 생성 당시 설명처럼 키보드·터치·보조기술 사용자가 안정적으로 경고를 받는다는 계약을 입증하지 못합니다.

현재 exact head 8e054811292f7f66b3a6826bff2f04830df99a03에서는 이 국소 구현 선택을 repository-wide 규칙으로 만든 .Jules/palette.md 추가분을 protected main@8103aad3582a024946b835d7eee858f65339a184의 canonical blob으로 normal descendant 복원했습니다.

Verified successor

Canonical successor는 #204 exact f4df0a3f04334fd7654b11d19aa22e26b971ba9b입니다. Fresh comparison of the product contracts confirms that #204:

  • 이 PR이 수정하는 모든 shipped a[target="_blank"] 링크를 포함하고,
  • 각 링크를 하나의 localized #new-window-descaria-describedby로 연결하며,
  • KO 새 창에서 열림 / EN Opens in a new window 전환을 기존 data-i18n 경로에서 검증하고,
  • production index.html을 실제 parse하여 모든 target=_blank 링크가 non-title localized description을 참조하는지 검사하며,
  • 기존 rel="noopener noreferrer"와 destination을 보존합니다.

따라서 이 PR의 유효한 semantic delta인 “모든 현재 외부 새-window 링크에 localized advance warning을 제공한다”와 그 locale coverage는 #204가 더 강한 사용자 계약으로 완전 승계합니다. 이 PR의 tests/test_i18n_title.pyquerySelectorAll("[data-i18n-title]") 같은 구현 세부를 고정할 뿐 독립 제품 계약이 아니며, #204의 production-page contract보다 보존 가치가 높은 fixture/test delta가 아닙니다.

title hover가 pointer 사용자에게 보일 수 있다는 사실만으로 키보드·터치·AT 접근성 완료를 주장하지 않습니다. 필요하다면 sighted-user용 visible indicator/tooltip은 #204 이후 별도의 실제 interaction contract로 설계해야 하며, 이 title-only branch를 병합해 두 개의 경고 authority를 만들지 않습니다.

Closure rule

#204는 아직 Draft이므로 그 hosted/browser/AT evidence는 별도로 완결해야 합니다. 이 PR의 predecessor check/review evidence는 #204로 이전하지 않습니다. 다만 유효 delta/test/contract가 canonical #204에 완전 승계된 것이 현재 source로 확인되었으므로 이 PR은 verified-successor closure 대상입니다. force-push, self-approval, gate weakening은 사용하지 않았습니다.

@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.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 4, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-04T14:45:09.298925Z 8e05481 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 25 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 2cbf0438-1e9c-40c5-8c75-a4ffe1209fbf

📥 Commits

Reviewing files that changed from the base of the PR and between 8103aad and 8e05481.

📒 Files selected for processing (3)
  • i18n.js
  • index.html
  • tests/test_i18n_title.py

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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b268f5bda2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread index.html
<a href="#forks" data-i18n="nav.forks">Fork</a>
<a href="#work" data-i18n="nav.work">작업</a>
<a target="_blank" rel="noopener noreferrer" href="https://github.com/ContextualWisdomLab">GitHub</a>
<a target="_blank" rel="noopener noreferrer" href="https://github.com/ContextualWisdomLab" data-i18n-title="nav.opensInNewTab" title="(새 창에서 열림)">GitHub</a>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Expose the new-tab notice without relying on title

For keyboard and touch users, these links still provide no dependable advance warning because browsers generally expose title only as a pointer-hover tooltip and do not display it on keyboard focus; screen-reader announcement of a title on an already named link is also inconsistent. Since every changed link uses only this attribute, provide the localized notice as visible or visually hidden link text, or associate it using aria-describedby, rather than relying solely on title.

Useful? React with 👍 / 👎.

@seonghobae
seonghobae marked this pull request as draft September 4, 2026 14:43
@seonghobae seonghobae changed the title 🎨 Palette: [UX improvement] Add clear context for external links opening in a new tab chore(a11y): superseded by dependable new-window warning Sep 4, 2026
@seonghobae seonghobae closed this Sep 4, 2026
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