本文へスキップ

フォーカスリングの設計

:focus-visible で「キーボードのときだけ」2px のリングを 2px 離して描く。角丸に追従し、ダーク背景では白+藍の二重輪。マウスクリックでは出ない。

ENGLISH

Focus Ring (:focus-visible)

  • JS
156基本のUI部品 / アクセシブルUI の一覧 →

プレビュー

クリック

操作クリック/タップで動きます。

デザインの要点

  • outline はブラウザ既定を消さない。消すなら同じ強さの代替を必ず置く。outline:none だけの CSS は事故の温床
  • :focus ではなく :focus-visible に描く。マウスで押した瞬間にリングが出ると「壊れた」ように見えて消される
  • outline-offset: 2px で要素から少し離すと、角丸の形に沿ったまま背景色を問わず見える
  • 暗い地の上では白い内輪+藍の外輪の二重にする。1色のリングは地の色と同化して消える

プロのサイトでの実例

実例は「型の使われ方」の観察であり、コード・ロゴの転載ではありません。サイト側の更新で見え方が変わることがあります。

コード(コピーして使えます)

<div class="fr-wrap">
  <div class="fr-row">
    <button type="button" class="fr-btn fr-primary">保存する</button>
    <button type="button" class="fr-btn fr-ghost">キャンセル</button>
    <a href="#fr-help" class="fr-link">ヘルプを見る</a>
  </div>
  <div class="fr-row">
    <label class="fr-field"><span>メール</span><input type="email" placeholder="you@example.com" autocomplete="off"></label>
    <label class="fr-check"><input type="checkbox"><span>通知を受け取る</span></label>
  </div>
  <div class="fr-row fr-dark">
    <button type="button" class="fr-btn fr-ondark">ダーク背景では二重の輪</button>
  </div>
  <div class="fr-row">
    <button type="button" class="fr-sim" id="fr-sim">Tab を押す(模擬)</button>
    <span class="fr-simnote">実際の Tab キーでも同じリングが出ます</span>
  </div>
  <div class="fr-band"><span class="fr-tag">最後の操作</span><span id="fr-msg">枠内をクリックしてから Tab(キーボード)とクリック(マウス)を試す</span></div>
</div>

タグ

同じカテゴリ「アクセシブルUI」のほかのパーツ

関連パーツ