
EngineerとAgent向けに仕様化したDesign Systemを構築 — 2026年 第25週 デザインシステム
今週のデザインシステム関連の話題は、AIツール、トークンアーキテクチャ、ガバナンスの成熟度の交差点に集中しました。Evil Martiansは791ファイルへのAI監査で236種類のユニークカラー1,413件の使用事例、重複したフォントシステム、並行するアイコンライブラリを発見し、7週間でCurrents用の完全なデザインシス… 開発ですぐ活用できるよう整理しました。


Design TokenでColour Contrastを自動化
-backgroundで終わるトークンは自動的に-foreground-aaおよび-foreground-aaaトークンを生成し、黒と白のうち高いコントラストを持つ方を選択してAA基準を常に満たします。カスタムforegroundカラーを定義した場合、ビルド時にそのコントラスト比と合否がCSSコメントとして出力されます。transformはbackgroundTokenNameとforegroundTokenNameをカスタマイズ可能で、既存のネーミング規約にも柔軟に対応できます。バリデーションアクションはビルド後に実行され、AA未達のカスタムforegroundカラーのみエラーを返します。出力はすべてのブラウザやフレームワークで利用可能なCSS カスタムプロパティです。
ProposalからReleaseへ:Design System Workflowを設計

Design System Governance Planの作り方:混沌から一貫したUIへ
StorybookでのMocking
.mock.jsファイルパターンと@storybook/testのfnユーティリティを使用し、APIリクエストはmswパラメーターでMSWにより傍受されます。ReduxストアはrRedux-mock-storeデコレーターを、ZustandはフックベースのアーキテクチャゆえにMock.jsアプローチを採用します。window.matchMedia、IntersectionObserver、localStorageなどのブラウザAPIはpreview.tsxでObject.definePropertyとfn()によりグローバルにスタブ化されます。play関数を使ったインタラクションテストと、ストーリー間の状態リークや過剰モッキングといったアンチパターンも取り上げています。
型付きPolymorphic React Component
asプロップでspan、a、time、dataなど任意のHTML要素をレンダリングしながら、選択した要素に有効なpropsのみを許容するTextコンポーネントです。{as: E}とReact.ComponentProps<E>の単純な交差型は、TypeScriptがEを推論するとき交差を絞り込まないため機能しません。有効な解決策はComponentProps<E>のキーを明示的にマッピングし、EがResolveされた後にTypeScriptが具体的なオブジェクト型を具体化するよう強制する方法です。または、ComponentProps<E>をOmitでラップする(存在しないキーを除外しても)ことで同じ効果が得られます。著者はこのマップ型アプローチがなぜ機能するのか完全には理解できていないと述べており、StackOverflowでの類似事例を挙げています。
D/deafの人のためのDesign
selectなどの選択肢型入力を優先すべきです。短い文章、慣用句の回避、略語の展開といったプレインランゲージの原則も理解を助けます。ゲーム、XR、アプリの音声通知には視覚的またはハプティクスの代替手段を用意し、2024年のFortniteのように初期設定で有効化することが理想的とされています。D/deaf当事者をデザインプロセスに直接参加させることも推奨されています。
EngineerとAgent向けに仕様化したDesign Systemを構築
Design TokenでColour Contrastを自動化
-backgroundで終わるトークンは自動的に-foreground-aaおよび-foreground-aaaトークンを生成し、黒と白のうち高いコントラストを持つ方を選択してAA基準を常に満たします。カスタムforegroundカラーを定義した場合、ビルド時にそのコントラスト比と合否がCSSコメントとして出力されます。transformはbackgroundTokenNameとforegroundTokenNameをカスタマイズ可能で、既存のネーミング規約にも柔軟に対応できます。バリデーションアクションはビルド後に実行され、AA未達のカスタムforegroundカラーのみエラーを返します。出力はすべてのブラウザやフレームワークで利用可能なCSS カスタムプロパティです。ProposalからReleaseへ:Design System Workflowを設計
Design System Governance Planの作り方:混沌から一貫したUIへ
StorybookでのMocking
.mock.jsファイルパターンと@storybook/testのfnユーティリティを使用し、APIリクエストはmswパラメーターでMSWにより傍受されます。ReduxストアはrRedux-mock-storeデコレーターを、ZustandはフックベースのアーキテクチャゆえにMock.jsアプローチを採用します。window.matchMedia、IntersectionObserver、localStorageなどのブラウザAPIはpreview.tsxでObject.definePropertyとfn()によりグローバルにスタブ化されます。play関数を使ったインタラクションテストと、ストーリー間の状態リークや過剰モッキングといったアンチパターンも取り上げています。型付きPolymorphic React Component
asプロップでspan、a、time、dataなど任意のHTML要素をレンダリングしながら、選択した要素に有効なpropsのみを許容するTextコンポーネントです。{as: E}とReact.ComponentProps<E>の単純な交差型は、TypeScriptがEを推論するとき交差を絞り込まないため機能しません。有効な解決策はComponentProps<E>のキーを明示的にマッピングし、EがResolveされた後にTypeScriptが具体的なオブジェクト型を具体化するよう強制する方法です。または、ComponentProps<E>をOmitでラップする(存在しないキーを除外しても)ことで同じ効果が得られます。著者はこのマップ型アプローチがなぜ機能するのか完全には理解できていないと述べており、StackOverflowでの類似事例を挙げています。D/deafの人のためのDesign
selectなどの選択肢型入力を優先すべきです。短い文章、慣用句の回避、略語の展開といったプレインランゲージの原則も理解を助けます。ゲーム、XR、アプリの音声通知には視覚的またはハプティクスの代替手段を用意し、2024年のFortniteのように初期設定で有効化することが理想的とされています。D/deaf当事者をデザインプロセスに直接参加させることも推奨されています。今週のデザインシステム関連の話題は、AIツール、トークンアーキテクチャ、ガバナンスの成熟度の交差点に集中しました。Evil Martiansは791ファイルへのAI監査で236種類のユニークカラー1,413件の使用事例、重複したフォントシステム、並行するアイコンライブラリを発見し、7週間でCurrents用の完全なデザインシステムを構築しました。AIエージェントが色のずれなく予測可能にパレットを拡張できるよう、結果はelevation、content、UI、borderの4つのOKLCH定義のセマンティックトークングループにまとめられました。アイコンはSVGRでラップしたFigura OneセットとAI生成のマッピングテーブルで90%の精度で移行され、システム全体がFigma、Storybook、GitHubに実装されてデザイナーなしでLLMが活用できるよう設計されています。
ガバナンスとプロセスも同等の重みで取り上げられました。詳細なワークフローガイドでは健全なデザインシステム運営のための6つの柱(Contribution、Review and Approval、Documentation、Communication、Iteration、Versioning and Deprecation)が示され、コンポーネントのタイムラインはシンプルな変更の1〜2週間から複雑なものの8〜12週間まで様々です。ガバナンス記事では成熟したデザインシステムの79%が公式なガバナンスを持ち、デザインドリフトを防ぐことで最大60%のROI向上をもたらすと述べ、RACIマトリクスとコンポーネント再利用対カスタムバリアント比率を追跡する月次レビューを推奨しています。
コンポーネントテスト面では、Fotis Adamakisがprops、API傍受用MSW、Redux向けredux-mock-storeデコレーター、ZustandとカスタムフックへのMock.jsパターン、window.matchMediaやIntersectionObserverなどのブラウザAPIへのObject.definePropertyスタブを網羅するStorybookモッキングガイドを発表しました。TetraLogicalはD/deaf ユーザーのアクセシビリティを取り上げ、コンテンツ近くの正確な同期字幕、スペルミス軽減のための選択式フォームコントロール、音声通知のデフォルト有効な視覚的・ハプティクス代替を強調しました。Kitty GiraudelはDunaデザインシステムの作業中に発見したtypedポリモーフィックコンポーネント用のコンパクトなTypeScriptパターンを共有し、asプロップが確定した後にTypeScriptが具体的なpropsを具体化するようmapped typeを活用する方法を紹介しました。
- Evil Martiansは791ファイルへのAI監査でCurrents用デザインシステムを7週間で構築しました。OKLCHトークンを採用した理由は、AIエージェントが色のずれなく予測可能にパレットを拡張できるためです。
- 公式ガバナンス(RACIマトリクス、10ステップのコンポーネントリクエストプロセス、セマンティックバージョニング、月次ドリフトレビュー)は成熟したデザインシステムで最大60%のROI向上と相関しています。
- Storybookの.mock.jsファイルパターンとMSWの組み合わせで、カスタムフック・API呼び出し・Redux・Zustand・ブラウザAPIを含むデザインシステムコンポーネントの全モッキング領域を一貫したアプローチでカバーできます。