背景
PR #383 のレビュー(CodeRabbitAI)で、Tailwind CSS v4 における focus-visible:outline-none は単純に outline-style: none を適用するため、forced-colors(ハイコントラスト)モードでアウトラインが失われてしまうとの指摘がありました。Tailwind v4 では代わりに focus-visible:outline-hidden を使うことで、見た目は隠しつつ強制カラーモードではアウトラインを維持できます。
レビューコメント: #383 (comment)
レビュアー: coderabbitai
優先度: medium (accessibility)
指摘内容
Tailwind v4 では focus-visible:outline-none ではなく focus-visible:outline-hidden を使用すべき(forced-colors モードでもアウトラインを保持し、アクセシビリティを維持するため)。
Issue化した理由
対応方針(案)
以下の既存コンポーネントの focus-visible:outline-none を focus-visible:outline-hidden に一括置換する。
frontend/src/components/MobileSidebar.tsx
frontend/src/components/AdminLayout.tsx
frontend/src/components/Layout.tsx
frontend/src/components/FormSchemaBuilder.tsx
検証方法:
grep -rn "focus-visible:outline-none" frontend/src/ の結果が空になることを確認
- 主要なボタン/リンクをキーボード Tab で巡回しフォーカスリングが表示されること
- macOS の「コントラストを上げる」/ Windows のハイコントラストテーマで、フォーカス時にアウトラインが残ることを確認
関連PR
Refs #383
背景
PR #383 のレビュー(CodeRabbitAI)で、Tailwind CSS v4 における
focus-visible:outline-noneは単純にoutline-style: noneを適用するため、forced-colors(ハイコントラスト)モードでアウトラインが失われてしまうとの指摘がありました。Tailwind v4 では代わりにfocus-visible:outline-hiddenを使うことで、見た目は隠しつつ強制カラーモードではアウトラインを維持できます。レビューコメント: #383 (comment)
レビュアー: coderabbitai
優先度: medium (accessibility)
指摘内容
Tailwind v4 では
focus-visible:outline-noneではなくfocus-visible:outline-hiddenを使用すべき(forced-colors モードでもアウトラインを保持し、アクセシビリティを維持するため)。Issue化した理由
outline-hiddenに置換済み。focus-visible:outline-noneを使用していた箇所が複数のコンポーネントに散在しており、これらまで本PRに含めると変更スコープが本PRの目的から大きく拡大するため、本Issueに切り出した。対応方針(案)
以下の既存コンポーネントの
focus-visible:outline-noneをfocus-visible:outline-hiddenに一括置換する。frontend/src/components/MobileSidebar.tsxfrontend/src/components/AdminLayout.tsxfrontend/src/components/Layout.tsxfrontend/src/components/FormSchemaBuilder.tsx検証方法:
grep -rn "focus-visible:outline-none" frontend/src/の結果が空になることを確認関連PR
Refs #383