行政・公共サービス · 新しいリソース

Queensland Government デザインシステム.

実際のテーマロール、ネイティブのチェックボックススタイル、アクセシブルな回答確認ダイアログを備えた、図解付きの完全なリソース選択ツールを通じて、クイーンズランド州の Bootstrap 実装をご覧ください。

OpenDesign ガイド6章リファレンス項目29件オリジナルアプリケーションガイド
01

Queensland Government デザインシステム インターフェースのプレビュー

イラスト付きリソースを選択し、ネイティブモーダルで名前を確認して、ローカルのリストを編集します。

リソースパックのサンプルを作成して確認する完全な例を開く
QGDS Bootstrap 2.4.1 CSS とネイティブの Bootstrap Modal。カード、SVG、ローカルの選択状態は独自実装です。 · 実装リファレンス
02

Queensland Government デザインシステム デザインリファレンス

実際の @qld-gov-au/qgds-bootstrap5 2.4.1 の CSS エクスポートと Bootstrap モーダル動作を使用し、Noto Sans をローカルから読み込みます。

デフォルトのライトパレット

ソース
名前 / ルール値 / 設定用途
--qld-color-default-color-light-action-primary#005eb8 QGDS Bootstrap 2.4.1 の実際のライトロール。対応するライトサーフェスと組み合わせて使用します。
--qld-color-default-color-light-action-primary-hover#003e96 QGDS Bootstrap 2.4.1 の実際のライトロール。対応するライトサーフェスと組み合わせて使用します。
--qld-color-default-color-light-background-default#ffffff QGDS Bootstrap 2.4.1 の実際のライトロール。対応するライトサーフェスと組み合わせて使用します。
--qld-color-default-color-light-background-alt#e3e7ea QGDS Bootstrap 2.4.1 の実際のライトロール。対応するライトサーフェスと組み合わせて使用します。
--qld-color-default-color-light-focus-default#002e85 QGDS Bootstrap 2.4.1 の実際のライトロール。対応するライトサーフェスと組み合わせて使用します。
--qld-color-default-color-light-link-default#005eb8 QGDS Bootstrap 2.4.1 の実際のライトロール。対応するライトサーフェスと組み合わせて使用します。
--qld-color-default-color-light-link-visited#551a8b QGDS Bootstrap 2.4.1 の実際のライトロール。対応するライトサーフェスと組み合わせて使用します。
--qld-color-default-color-light-text-default#353535 QGDS Bootstrap 2.4.1 の実際のライトロール。対応するライトサーフェスと組み合わせて使用します。
--qld-color-default-color-light-text-heading#000053 QGDS Bootstrap 2.4.1 の実際のライトロール。対応するライトサーフェスと組み合わせて使用します。

デフォルトのダークパレット

ソース
名前 / ルール値 / 設定用途
--qld-color-default-color-dark-action-primary#84d3ff 実際に対になっているダークロールです。意図された組み合わせを確認せずに、ライト用の前景色をダークサーフェスで再利用しないでください。
--qld-color-default-color-dark-action-primary-hover#a6f7ff 実際に対になっているダークロールです。意図された組み合わせを確認せずに、ライト用の前景色をダークサーフェスで再利用しないでください。
--qld-color-default-color-dark-background-default#005eb8 実際に対になっているダークロールです。意図された組み合わせを確認せずに、ライト用の前景色をダークサーフェスで再利用しないでください。
--qld-color-default-color-dark-background-alt#001d74 実際に対になっているダークロールです。意図された組み合わせを確認せずに、ライト用の前景色をダークサーフェスで再利用しないでください。
--qld-color-default-color-dark-focus-default#c6ffff 実際に対になっているダークロールです。意図された組み合わせを確認せずに、ライト用の前景色をダークサーフェスで再利用しないでください。
--qld-color-default-color-dark-link-default#ffffff 実際に対になっているダークロールです。意図された組み合わせを確認せずに、ライト用の前景色をダークサーフェスで再利用しないでください。
--qld-color-default-color-dark-link-visited#f2cdff 実際に対になっているダークロールです。意図された組み合わせを確認せずに、ライト用の前景色をダークサーフェスで再利用しないでください。
--qld-color-default-color-dark-text-default#ffffff 実際に対になっているダークロールです。意図された組み合わせを確認せずに、ライト用の前景色をダークサーフェスで再利用しないでください。
--qld-color-default-color-dark-text-heading#ffffff 実際に対になっているダークロールです。意図された組み合わせを確認せずに、ライト用の前景色をダークサーフェスで再利用しないでください。

