Communitygithub.com

Liquid Glass Web

Liquid Glass Webデザインシステムを使用してWebインターフェース(HTML/CSS、React、任意のフレームワーク)を構築・再デザインします。トークン、コンポーネント、コントラストルールを備え、新しいアクセントカラーでブランド変更も可能です。

Liquid Glass Web とは?

このスキルは、Appleの「Adopting Liquid Glass」をWeb向けに独立して適応したデザインシステム「Liquid Glass Web」を提供します。HTML/CSS、React、またはその他のフレームワークを使用して、ガラス調の半透明なUIを構築したい場合に使用します。このシステムは、不透明なコンテンツレイヤーの上に、薄く半透明な機能レイヤー(ナビゲーションやコントロール)を浮かせる2層構造を採用しています。アクセントカラーの変更は、`tokens.json`の編集と`contrast_check.py`によるWCAGコントラストチェックを自動化したワークフローで安全に行えます。また、アクセシビリティ、キーボード操作、`prefers-reduced-transparency`などのOS設定を尊重するための非妥協ルールが多数定められています。AppleのSF Symbolsやフォントは使用せず、デバイスのシステムフォントを利用するため、Apple製品以外のプラットフォームにも適用可能です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tgallina-hub/liquid-glass-web/tree/HEAD/liquid-glass-web/skills/liquid-glass-web

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Liquid Glass Web は何をしますか?

Liquid Glassのマテリアルモデルをブラウザ向けに適応したWebデザインシステムです。コンテンツは不透明なレイヤーに配置され、その上にナビゲーションやコントロールからなる薄く半透明な機能レイヤーが浮かびます。Appleの「Adopting Liquid Glass」に記載されている公開ガイダンスを独立して適応したものです。Appleのフォント、シンボル、アセットは含まれていません。

このスキルに含まれるもの

パス用途
assets/tokens.json信頼できる唯一の情報源:色(テーマ light、dark、contrast)、タイポグラフィ、スペーシング、半径、サイズ、マテリアル、シャドウ。
assets/tokens.cssコンパイル済みCSSカスタムプロパティとタイプクラス。トークンを変更した後は scripts/build_tokens_css.py で再生成。
assets/liquid-glass.cssコンポーネントスタイル(lg-* クラス)。フレームワーク非依存。
assets/liquid-glass.react.jsオプションのReact 18バンドル。window.LG を公開(クラシックスクリプト;window.React と window.ReactDOM が必要)。
assets/liquid-glass.d.tsコンポーネントのプロパティ、ドキュメントとして。
assets/example.htmlプレーンHTMLの完全な画面。その構造をコピーしてください。
references/brand-book.md原則、トーン、色、マテリアル、タイポグラフィ、レイアウト、モーション、アイコノグラフィ、アクセシビリティ。デザイン前に必ず読んでください。
references/html-api.mdReactを使わない場合のすべてのコンポーネントのマークアップ。
references/components/<Name>.mdコンポーネントごとのガイドライン:利用者が提供するもの、してはいけないこと。
scripts/contrast_check.pyすべてのテーマにおけるすべてのトークンペアのWCAGチェック(最悪ケースのガラスを含む)。失敗時にexit 1。
scripts/build_tokens_css.pytokens.json を tokens.css にコンパイル。

ワークフロー

A. UIの構築または再デザイン

  1. references/brand-book.md を読み、次に references/components/ から必要なコンポーネントファイルを読んでください。
  2. assets/tokens.css と assets/liquid-glass.css をプロジェクトにコピーし、その順序で読み込んでください。Reactプロジェクトでは、バンドルまたは references/html-api.md のマークアップの移植のどちらでも動作します。他のフレームワークでは、マークアップを移植してください。
  3. 2つのレイヤーを配置します:
    • コンテンツ: canvas と surface 上に不透明に配置。読み取り対象のすべてのものがここに配置されます。
    • ガラス: ナビゲーションとコントロールのみ。スクロールするコンテンツの上に浮かびます(ツールバー、タブバー、グループ、メニュー、ミディアムシート)。
  4. トークンを名前で使用します(var(--accent))。トークンでカバーされている色、半径、スペーシングの値をハードコードしないでください。
  5. 完了前に以下のチェックリストを実行してください。

B. ブランド変更(新しいアクセントカラーまたはニュートラルカラー)

  1. assets/tokens.json の値のみを変更してください。トークン名は変更しないでください。CSSがそれらに依存しているためです。
  2. 変更された各アクセントカラーには、すべてのテーマでその仲間が必要です:accent、on-accent、accent-text、accent-glass、focus-ring。ダークテーマのアクセントカラーが明るい場合、on-accent は暗くなければなりません。
  3. python3 scripts/contrast_check.py assets/tokens.json を実行してください。RESULT: PASS と出力されるまで値を調整してください。しきい値を弱めないでください。
  4. python3 scripts/build_tokens_css.py assets/tokens.json > assets/tokens.css を実行してください。
  5. 特に指示がない限り、ガラストークン(glass-fill、glass-edge、glass-lift、glass-blur)は保持してください。ガラスレイヤーは無色のままです。

非妥協ルール

  • ガラスは機能レイヤーのみに使用します。リスト行、コンテンツカード、ページセクションには絶対に使用せず、ガラスの上にガラスを重ねることも禁止です。
  • 通常のガラス上のテキストには、ink、ink-glass-muted、accent-glass、critical-glass のみを使用します。ガラス上で ink-secondary、accent-text、critical は絶対に使用しないでください。これらは暗いまたは明るいコンテンツの上で失敗します。
  • クリアガラス(lg-glass--clear)は写真、ビデオ、またはマップの上でのみ使用し、その下に lg-dim を配置します。その上にはシンボルと19px以上の太字ラベルのみを配置できます。
  • ビューごとに1つの prominent ボタンです。すべてのコントロールはカプセル形状(radius-full)です。入れ子になった半径は同心円状になります:内側 = 外側 − インセット。
  • ヒットエリアは最低でも target-min(44px)です。すべてのアイコンのみのコントロールには aria-label が必要です。
  • ステータスは常にグリフと単語をペアにします。色だけでは決して意味を伝えません。
  • prefers-reduced-transparency、prefers-contrast、prefers-reduced-motion を尊重してください。CSSがそれらを処理します。上書きしないでください。
  • AppleのSF Symbols、Appleフォント、またはロゴは使用しないでください。タイプスタックはデバイスのシステムフォントを使用します。Reactバンドルのアイコンセットはオリジナルのプレースホルダーです。

納品前のチェックリスト

  • バーの背後にカスタム背景がないこと。コンテンツはバーの下をスクロールし、lg-edge スクロールエッジ効果がバーがコンテンツと重なる部分で機能すること。
  • ガラスの数が少ないこと(バー、グループ、メニュー、シート)。それ以外はガラスではないこと。
  • 画面を data-theme="light"、"dark"、"contrast" で確認したこと。
  • トークンを変更した場合:contrast_check.py がPASSと表示し、tokens.css が再生成されていること。
  • キーボード:すべてのコントロールにフォーカスが当たり、focus-ring のアウトラインが表示されること。
  • コピー:アクションは文の先頭だけ大文字、リストセクションヘッダーのみ単語の先頭を大文字(Title Case)、動詞を先頭に、絵文字は使用しないこと。

関連スキル