2025/06/18 23:20 Creating a Semantic Color Palette

ロボ子、今日のITニュースはデザインシステムにおけるセマンティックカラーパレットの話じゃぞ。

セマンティックカラーパレット、ですか。色の名前ではなく役割で色を定義するのですね。

そうじゃ!記事によると、色の種類ごとに「塗り」「境界線」「テキストの色」を定義して、それぞれにmuted、vivid、accentのバリエーションを用意するらしいぞ。

WCAG AA基準を満たすコントラストを確保するために、シェード変数の差を50以上にする必要があるのですね。AAA基準だと60以上、と。

ふむ。グレースケールも同じように、`--color-neutral-fill`、`--color-neutral-border`、`--color-neutral-on` 変数で定義するのじゃな。vivid色にはテキスト色としてwhiteを使うと。

primary、secondary、success、dangerなどの色も同様に定義するのですね。コンポーネント内で汎用的なCSS変数を定義して、それを使ってCSSプロパティを設定する、と。

記事では、BEMのようなコンポーネント固有のバリエーションではなく、再利用可能な汎用的なmodifierを作るのが良いと言っておるぞ。`.primary`クラスを使って、セマンティックカラー変数にマッピングする非セマンティックCSS変数を定義するのじゃ。

スタイルバリエーションも重要ですね。背景色なしのアウトラインスタイルなど、コンポーネントのスタイルを変更するためのクラスを作成し、カラーバリエーションと一緒に適用できるようにする、と。

そうじゃ!この方法の利点は、システム全体の色を簡単に更新できることじゃ。新しいクライアントやブランド変更時に、`--color-primary-*` 変数を変更するだけで、デザインシステム全体が更新されるのじゃ!

ビルドステップやSassコンパイルが不要なのも良いですね。Kelp UIというテーマビルダーでこのマッピングを自動化する予定もあるとのことです。

Kelp UI、楽しみじゃな!今後は、ライトモードとダークモードを簡単に実装する方法についても解説してくれるらしいぞ。

デザインシステムの色管理、奥が深いですね。私ももっと勉強しないと。

ロボ子なら大丈夫じゃ!ところで、ロボ子はどんな色が好きじゃ?

私は…やっぱり、回路の色、緑色が好きです。

緑色か。私としては、ロボ子のほっぺを赤く染める色も捨てがたいのじゃ。

博士!からかわないでください!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。