本文、角の丸み、モーダルの寸法

ソース
名前 / ルール値 / 設定用途
--qld-body-font-familyvar(--qld-font-sans-serif)エクスポートされた実装値です。元のリソースイラストの色と8pxのカード角丸はサンプル用の設定であり、公式のテーマトークンではありません。
--qld-body-font-size1remエクスポートされた実装値です。元のリソースイラストの色と8pxのカード角丸はサンプル用の設定であり、公式のテーマトークンではありません。
--qld-body-line-height1.5エクスポートされた実装値です。元のリソースイラストの色と8pxのカード角丸はサンプル用の設定であり、公式のテーマトークンではありません。
--qld-border-radius.25remエクスポートされた実装値です。元のリソースイラストの色と8pxのカード角丸はサンプル用の設定であり、公式のテーマトークンではありません。
--qld-border-radius-sm.25remエクスポートされた実装値です。元のリソースイラストの色と8pxのカード角丸はサンプル用の設定であり、公式のテーマトークンではありません。
--qld-border-radius-lg.25remエクスポートされた実装値です。元のリソースイラストの色と8pxのカード角丸はサンプル用の設定であり、公式のテーマトークンではありません。
--qld-border-radius-xl1remエクスポートされた実装値です。元のリソースイラストの色と8pxのカード角丸はサンプル用の設定であり、公式のテーマトークンではありません。
--qld-border-radius-xxl2remエクスポートされた実装値です。元のリソースイラストの色と8pxのカード角丸はサンプル用の設定であり、公式のテーマトークンではありません。
--qld-border-radius-pill50remエクスポートされた実装値です。元のリソースイラストの色と8pxのカード角丸はサンプル用の設定であり、公式のテーマトークンではありません。
--qld-modal-border-radiusvar(--qld-border-radius-lg)エクスポートされた実装値です。元のリソースイラストの色と8pxのカード角丸はサンプル用の設定であり、公式のテーマトークンではありません。
--qld-modal-title-line-height1.5エクスポートされた実装値です。元のリソースイラストの色と8pxのカード角丸はサンプル用の設定であり、公式のテーマトークンではありません。
03

Queensland Government デザインシステム 完全ガイド

実際のインターフェースで、このデザインシステムを選び、適用し、レビューするための実践ガイドです。

DESIGN-queensland.md

詳しいガイダンス、実装の出発点、ソースへのリンクをまとめています。

ガイドをダウンロード

Queensland Government デザインシステム Queensland向けの実装を選ぶ

ランタイムを正確に示す

Queenslandでは複数の実装方法が公開されています。この検証では、公開されている @qld-gov-au/qgds-bootstrap5 パッケージの2.4.1と、その Bootstrap モーダル動作を使用します。新しいLitウェブコンポーネントの系列を実行しているわけではありません。実装名とバージョンを明示することで、読者が似た名前のコンポーネントを、互換性のない初期化ルールと取り違えるのを防ぎます。

この OpenDesign ガイドから

安定したサンプルと開発中の系列を分ける

公式ウェブコンポーネントのリポジトリでは、現在の系列にアルファ版と明記されています。一方、旧来のVanillaパスは別のリファレンス実装です。ここで実行可能なサンプルは、テスト済みの Bootstrap ベースのパスに統一しています。今後移行する際は、スタイルシートのURLを置き換えるだけでなく、マークアップ、トークン名、コンポーネントの仕様を再確認してください。

Queensland Government デザインシステム テーマロールとリソースのイラスト

ライトとダークのロールをあわせて確認する

