Daiji256

デザインシステムにおけるカラーコンポーネントの比較

公開
更新

はじめに

デザインシステム1における色について説明します。色はデザインシステムのほんの1要素にすぎませんが、コンポーネントやガイドラインなど広範囲に影響を与える重要な要素です。ここでは、いくつかのデザインシステムを紹介した後、色の定義・参照方法を比較しまとめます。

本記事では、色の定義・参照方法に焦点を当て、デザインシステム全体や色彩学、ブランディングなどの詳細には触れません。また、比較を容易にするためにデザインシステムの詳細については省略します。

デザインシステムの紹介

Material Design

Material DesignはGoogleが開発したデザインシステムで、汎用的でアクセシビリティに配慮した特徴があります。Googleが開発することもあり、とくにAndroidでよく採用されています。

Material Designではキーとなる色からカラーパレットを作成し、Surface、On Surface、Primaryなどのロールを定義します。これらのロールはUIのどのマテリアル・オブジェクトで利用するかを意識して定義されています。

ロールパレット値
primaryprimary40#6750A4
on-primaryprimary100#FFFFFF
surfaceneutral98#FEF7FF
on-surfaceneutral10#1D1B20

Carbon Design System

Carbon Design SystemはIBM Design Languageを実装したシステムです。Web向けのライブラリの提供が豊富です。

Carbon Design Systemではカラーパレットを作成し、ui-background、active-primary、text-01のようなロールを定義します。これらのロールは、どのUIコンポーネントに利用するかを意識して定義されています。

ロールパレット値
ui-backgroundWhite#FFFFFF
active-primaryBlue 80#002D9C
hover-primaryBlue 60 hover#0353E9
text-01Gray 100#161616

Acorn

AcornはFirefoxというブラウザで利用されるデザインシステムです。

Acornでは “コンポーネントトークン → … → カラートークン → 値” といったコンポーネントトークンがコンポーネントトークンを参照する構造で定義されています。これにより、少ない労力でコンポーネントトークンを増やすことが可能です。

デジタル庁デザインシステムβ版

デジタル庁デザインシステムは、デジタル庁をはじめとした官公庁や地方自治体などの行政機関での利用を想定して構築されたデザインシステムです。サービスの使い勝手や情報の探しやすさ、アクセシビリティ等の向上に力を入れています。

パレットを定義し、UIコンポーネントからパレットを参照します。ごく一部だけ、Success-1のようなセマンティックを定義し、それをUIコンポーネントから参照します。

セマンティックパレット値
White#FFFFFF
Blue-600#3460FB
Success-1Green-600#259D63
Error-1Red-800#EC0000

SmartHR Design System

SmartHR Design SystemはSmartHRという労務ソフトで利用されるデザインシステムです。

頻繁に利用する色についてはセマンティックトークンが定義され、それ以外の場合はプリミティブトークンを参照します。

セマンティックトークンプリミティブトークン値
MAINBLUE_100#0077C7
DANGERRED_100#E01E5A
TEXT_BLACKGREY_100#23221E
GREY_5#F8F7F6
GREY_6#F5F4F3

Human Interface Guidelines

Human Interface GuidelinesはAppleが定めたデザインガイドラインです。iOSなどのApple製品で利用されるため、GoogleのMaterial Designと比較されることが多いです。

アプリ内でシステムカラー値をハードコーディングすることは避け、動的システムカラーを意図通りに使用することを推奨しています。これにより、プラットフォームの外観が変わった際にも一貫した体験を提供します。

Spindle

SpindleはAmebaのためのデザインシステムで、Ameba関連のサービスで末永く効率よく運用されることを目指しています。

Surface Primary — On Surface Accent Primaryのようにコントラスト比を意識した色の組み合わせや、Cautionなどの部分的に利用する色を定義しています。

UIカラープリミティブカラー値
Surface PrimaryWhite 100#FFFFFF
On Surface High EmphasisGray 100#08121A
On Surface Accent PrimaryPrimary Green 80#237B31
CautionCaution Red 100#D91C0B

定義方法の比較・まとめ

デザインシステムはUIのあるアプリケーションと共に発展してきました。そのため、20年程度の歴史しかなく、日々開拓されています。紹介したデザインシステムからも察せられるように、多種多様な概念があり、色の定義方法も異なります。何か1つがベストというわけではなく、デザインの対象や思想などにより最終的な形が異なるのです。

紹介したデザインシステムは共通して、UIコンポーネントが直接色を指定・参照するわけではなく、色を参照するための何かを参照しています。これは、サービス全体で色を統一するためにはカラーコンポーネントが必要だからです。

デジタル庁デザインシステムのようにパレット(プリミティブ)を参照するタイプと、Material Designのようにロール(セマンティック、UIカラー)を参照するタイプがありました。ロールは、Carbon Design SystemのようにどのUIコンポーネントに使うかを定義するタイプと、Material DesignのようにUIのどのマテリアル・オブジェクトに使うかを定義するタイプがありました。

タイプの分類

便宜上、以下のように分類します。

タイプの分類と関係性

各タイプの特徴

感想

多様なデザインシステムを調査した結果、弱いロール > パレット > 強いロールの順で多い印象を受けました。カラーコンポーネントにある程度の役割を持たせつつ、メンテナンスコストを考慮すると、この順が妥当と感じました。

色とは何か、印刷などディスプレイ以外の対応、色空間、ブランディングなど、色には考えるべきことが無数にあります。色の管理・参照方法だけでこれだけ奥が深いことを実感しました。

文献

  1. Material Design
  2. Carbon Design System
  3. Acorn
  4. デジタル庁デザインシステムβ版
  5. SmartHR Design System
  6. Human Interface Guidelines
  7. Spindle

脚注

  1. デザインシステムとは、デザイン作業の効率化と一貫性を確保するために、コンポーネント、パターン、スタイル、ガイドラインなどで構成される体系的なツールです。これにより、デザインの統一性が保たれ、再利用性が向上します。 ↩