
Penpot、AI搭載デザインワークフロー向けMCPサーバーを実験 — 2026年 第2週 デザインシステム
第2週のデザインシステムを象徴するのは、本当に新しいシグナルです: PenpotがMCPサーバーをLLMとデザインAPIの間のプログラム的な橋渡しとして実験しており、AIがテキスト説明からの生成ではなく実際のデザイン操作を実行できるようにしています。PenpotはデザインをコードとしてPenpotが表現するため、MCPレイヤー… 開発ですぐ活用できるよう整理しました。


ADA改革と企業・障害者双方の真のWin-Winへの道

Figma Smart AnimateからReactへ:実践パイプライン
AnimatePresenceによるキャラクター切り替えやホバー/タップのスケール応答など、Reactステート起動のインタラクティビティをすべて担います。@lottiefiles/dotlottie-webパッケージ(lottie-webではない)はWebAssemblyレンダラーで<canvas>に直接描画するため、Viteのpublic/フォルダにWASMバイナリが必要です。重要な実装の詳細:同一コンポーネントに複数のdotLottieアニメーションがある場合、それぞれ専用の<canvas>要素が必要で——1つのインスタンスでsrcを切り替えるとロードフラッシュが発生します——CSSのopacityトランジションでクロスフェードを処理します。既知のエクスポートの落とし穴として、ネストされたコンポーネント状態のフラット化、可変フォントのテキストプロパティ、FigmaのSpringイージングの三次ベジェ近似などが挙げられます。ネストしたcontrast-color()でフォーカスリング?
contrast-color(contrast-color(var(--page-bg)))のようにCSS contrast-color()をネストすることで、MicrosoftのFluentデザインシステムで使われている2トークンのフォーカスリングパターン(--focus-inner-ringと--focus-outer-ring)を置き換えられるかを検討しています。このパターンは青いボタンのような任意の背景に対してコントラストを保証するため、1pxインセットの白いハイライトと2pxオフセットの黒いアウトラインを組み合わせます。ネストされた呼び出しはcontrast-color()の戻り値を反転させ、理論的には2つのテーマトークンペアの代わりに既存の--page-bgトークン1つで済むようになります。ただし重要な制約があります:フォーカスリングがカード背景など--page-bgと異なる表面上に現れると、この手法は機能しません。contrast-color()のブラウザサポートがまだ不安定で、light-dark()の方がシンプルで読みやすいため、RupertはCSSのcolor-schemeとlight-dark()の組み合わせを最終的に推奨しています。
多くのプロダクトチームが本当には権限を与えられていない理由

アクセシビリティテストに関するよくある誤解