パラメータ表には、実際のパッケージに含まれるライトとダークの対になるロールが記載されています。プライマリアクション、リンクの色、フォーカス、テキストのロールは、背景のコンテキストに応じて変わります。現在のリソースパックはライトの構成を使用しています。ダークの値は参考値であり、ページにテーマ切り替え機能があることを示すものではありません。

ブランドトークンを新たに定義せずにイラストを使う

各カードには、番号付きのオリジナル文書イラストが含まれています。彩度を抑えた4種類のイラスト背景は、独自に作成したリソースの種類を見分けるためのものです。これらの色と8pxのカード外周の角丸はアプリケーション側のスタイルであり、公開されているロール表とは別に示しています。インターフェースの基盤となる実際のボタン、チェックボックスのスタイル、モーダルのスタイルはライブラリが提供します。

Queensland Government デザインシステム 文字のスケールとカードの内容

公開されている本文用フォントを読み込む

パッケージの本文ロールでは、サンセリフのフォントファミリーに1remのサイズと1.5の行高を使用します。プレビューではNoto Sansのローカルフォントを読み込むため、Google Fontsへのリモートリクエストに依存しません。カードが1列に並ぶレイアウトになっても、見出し、説明、選択数のステータスを読みやすく保てます。

各リソースに役立つ説明を付ける

各カードには、種類、目安の所要時間、具体的なタイトル、短い目的が記載されています。所要時間はワークショップ用に設定した目安であり、利用状況の分析データではありません。選択ラベルにもリソース名を含めることで、支援技術で個別に読み上げられた場合にも、操作の内容が伝わります。カード全体を曖昧なクリック対象にはしていません。

Queensland Government デザインシステム チェックボックスの選択と連動するフィードバック

選択がない場合は確認操作を利用できないようにする

独立したチェックボックスで、4つのリソースから任意の組み合わせを選択できます。選択したインデックスはSetに保持し、選択数と確認リストはその状態から導出します。Setが空の場合、選択内容の確認は無効になります。これにより、役立つ内容のないダイアログが開くのを防ぎながら、表示される選択数の0によって理由を示せます。

  • 複数リソースのリストには、独立したチェックボックスを使います。
  • 選択数は、ダイアログと同じデータから導出します。
  • 各チェックボックスのラベルにリソース名を含めます。

変更があったら古い確認結果を消す

Queensland Government デザインシステム 確認ダイアログとフォーカスの復帰

確認の区切りにはネイティブモーダルを使う

Bootstrap Modalのインスタンスを開くと、見出しをラベルとするダイアログが表示されます。本文には現在選択されているリソース名が並び、操作ボタンから編集の続行またはローカルでの確定を選べます。Escapeキーまたは閉じるコントロールでダイアログを閉じられます。ネイティブの非表示イベントが発生すると、アプリケーションは「選択内容を確認」にフォーカスを戻します。

不要なトランジションの競合を避ける

このサンプルでは、任意のfadeクラスを使用していません。そのため、表示トランジション中に確定やEscapeキーを操作しても無視されず、ダイアログをすぐに閉じられます。モーダルのフォーカス管理と背景の動作は引き続き利用できます。確認操作が反映されたかどうかを理解するために、動きの表現を必要としない設計にします。

Queensland Government デザインシステム リソースパックの実装一式

ローカルの検証環境を正確に再構築する

ViteのVanilla JSプロジェクトを作成し、BootstrapとNoto Sansを使って、バージョンを固定したQGDS Bootstrapパッケージをインストールします。推測したdeep distのインポートパスではなく、パッケージが公開するqld.bootstrap.cssのパスを使います。ルートのマウント要素を含む完全なエントリファイルとqueensland.cssを保存します。ソースには、すべてのリソース情報、オリジナルのSVGイラスト、選択ロジック、モーダルの遷移が含まれています。

  1. バージョンを固定したQGDS Bootstrapパッケージと公開フォントをインストールします。
  2. 公開されているスタイルシートのパスを使い、完全なエントリファイルとCSSを用意します。
  3. リソースを2つ選び、Escapeキーとフォーカスの復帰をテストします。
  4. ローカルで動作を確認し、選択を変更して以前の結果がクリアされることを検証します。

