テック技報最新号へ →
CSS

accent-color でチェックボックス・ラジオ・レンジをブランド色にする

accent-color を1行書くだけで、ブラウザ標準のチェックボックスやラジオボタン、レンジスライダー、プログレスバーの色をまとめて変えられる。

@denicmarko · 2026-10-31
#フォーム#accent-color#チェックボックス#ブランドカラー#モダンCSS

どんな時に使う?

  • フォーム部品の色だけブランドカラーに合わせたいが、appearance: none で一から作り直したり、input を隠して疑似要素で描き直したりはしたくないとき。
  • ネイティブ部品のままなので、キーボード操作やスクリーンリーダーの対応がそのまま残る。

コード

css
:root {
  accent-color: #ea580c;
}

/* 部品ごとに変えたい場合 */
input[type="range"] {
  accent-color: oklch(65% 0.2 250);
}
  • 対象はチェックボックス、ラジオボタン、input[type="range"]、<progress>。
  • チェックマークの色はブラウザが背景色とのコントラストを見て自動で白か黒を選ぶので、明るいアクセント色でも読みやすい。
  • 継承されるプロパティなので、:root に書けばページ全体に効く。

注意点・対応状況

出典

X の元の投稿を開く