Communitygithub.com

ダッシュボードレイアウトシステム

ビューポート固定・マルチペインのWebアプリケーションやSaaSダッシュボード向けに、スクロール封じ込め、折りたたみ可能なパネル、堅牢なレスポンシブ適応を備えた体系的なレイアウトフレームワークを設計します。

ダッシュボードレイアウトシステム とは?

このスキルは、ビューポート固定(100dvh)のマルチペインWebインターフェース(アプリケーションシェルやワークスペースとも呼ばれる)を設計するための体系的な方法論を提供します。従来のドキュメントベースのページのように単一のスクロールコンテナで無限に流れるのではなく、ダッシュボードシェルはメインビューポートの高さを固定し、ワークスペースを明確な機能ゾーンに分割します。このスキルは、"スクロール内スクロール"のロック、ビューポートのラバーバンディング、パネル折りたたみ時のレイアウトシフト、重なり合うダイアログのフォーカストラップなど、よくある空間的な摩擦点を解決します。美しいビジュアルデザインと技術的なCSS封じ込めの間のギャップを埋め、まとまりのある高機能でアクセシブルなワークスペースを実現します。B2B SaaSのコアワークスペース、データ分析ダッシュボード、管理・運用パネル、リッチコンテンツ編集インターフェースなどに最適です。マーケティングページやブログ記事など、線形スクロールが求められるレイアウトには使用すべきではありません。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coastdigitalgroup/coastai-skills/tree/HEAD/website-design/dashboard-layout-system

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

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

ドキュメント

ダッシュボードレイアウトシステム は何をしますか?

目的

ダッシュボードレイアウトシステムは、ビューポート固定・マルチペインのWebインターフェース(アプリケーションシェルまたはワークスペースと呼ばれることが多い)のための体系的な設計方法論を提供します。単一のスクロールコンテナ内を無限に流れる標準的なドキュメントベースのページとは異なり、ダッシュボードシェルはメインビューポートの高さを正確に 100vh(または 100dvh)に固定し、ワークスペースを明確な機能ゾーンに分割します。

体系的なアプローチにより、「スクロール内スクロール」のロックアップ、ビューポートのラバーバンディング、パネル折りたたみ時のレイアウトシフト、重なり合うダイアログのフォーカストラップなど、一般的な空間的な摩擦点を解決します。これにより、美的なビジュアルデザインと技術的なCSS封じ込めの間のギャップを埋め、まとまりのある、高機能で、アクセシブルなワークスペースを実現します。

ユースケース

  • B2B SaaS コアワークスペース: サイドバー、フィルター、リストコントロール、コンテンツ詳細パネルの同時表示を必要とするWebプラットフォーム。
  • データ分析ダッシュボード: ライブデータ、メトリクス、チャート、コントロールサイドバーを統一的に表示する、高密度なマルチパネルグリッド。
  • 管理・運用パネル: 固定のアクションヘッダーとコンテキスト詳細ドロワーを広範なデータグリッドの隣に必要とする、大規模な運用ソフトウェア。
  • リッチコンテンツ編集インターフェース: 中央のキャンバスまたはリッチテキストワークスペース(CMSエディター、メールビルダー、デザインキャンバスツールなど)の両側に、折りたたみ可能なフォーマット/プロパティサイドドロワーを配置するレイアウト。

使用すべきでない場面

  • マーケティングおよびランディングページ: ストーリーテリングとCTA(コールトゥアクション)に最適化された線形の垂直スクロールジャーニーが必要な場合。代わりに hero-design-system と section-composition-system を使用してください。
  • 編集記事およびブログ記事: 読者が単一の線形テキストフローによる標準的なネイティブブラウザスクロールを期待する場合。代わりに article-layout-system と table-of-contents-system を使用してください。
  • Eコマース商品一覧ページ (PLP): 継続的な商品スキャンには、無限スクロールまたは標準的なページネーションレイアウトの方が適している場合。
  • シンプルなユーティリティツール: マルチペインレイアウトシェルの恩恵を受けない単一入力ユーティリティ(例:シンプルなファイルコンバーターや画像リサイザー)。

入力

  1. ワークスペースペインインベントリ: アプリケーションに必要な空間領域のリスト(例:サイドバーナビゲーション、トップバーワークスペースアクション、中央コンテンツワークスペース、右プロパティドロワー)。
  2. インタラクティブコントロールレイアウト: 折りたたみ可能なパネル、リサイズ可能なペイン、トリガーエリアの仕様。
  3. タイポグラフィ&スペーシングトークン: クリーンな配置グリッドを確立するための、流動的なタイポグラフィと相対的なスペーシングシステム(fluid-spacing-system および fluid-typography-system)。
  4. ターゲットブレークポイント: パネルの折りたたみ、レールの縮小、モバイルドロワーの遷移を決定するための、responsive-grid-system からのデバイスレイアウト定義。