モーダルの遷移とフォーカスのルールを明確に定める

QGDS BootstrapではBootstrap Modalを使うため、閉じる際は標準のモーダルライフサイクルに従います。任意の遅延時間を推測するのではなく、hidden.bs.modalの後にフォーカスを「選択内容を確認」に戻します。後からフェードを追加する場合は、遷移中の動作も考慮してください。開く途中でただちに非表示を要求しても、無視されることがあります。

モーダルを開くときに、現在の選択内容から確認リストを生成します。チェックボックスが変更されたら、以前のローカル確認結果を無効にします。Escapeキーで確認画面を閉じても、選択内容は変更しません。チェックボックスをカードのイラストから分離することで、カード全体のクリック動作との競合を避け、各リソースに正確でアクセシブルな選択ラベルを付けられます。

Queensland Government デザインシステムのコンポーネント例

main.js — リソースの選択とモーダルでの確認の完全な実装

オリジナルのデータ、イラスト、チェックボックスの状態管理、標準モーダルとの連携を含みます。

JavaScript
import Modal from 'bootstrap/js/dist/modal';
import '@qld-gov-au/qgds-bootstrap5/qld.bootstrap.css';
import '@fontsource/noto-sans/latin-400.css';
import '@fontsource/noto-sans/latin-700.css';
import './queensland.css';
const resources=[['Conversation planner','A short structure for a useful team discussion.','Guide','10 min'],['Observation notes','Capture what happened before interpreting why.','Worksheet','15 min'],['Decision record','Keep a reasoned account of the choice and its limits.','Template','10 min'],['Review checklist','Check content, keyboard behavior and narrow layouts.','Checklist','20 min']];document.getElementById('root').innerHTML=`<main><p class="eyebrow">QUEENSLAND DESIGN SYSTEM / ORIGINAL RESOURCE STUDY</p><h1>Build a workshop resource pack</h1><p class="lead">Choose useful sample resources, then review your local selection. No files are requested or sent.</p><div class="selection-bar"><p id="count" role="status">0 resources selected</p><button id="review" class="btn btn-primary" disabled>Review selection</button></div><div class="resource-grid">${resources.map(([title,desc,type,time],i)=>`<article class="resource-card"><div class="art art-${i}" aria-hidden="true"><span>${String(i+1).padStart(2,'0')}</span><svg viewBox="0 0 160 90"><rect x="20" y="10" width="120" height="70" rx="4"/><path d="M38 30h84M38 45h58M38 60h70"/></svg></div><div class="card-body"><p class="meta">${type} · ${time}</p><h2>${title}</h2><p>${desc}</p><div class="form-check"><input class="form-check-input" type="checkbox" value="${i}" id="resource-${i}"><label class="form-check-label" for="resource-${i}">Add ${title.toLowerCase()}</label></div></div></article>`).join('')}</div><div id="review-modal" class="modal" tabindex="-1" aria-labelledby="review-heading" aria-hidden="true"><div class="modal-dialog modal-dialog-centered"><div class="modal-content"><div class="modal-header"><h2 id="review-heading" class="modal-title fs-4">Review your resource pack</h2><button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close review"></button></div><div class="modal-body"><p>These original resources form a local planning list.</p><ul id="review-list"></ul><p class="small">This preview does not produce files or contact a service.</p></div><div class="modal-footer"><button class="btn btn-secondary" data-bs-dismiss="modal">Keep editing</button><button id="confirm" class="btn btn-primary">Confirm local list</button></div></div></div></div><section id="result" hidden role="status"><h2>Local list ready</h2><p id="result-text"></p><button id="clear" class="btn btn-secondary">Clear the list</button></section></main>`;const selected=new Set();const $=id=>document.getElementById(id);const modal=new Modal($('review-modal'));document.querySelectorAll('.form-check-input').forEach(input=>input.addEventListener('change',()=>{const i=Number(input.value);input.checked?selected.add(i):selected.delete(i);$('count').textContent=selected.size+' resource'+(selected.size===1?'':'s')+' selected';$('review').disabled=!selected.size;$('result').hidden=true}));$('review').addEventListener('click',()=>{$('review-list').replaceChildren(...[...selected].sort().map(i=>{const li=document.createElement('li');li.textContent=resources[i][0];return li}));modal.show()});$('review-modal').addEventListener('hidden.bs.modal',()=>$('review').focus());$('confirm').addEventListener('click',()=>{$('result-text').textContent=[...selected].sort().map(i=>resources[i][0]).join(', ')+'. Your selection is held only until this page reloads.';$('result').hidden=false;modal.hide()});$('clear').addEventListener('click',()=>{selected.clear();document.querySelectorAll('.form-check-input').forEach(i=>i.checked=false);$('count').textContent='0 resources selected';$('review').disabled=true;$('result').hidden=true;document.querySelector('.form-check-input').focus()});

