1. ホーム
  2. CSS

【CSS】フォームの色を変えられる、accent-colorプロパティを解説!

Share

フォーム要素のスタイルをカスタマイズしたい場合があるでしょう。

特にチェックボックスやラジオボタンの色は、従来ブラウザによって決められており、自由に変更するのが難しいものでした。

そんな悩みを解決するCSSプロパティが、accent-colorです。

この記事では、その基本的な使い方から、注意点まで詳しく解説します。

accent-colorとは?

accent-colorは、フォーム部品のアクセントカラーを変更できるCSSプロパティです。
対象となるのは、以下のような要素です:

  • <input type="checkbox">
  • <input type="radio">
  • <progress>
  • <range>(スライダー)

これらのデフォルトデザインの一部を、CSSでコントロール可能にしてくれます。

基本的な使い方

以下のように、CSSで accent-color を指定するだけで、チェックボックスやラジオボタンの色を変更できます。

<label><input type="checkbox" checked> 同意する</label>
<label><input type="radio" name="gender" checked> 男性</label>
<label><input type="radio" name="gender"> 女性</label>
input[type="checkbox"],
input[type="radio"] {
  accent-color: #ff0000; /* レッド */
}
Preview

このように、簡単にチェックボックスやラジオボタンの色を変更できます。

サポート状況

accent-color は、主要なモダンブラウザで広くサポートされています:

  • Chrome
  • Edge
  • Firefox
  • Safari
  • モバイルブラウザ(iOS / Android)も対応済み

ただし、IEでは非対応です。古いブラウザへの対応が必要な場合は注意しましょう。

サポート状況については Can I useでご確認ください。

可読性に関する注意点

accent-colorは主要ブラウザではサポートされていますが、可読性についてはブラウザによってサポート状況が異なります。

例えば、accent-colorwhiteにした場合、Google Chrome、Edge、Firefoxでは自動的にチェックの色が黒になりますが、SafariやAndroidのChromeでは黒になりません。

Safariなどでaccent-colorを白に近い色にすると可読性が低下するので、そのような色を使わないようにしましょう。

気になる場合はiPhoneなどで実際の表示をチェックしてみてください。

可読性に関するサポート状況についても Can I useでご確認ください。

カスタマイズの注意点

  • accent-color は、フォーム部品全体を自由にデザインできるわけではありません
  • 例えば形状や大きさは、ユーザーエージェントスタイルの影響が強く、完全なコントロールは難しいです。
  • 配色を変更する目的で使い、必要に応じて他のカスタムスタイルと組み合わせましょう。
  • 白に近い明るい色を使うとブラウザによっては可読性が低下する

まとめ

accent-color を使うことで、フォーム部品のデザイン自由度が大きく広がります。デザイナーが思い通りのUIを実現しやすくなり、ブランドカラーとの統一感も取りやすくなる点が魅力です。

対応ブラウザに注意しつつ、ぜひ取り入れてみてください。

参考リンク