出力

  1. ビューポート封じ込め設計図: 親要素の寸法を 100dvh に固定し、スクロールを特定のサブコンテナに分離するHTMLおよびCSSグリッド/フレックスボックスの空間仕様。
  2. ペイン構成仕様: ナビゲーション、ユーティリティヘッダー、ワークスペースを区切る、視覚的な定義、幅の制約、境界線。
  3. 遷移とモーションモデル: スムーズでシフトのない折りたたみ可能なパネル遷移のための、ハードウェアアクセラレーションされたCSSアニメーションガイドライン(transform、opacity)。
  4. レスポンシブ折りたたみルール: デスクトップ、タブレット、モバイルのビューポート範囲にわたるレイアウト適応を詳細に記述した仕様。
  5. アクセシビリティランドマークマップ: 定義されたARIAロール領域とキーボードナビゲーションフローパラメータ。

ワークフロー

1. ビューポートロックとスクロール封じ込めの確立

メインブラウザのビューポートをロックして、ページ全体のスクロールとラバーバンディングを防ぎます。すべてのレイアウトコンポーネントはこの固定ビューポートコンテナ内に収まる必要があり、スクロールは厳密に分離されたコンテンツペインに委任する必要があります:

  • 親コンテナ(例:.app-shell)に width: 100vw と height: 100dvh(動的ビューポート高さ)を設定し、overflow: hidden を適用します。
  • 2層のレイアウトグリッドを使用して .app-shell を分割します:
    • 第1層(外側グリッド): 左サイドバーと右のコンテンツワークスペースを分離します。
    • 第2層(内側グリッド): ワークスペースのトップバー/ヘッダーとスクロール可能なコンテンツキャンバスを分離します。
  • スクロール可能なペインには、overflow-y: auto と -webkit-overflow-scrolling: touch を適用して、モバイルSafariでのスムーズな慣性スクロールを確保します。

2. ペインの視覚的アンカーと境界線の定義

明確な視覚的境界線を使用して、視覚的なノイズを追加せずに高密度なダッシュボードを整理します:

  • 境界線による分離: 永続的に隣接するパネル間で重いシャドウの浮き上がりを避けます。代わりに、クリーンで低コントラストの1px境界線(例:1px solid var(--border-neutral-muted))を使用してセクションを分割します。
  • 背景コントラスト: 微妙な背景の色合いの違いを使用して、ナビゲーションをアクティブコンテンツから区別します。ナビゲーションサイドバーをわずかに暗いまたは明るい色合い(例:ニュートラルティント)に設定し、メインコンテンツワークスペースはクリーンなキャンバス白または深いダークサーフェスを利用します。
  • スクロールシャドウ: スクロールコンテンツエリアには、上部と下部のエッジ境界に微妙な線形グラデーションのフェードオーバーレイを実装して、ユーザーに折り畳みの向こう側にさらにコンテンツがあることを視覚的に知らせます。

3. 折りたたみ可能なパネルのメカニズムを設計する

折りたたみ可能なパネル(サイドバーや右側の詳細ドロワーなど)は、累積レイアウトシフト(CLS)や視覚的なギクシャク感を生じさせることなく、スムーズに状態を変更する必要があります:

  • 幅のトランジションを避ける: CSS width をアニメーション化すると、ブラウザがすべての子要素のレイアウトを毎フレーム再計算する必要があり、低フレームレートにつながります。
  • トランスフォームを優先する: サイドドロワーを絶対配置またはキャンバス範囲外に配置し、CSS transform: translateX() とハードウェアアクセラレーションされたトランジションを組み合わせて可視性をアニメーション化します。
  • コンテンツマスキング: ラッパーブロックに overflow: hidden を使用して、スライディングパネルが隣接するビューの背後にきれいにクリップされるようにします。

4. アクセシビリティランドマークのコード化と引き渡し

ダッシュボードレイアウトテンプレートは、スクリーンリーダーとキーボードユーザーのために構造化されたセマンティックなランドマーク階層を提供する必要があります:

  • ランドマークの割り当て: すべてのペインが適切なHTML5セマンティックタグにマッピングされることを確認します:
    • グローバルナビゲーションサイドバー: <nav aria-label="メインナビゲーション">
    • ワークスペーストップバー/ヘッダー: <header>
    • 中央ワークスペース: <main>
    • プロパティ/コンテキストドロワー: <aside aria-label="プロパティとメタデータ">
  • フォーカス管理: 折りたたみ可能なパネルが閉じられたら、プログラムによってフォーカスをそのパネルを閉じたトリガーボタンに移動します。モバイルドロワーが開かれたら、そのパネル内にキーボードタブフォーカスをトラップします。
  • Inert属性: モーダルパネルまたはモバイルサイドドロワーがアクティブなときに、中央のメインパネルに HTML inert 属性をトグルし、キーボードユーザーが誤って表示画面のオーバーレイからタブ移動してしまうのを防ぎます。