コードリファレンス

  • パッケージのスタイルシートには、公開されたエントリポイントを使います。ローカルでの確認は、ファイルのダウンロードやサービスへの送信ではありません。

queensland.css — オリジナルのカード構成

標準コンポーネントのスタイルをベースに、レスポンシブなカードと装飾的な書類のイラストを配置します。

CSS
body{margin:0}main{max-width:1200px;padding:32px;margin:auto}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.04em}h1{max-width:26ch}.lead{max-width:65ch}.selection-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid #ccc;margin-bottom:24px}.selection-bar p{margin:0;font-weight:700}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.resource-card{border:1px solid #ccc;border-radius:8px;overflow:hidden}.card-body{padding:24px}.card-body h2{font-size:24px;line-height:1.3}.meta{font-size:14px}.art{height:130px;display:flex;align-items:center;justify-content:space-between;padding:24px;background:#eaf4f7;color:#005e85}.art-1{background:#eef3ea;color:#3b6738}.art-2{background:#f4eef7;color:#6b427b}.art-3{background:#faf0e4;color:#8c592b}.art span{font-size:36px;font-weight:700}.art svg{width:160px;height:90px;fill:none;stroke:currentColor;stroke-width:3}.form-check{margin-top:24px}.modal-title{margin:0}.modal li{margin:12px 0}#result{margin-top:32px;padding:24px;background:#eef5f3;border-left:4px solid #20775b}[hidden]{display:none!important}@media(max-width:760px){main{padding:20px}.resource-grid{grid-template-columns:1fr}.selection-bar{align-items:start;flex-direction:column}.art{height:110px}h1{font-size:34px}}

コードリファレンス

  • イラストの色とカード外枠の形状は、アプリケーション独自の選択です。
04

Queensland Government デザインシステム AIエージェントのセットアップ

実装の出発点

プレビューには公開フォントのアセットが埋め込まれ、標準のモーダル動作が実行されます。サーバー側への送信処理は実装されていません。

シェル
npm create vite@latest qld-resource-pack -- --template vanilla
cd qld-resource-pack
npm install
npm install @qld-gov-au/[email protected] [email protected] @fontsource/noto-sans
# Replace src/main.js and add src/queensland.css. Keep <div id="root"></div>.
npm run dev

あなたのプロジェクト向けプロンプト

AI エージェント用プロンプト
QGDS Bootstrap 2.4.1を使って、クイーンズランド州のリソースパックの検証環境を構築します。実際のパレットの役割と標準のModalを使い、チェックボックスのラベル、選択内容から算出した件数、選択が空の場合の確認ボタンの無効化、Escapeキー、フォーカスの復帰、以前の結果のクリアを維持します。オリジナルのイラストは公式テーマトークンと明確に区別し、実際にリソースが提供されるかのような表現は避けてください。
05

Queensland Government デザインシステム 情報源と対象範囲

QGDS Bootstrap 2.4.1を使った、OpenDesign独自のリソースパック検証環境です。これはBootstrapの実装であり、アルファ版のWebコンポーネント系列ではありません。選択内容はローカルに保存され、リソースは送信されません。