Skip to content

fix(accessibility): make focus appearance contrast-robust - #390

Closed
seonghobae wants to merge 1 commit into
mainfrom
fix/focus-appearance-current-main-20260812
Closed

fix(accessibility): make focus appearance contrast-robust#390
seonghobae wants to merge 1 commit into
mainfrom
fix/focus-appearance-current-main-20260812

Conversation

@seonghobae

Copy link
Copy Markdown
Collaborator

Objective

Advance issue #324 by giving keyboard focus a deterministic qualifying indicator on both light and dark surfaces. This is a current-protected-base reconstruction of the unique semantic delta preserved on stale branches fix/focus-appearance-contrast / fix/focus-appearance-main, which are behind protected main and have no open PR.

Test-first state

This Draft starts intentionally RED at exact test-only head 4868211b03dc86627b2c0a716b5b0f91bd00cad1, directly based on protected main 55d7ae8647208e301f282350f076eeddaba61d11.

scripts/test_viewer_focus_appearance.py parses the actual :focus-visible rule, resolves the current limited color syntax, computes WCAG relative-luminance contrast, and requires at least a 2px qualifying band at 3:1 against both white and black backgrounds. Protected main's single modern-browser lightened coral outline is expected to fail the dark/light robustness contract.

Scope

Bounded CSS/accessibility slice under #324. It does not touch viewer.js generation safety (#322/#323), demo.js/dom-utils.js (#264), Java/controller work, or canonical documentation owned by #305.

Acceptance

Observe exact-head RED, apply the smallest two-tone focus rule reconstructed onto current main, then require script tests plus full exact-head CI/Security Scan/SAST/fuzz, zero valid unresolved findings, fresh exact-head/live-base identity, and qualifying independent approval where live protection requires it.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1280e554-ca20-4439-99af-45c06add9e50

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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 closed this Aug 11, 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