Skip to content

release: v0.3.7 — focus-visible 標準化#177

Merged
masuP9 merged 2 commits into
mainfrom
refactor/focus-visible-standardize
May 13, 2026
Merged

release: v0.3.7 — focus-visible 標準化#177
masuP9 merged 2 commits into
mainfrom
refactor/focus-visible-standardize

Conversation

@masuP9
Copy link
Copy Markdown
Owner

@masuP9 masuP9 commented May 13, 2026

Summary

  • 全 APG パターン CSS の通常時フォーカスインジケーターを :focus { outline: none } + :focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; } のパターン A に統一
  • var(--primary) の focus 用途を var(--ring) に一本化(state 色と focus 色の責務分離)
  • grid 系(data-grid / grid / treegrid)は var(--focus-color, #3b82f6)var(--ring) に統合し、.dark--focus-color: #60a5fa 定義を削除(テーマ層 --ring が吸収)
  • マウスクリック時のリング抑制は :focus { outline: none; } の明示で対応(base の outline-ring/50 を上書き)
  • CODING_RULES.md に規約を追記

forced-colors: active 内の :focus は維持(Windows 高コントラスト利用者のマウスクリック後の現在位置表示を保つため)。shadcn/ui (src/components/ui/) は対象外。

バージョン

v0.3.6v0.3.7(patch)

Test plan

  • npm run build 通過(553 ページ)
  • Playwright で accordion の挙動を確認
    • マウスクリック後: outline: none 0px(規約通り、リング出ない)
    • programmatic .focus(): outline: none 0px(Chrome の :focus-visible 判定でも出ない)
    • Tab キーで focus: outline: solid 2px oklch(...)--ring 由来
  • Codex レビュー(2 round で verdict: pass

別 PR の候補

  • menubar.css の hover/focus background の token 化(現状 oklch(0.95 0 0) 固定値、.dark で override 済み)

🤖 Generated with Claude Code

masuP9 and others added 2 commits May 14, 2026 01:23
通常 CSS のフォーカスインジケーターを `:focus { outline: none } + :focus-visible
{ outline: 2px solid var(--ring); outline-offset: 2px; }` のパターン A に統一。
色を `var(--ring)` に一本化し、`var(--primary)` は selected / pressed などの
状態色専用にする。

- CODING_RULES.md: 規約 2 行追記(focus-visible / var(--ring) の標準)
- 通常 CSS で var(--primary) を focus 色として使っていた箇所を var(--ring) に置換
- :focus + :focus-visible の冗長な併用を `outline: none` + `:focus-visible` に整理
- :focus-visible 未使用の landmarks に規約適用
- data-grid / grid / treegrid の `--focus-color, #3b82f6` を var(--ring) に統合、
  dark mode の `--focus-color: #60a5fa` 定義を削除(テーマ層 --ring が吸収)
- grid 系セルは :focus 維持(キーボード/マウス両方でセルハイライトが必要なため)
- tree-view の treeitem も box-shadow を var(--ring) ベースに統一
- menubar の trigger / menuitem / submenu-trigger は :focus と :focus-visible を
  分離(background は :focus、outline は :focus-visible)
- tabs.css の重複 :focus-visible (line 135 と 229) を統合
- forced-colors: active 内のセレクタは既存 :focus を維持
  (マウスクリック後の現在位置表示を保つため)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 13, 2026

Deploying apg-patterns-examples with  Cloudflare Pages  Cloudflare Pages

Latest commit: 254544d
Status: ✅  Deploy successful!
Preview URL: https://922a2355.apg-patterns-examples.pages.dev
Branch Preview URL: https://refactor-focus-visible-stand.apg-patterns-examples.pages.dev

View logs

@masuP9 masuP9 merged commit c85ce76 into main May 13, 2026
17 checks passed
@masuP9 masuP9 deleted the refactor/focus-visible-standardize branch May 13, 2026 16:36
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