5. レスポンシブ適応の計画(折りたたみルール)

ダッシュボードワークスペースを多様なデバイスにわたって優雅にスケーリングします:

  • デスクトップ範囲(>1200px): マルチペインレイアウトが完全に展開されます。左ナビゲーションサイドバー固定、ワークスペースヘッダー固定、中央キャンバス自動スクロール、右プロパティドロワー展開。
  • タブレット範囲(768px-1200px): 左ナビゲーションサイドバーをコンパクトな「レール」(アイコンのみ表示)に折りたたみます。右プロパティドロワーを、永続的なグリッド列から、アクションボタンによってトリガーされるオーバーレイシートに変更します。
  • モバイル範囲(<768px): サイドバーとプロパティドロワーの両方を完全にオーバーレイドロワーの背後に隠します。プライマリレイアウトは、ハンバーガーメニュートリガー、アクションボタン、および分離されたスクロール可能なコンテンツワークスペースを含むモバイルトップバーヘッダーで構成されるシングルカラムビューに簡素化されます。

決定ルール

シェル構造のためのグリッド vs フレックスボックス

側面CSSグリッドを使用するCSSフレックスボックスを使用する
主軸二次元(行と列の両方が動的/固定)。一次元(線形の行スタックまたは列スタック)。
レイアウト目的外枠構造(サイドバー列 + メインコンテンツ列)。内部ヘッダーコンテンツの配置(ロゴ左 + アクション右)。
パネルの折りたたみサイドバー列が動的に正確に 0 幅に折りたたまれる場合。子要素が自然に伸縮および折り返す必要がある場合。

スクロール管理: グローバルスクロール vs ペイン固有スクロール

  • グローバルページスクロール(ダッシュボードでは使用しないでください): ヘッダー、サイドバー、ダッシュボードフレーム全体が画面からスクロールアウトし、ユーザーはナビゲーションにアクセスするためにスクロールバックする必要があります。
  • 分離されたペインスクロール(標準的なダッシュボードパターン): 外側のフレームワーク(ヘッダー、レール、アクション)を画面の端に完全に固定したまま、データテーブル、チャートフィード、またはドキュメントエディターのみがビューポートセル内で独立してスクロールします。

制約

  • 動的ビューポート高さ: 外側の親コンテナには、vh(100vh)ではなく、常に dvh 単位(100dvh)を使用します。モバイルブラウザでは、標準の vh 単位はブラウザのアドレスバーやナビゲーションコントロールの展開/収縮を考慮しないため、ダッシュボードの下部が画面外にクリップされる原因となります。
  • フォーカスインジケーター: インタラクティブなパネルトリガーでは、フォーカスリングが非常に視認しやすいことを確認します。WCAG 2.2のコントラストルールを満たし、決して overflow: hidden コンテナの端によってクリップされてはなりません。
  • ダブルスクロールバー禁止: コンテナのマージン、パディング、高さの境界が正確に計算されるように(CSS calc() またはFlex/Gridの自動制約を使用)、スクロールペインがネストされた二重スクロールバーを並べてトリガーしないようにします。
  • タッチターゲット最小サイズ: リサイズ可能なパネル、サイドバー展開ボタン、タブトグルのハンドラーは、少なくとも 24x24px(WCAG 2.2 SC 2.5.8)のタッチターゲットを提供する必要があり、44x44px が推奨されます。

一般的な障害パターン

  • アドレスバークリップ(モバイル): モバイルで 100vh を使用すると、サイドバー下部のユーザープロファイルフッターやプライマリ送信ボタンがモバイルブラウザのアクションバーの後ろに隠れてしまいます。
  • レイアウトのピクツキ: ナビゲーションメニューの width プロパティをアニメーション化すると、メインワークスペース内のカード、チャート、グリッドが折りたたみ遷移中に急速にジャンプして再レンダリングされます。
  • スクロールトラップ / スクロールリーク: 開いているオーバーレイペイン内でスクロールイベントを分離できず、ユーザーがモバイルナビゲーションドロワーでスワイプしたときに、メインの背景コンテンツが下でスクロールしてしまいます。
  • ラベル付けされていないスクロールコンテナ: 対応するロールやキーボードフォーカスパスなしでページコンテナに overflow: auto を追加すると、キーボードのみのユーザーがそのコンテナ内のデータをスクロールできなくなります。
  • ダブルスクロールバーの混乱: 厳格な高さ制限なしにネストされたラッパーを作成すると、メインブラウザウィンドウと内部コンテナの両方に二重のスクロールバーが表示され、ナビゲーションが混乱します。