Penpot、AI搭載デザインワークフロー向けMCPサーバーを実験
ADA改革と企業・障害者双方の真のWin-Winへの道
Figma Smart AnimateからReactへ:実践パイプライン
AnimatePresenceによるキャラクター切り替えやホバー/タップのスケール応答など、Reactステート起動のインタラクティビティをすべて担います。@lottiefiles/dotlottie-webパッケージ(lottie-webではない)はWebAssemblyレンダラーで<canvas>に直接描画するため、Viteのpublic/フォルダにWASMバイナリが必要です。重要な実装の詳細:同一コンポーネントに複数のdotLottieアニメーションがある場合、それぞれ専用の<canvas>要素が必要で——1つのインスタンスでsrcを切り替えるとロードフラッシュが発生します——CSSのopacityトランジションでクロスフェードを処理します。既知のエクスポートの落とし穴として、ネストされたコンポーネント状態のフラット化、可変フォントのテキストプロパティ、FigmaのSpringイージングの三次ベジェ近似などが挙げられます。ネストしたcontrast-color()でフォーカスリング?
contrast-color(contrast-color(var(--page-bg)))のようにCSS contrast-color()をネストすることで、MicrosoftのFluentデザインシステムで使われている2トークンのフォーカスリングパターン(--focus-inner-ringと--focus-outer-ring)を置き換えられるかを検討しています。このパターンは青いボタンのような任意の背景に対してコントラストを保証するため、1pxインセットの白いハイライトと2pxオフセットの黒いアウトラインを組み合わせます。ネストされた呼び出しはcontrast-color()の戻り値を反転させ、理論的には2つのテーマトークンペアの代わりに既存の--page-bgトークン1つで済むようになります。ただし重要な制約があります:フォーカスリングがカード背景など--page-bgと異なる表面上に現れると、この手法は機能しません。contrast-color()のブラウザサポートがまだ不安定で、light-dark()の方がシンプルで読みやすいため、RupertはCSSのcolor-schemeとlight-dark()の組み合わせを最終的に推奨しています。多くのプロダクトチームが本当には権限を与えられていない理由
アクセシビリティテストに関するよくある誤解
第2週のデザインシステムを象徴するのは、本当に新しいシグナルです: PenpotがMCPサーバーをLLMとデザインAPIの間のプログラム的な橋渡しとして実験しており、AIがテキスト説明からの生成ではなく実際のデザイン操作を実行できるようにしています。PenpotはデザインをコードとしてPenpotが表現するため、MCPレイヤーは競合ツールが追いつけない粒度を持ちます。これはPenpot Fest 2025でClaude Desktopを使ってライブ実演され、VS Code・Cursor・JetBrains Riderでもテスト済みです。LLM非依存のPython SDKでdesign-to-code・code-to-design・Storybookの生成・アクセシビリティ分析・デザインシステム準拠チェックをサポートします。まだベータ前ですが、このアーキテクチャはデザインツールがエージェント層と統合する方向性を先取りしています。
今週のアクセシビリティのテーマは2つの次元を持ちます。TetraLogicalのEla Gorlaは、チーム全体のアクセシビリティテストを静かに弱体化させる5つの誤解を解体します: 自動化ツールはWCAG要件の20〜40%しか検出できないのに包括的な監査として扱われ、テストはプロジェクト末期のQAまで先送りされ、責任はスペシャリストにのみ委任されます。実際にテストすべきAT/ブラウザ/OSの組み合わせの優先順位付けにはWebAIM Screen Reader User Surveyを推奨しています。またDequeによるADA改革分析では、通知・是正条項が障害者自身が違反を特定・報告して初めて法の保護が適用されるという構造的な問題を指摘しています。求職申請や医療情報アクセスのような時間的制約のあるデジタル場面では特に深刻です。
Dave Rupertのフォーカスリングのためのネストされたcontrast-color()の調査は、CSS機能の合成を極限まで押し進めた注目の事例です。ネストされた呼び出しは理論的に2トークンパターン(--focus-inner-ringと--focus-outer-ring)を単一の--page-bgトークンに縮小しますが、フォーカスリングがページ背景と異なる表面の上に現れると機能しません。不安定なcontrast-color()ブラウザサポートを考えると、light-dark()へのフォールバック推奨は実用的です。Carmen AnsioのFigma Config 2025の発表は、dotLottie/Framer MotionによるReactアニメーションハンドオフパイプラインをドキュメント化して今週を締めくくります。WebAssembly canvasレンダリングのdotLottieはモーション忠実度を、Framer MotionはReactステート駆動のインタラクティビティを担当し、コンポーネントごとに複数のアニメーションがある場合は各々専用の<canvas>要素が必要という重要な実装上の注意があります。
- PenpotのMCPサーバー実験をdesign-to-code自動化のテンプレートとして評価してみてください。LLM非依存のアーキテクチャにより、チームがすでに使用しているモデルと接続できます。
- 今すぐすべての職種にアクセシビリティテストの責任を分散させてください。自動化ツールはWCAG要件の最大40%しか検出できず、後期段階の欠陥を修正するコストは最初から組み込む場合よりもはるかに高くなります。
- Figma-to-Reactアニメーションパイプラインでは、各dotLottieアニメーションに専用の
<canvas>要素を与え、クロスフェードにはCSSのopacityトランジションを使用してください。単一インスタンスでsrcを切り替えるとローディングフラッシュが発生します。