検証基準

  • 外部レイアウトコンテナの高さが 100dvh(またはフォールバック 100vh)に固定され、メインドキュメントの overflow が hidden に設定されている。
  • スクロール可能なデータリストやワークスペースと対話するときに、二重のスクロールバーが表示されない。
  • デスクトップ、タブレット、モバイルの各範囲に対してレスポンシブ状態が定義されており、適切なドロワーとレールの変形が行われている。
  • スライディングパネルとサイドバーは、ハードウェアアクセラレーションされたCSSプロパティ(transform: translateX())を使用してアニメーション化されている。
  • ワークスペースは適切なセマンティックHTML5ランドマーク(<nav>、<header>、<main>、<aside>)を利用している。
  • モバイルでオーバーレイドロワーまたはパネルが開いているとき、背景要素が inert に設定されるか、キーボードフォーカスフローから非表示になる。
  • パネルトリガー、トグル、ハンドラーのタッチターゲットが最小サイズ要件の24x24px(44px推奨)を満たしている。
  • アクティブな最上層のオーバーレイシート内でスワイプ/スクロールしているときに、非アクティブな背景ペイン要素がスクロールしない(スクロールリーク防止)。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for progressive disclosure using accordions, ensuring structural integrity, visual affordances, and accessibility across different content densities and devices.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for long-form content, managing readability, vertical rhythm, and information density to ensure a superior reading experience.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for informational elements that communicate state (Badges) and categorization (Tags) with clarity and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for non-overlay notifications, managing global announcements and contextual inline alerts to communicate system states without interrupting the user's flow.

coastdigitalgroup/coastai-skills

Design and implement a systematic, asymmetrical bento-grid layout framework to organize diverse content types cohesively while maintaining strict visual hierarchy, logical focus order, and responsive flexibility.

coastdigitalgroup/coastai-skills

Design a responsive, mobile-first bottom navigation bar and persistent action dock system for mobile websites and web applications, establishing spatial anchors, tab bar anatomy, badge indicators, thumb-zone ergonomics, safe area inset handling, active/inactive state contrast, and desktop responsive adaptation rules.

coastdigitalgroup/coastai-skills

Design a mobile-first bottom sheet overlay system with configurable detents, drag affordances, safe area padding, responsive desktop modal/popover adaptation, and WCAG AA accessibility compliance.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for secondary navigation trails that provide orientation, context, and one-click access to parent levels in deep information architectures.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for buttons and interactive triggers, managing visual hierarchy, variant logic, and action grouping to ensure clear intent and accessible interaction.

coastdigitalgroup/coastai-skills

Design a systematic framework for date and time selection, managing calendar grids, range pickers, and scheduling interfaces to ensure precision and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for modular content containers that maintain hierarchy, structural integrity, and action alignment across variable content and responsive viewports.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for horizontal discovery components, managing navigation affordances, scroll behavior, and accessibility to ensure effective content density without compromising usability.

coastdigitalgroup/coastai-skills

Design a systematic, highly accessible, and developer-friendly UI layout framework for code blocks, snippet showcases, multi-file code tabs, line-highlighting, diff views, and syntax token contrast in technical documentation and developer platforms.

coastdigitalgroup/coastai-skills

Design a systematic framework for global command menus (Cmd+K panels) that combines keyboard-driven navigation, command execution, and shortcut discovery into an accessible, responsive overlay.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for threaded conversations, managing nesting depths, action hierarchies, and community signaling to foster engagement and readability.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for side-by-side comparison interfaces, managing high attribute density and responsive complexity to support informed decision-making.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for user privacy, managing consent banners, preference centers, and persistent privacy controls to balance legal compliance with user trust.

coastdigitalgroup/coastai-skills

Design and implement a systematic, highly accessible, and responsive visual layout framework for conversational chat widgets, live chat boxes, and chatbot panels that ensures clear message scannability, native focus flow, and seamless mobile keyboard adaptation.

coastdigitalgroup/coastai-skills

Design a systematic, accessible, and high-conversion framework for custom select dropdowns and comboboxes, defining anatomy, states, search-filtering, and responsive mobile-adaptive patterns.

coastdigitalgroup/coastai-skills

Design and implement a systematic color palette that ensures WCAG 2.2 accessibility compliance. Trigger this skill when asked to define brand colors, create UI themes, or establish a visual system for a website.

関連スキル