Servizi pubblici · Nuova risorsa

Sistema di design Digital Agency.

Crea interfacce leggibili per i servizi pubblici giapponesi con i ruoli testuali DADS, token semantici e anatomia nativa dei componenti HTML. Prova una ricerca di ricevute funzionante con errori di formato, un risultato senza corrispondenze e un record di stato consultabile.

Guida OpenDesign8 capitoli17 voci di riferimentoGuida applicativa originale
01

Sistema di design Digital Agency Anteprima dell’interfaccia

Prova un riferimento non valido, un riferimento senza corrispondenze e poi 123456 per visualizzare un record di stato fittizio.

Consultazione delle praticheApri l’esempio completo
Stili nativi per input e pulsanti DADS HTML, aggiornati al 3 ottobre 2026, con design token 2.0.1; layout originale e logica di consultazione locale. · Riferimento per l’implementazione
02

Riferimento di progettazione sistema di design Digital Agency

Documentazione DADS beta v2.18.0; stili di esempio nativi HTML esaminati il 3 ottobre 2026; design-tokens 2.0.1. La documentazione, il repository degli esempi e il pacchetto di token hanno cronologie delle versioni distinte. Le scelte di layout riportate di seguito sono chiaramente distinte dai valori ufficiali dei componenti.

Tipografia

Fonte
Nome / regolaValore / configurazioneUtilizzo
Sans familyNoto Sans JP, system fallbacksL’anteprima usa lo stack di fallback documentato senza scaricare caratteri.
Std-17N-17017px / 1.7; weight 400Testo standard; i nomi dei token descrivono dimensione, peso e interlinea.
Body / UI baseline16px or greaterIl valore 14px è riservato a contesti di supporto limitati.
Weight rolesN = 400; B = 700Usa i caratteri nativi regular e bold.

Anatomia nativa dell’input

Fonte
Nome / regolaValore / configurazioneUtilizzo
data-size sm / md / lg2.5rem / 3rem / 3.5remAltezza dei controlli basata sulla dimensione del carattere radice, non su tre dimensioni di testo diverse.
Input border / radius1px / 0.5remIl bordo usa neutral-solid-gray-600; il raggio è CSS del componente.
Input padding0.75rem 1remPadding verticale e orizzontale; larghezza massima 100%.
Focus4px black outline, 2px offset, 2px yellow shadowStile nativo focus-visible; evita che venga ritagliato sui bordi del contenitore.

Colori del pacchetto dei token

Fonte
Nome / regolaValore / configurazioneUtilizzo
--color-key-900#0017c1 L’alias predefinito key punta a primitive-blue-900.
--color-semantic-error-1#ec0000 L’alias punta a primitive-red-800; abbinalo a un messaggio di errore.
--color-neutral-solid-gray-900#1a1a1a Testo dell’input.
--color-neutral-solid-gray-600#666666 Bordo predefinito dell’input.
--color-primitive-yellow-300#ffd43d Ombra di messa a fuoco dietro il contorno nero.

Pulsanti e spaziatura dell’applicazione

Fonte
Nome / regolaValore / configurazioneUtilizzo
Large minimum136 × 56pxConsenti alle etichette di estendersi e andare a capo.
Medium minimum96 × 48pxAdatto a un’azione secondaria.
Small / extra-small minimum80 × 36px / 72 × 28pxAssicurati che l’area interattiva sia di 44 CSS px anche quando il controllo visibile è più corto.
Preview rhythm8 / 24 / 64pxScelta dell’applicazione tra gli esempi delle linee guida sulla spaziatura; non è una scala DADS obbligatoria.
03

Sistema di design Digital Agency Guida completa

Una guida pratica per scegliere, applicare e valutare questo sistema in un’interfaccia reale.

DESIGN-japan-dads.md

Indicazioni complete, un punto di partenza per l’implementazione e link alle fonti.

Scarica la guida

Sistema di design Digital Agency Risorse e ambito

Scegli il percorso HTML della fonte

L’indice ufficiale delle risorse offre esempi HTML/CSS/JavaScript, esempi React/Tailwind, un plugin Tailwind e dati di progettazione per Figma. Questo esempio sceglie il percorso semplice HTML: input e pulsante CSS sono copiati senza modifiche, mentre la consultazione dello stato circostante e la convalida lato client sono codice dell’applicazione. Non viene inventato un pacchetto universale di componenti DADS.

Da questa guida su OpenDesign

L’anteprima è una consultazione fittizia indipendente di pratiche comunali. Non riproduce l’intestazione di un ente governativo, non interroga una banca dati pubblica e non dichiara di rappresentare lo stato di un servizio ufficiale. Il formato della ricevuta e i record di stato sono dati di esempio.

  1. Carica design-tokens prima dei due fogli di stile dei componenti.
  2. Mantieni le classi e gli attributi data documentati sui controlli nativi HTML.
  3. Aggiungi nell’applicazione la convalida specifica del servizio, i contenuti di stato e lo spostamento della messa a fuoco.

Leggi la specifica di supporto

Sistema di design Digital Agency Tipografia e lingua

Leggi il nome dello stile di testo

Std-17N-170 descrive un carattere regolare da 17px con un'interlinea senza unità pari a 1.7. L'anteprima applica questo ritmo di lettura al testo e imposta per il titolo un carattere grassetto da 32px con interlinea di 1.5. Noto Sans JP è il sans serif indicato nella documentazione; se il webfont non è caricato, sono disponibili i font di sistema come fallback. Questo esempio locale usa intenzionalmente questi fallback.

Il testo giapponese e quello inglese non hanno la stessa larghezza. Mantieni le etichette visibili sopra i controlli, consenti al titolo di andare a capo ed evita di dimensionare un pulsante sulla base di un numero di caratteri presunto. Una traduzione può richiedere più spazio in verticale senza modificare il ruolo del componente.

Leggi la specifica di supporto

Sistema di design Digital Agency Colori semantici e focus

Usa gli alias effettivamente utilizzati da CSS

Il pulsante di esempio dichiara il colore predefinito tramite --color-key-900. Il foglio di stile dei token distribuito risolve questo alias in blue-900, #0017c1. Le regole per gli stati hover e active selezionano invece key-1000 e key-1200, senza applicare opacità arbitrarie. Il bordo di errore dell'input usa --color-semantic-error-1.

Il contorno nero e l'ombra gialla restano visibili quando un controllo riceve il focus da tastiera. Posiziona il controllo lontano dai contenitori che ritagliano il contenuto: una card con overflow-hidden può tagliare l'anello anche se il componente CSS è corretto. Il testo dell'errore e aria-invalid integrano il bordo rosso.

Leggi la specifica di supporto

Sistema di design Digital Agency Spaziatura e flusso responsive

Scegli un ritmo essenziale per l'applicazione

Le indicazioni DADS sulla spaziatura offrono esempi, senza imporre una sequenza obbligatoria per ogni interfaccia. Questa composizione usa 8px all'interno di unità correlate, 24px tra le sezioni del modulo e 64px come generoso margine interno della pagina su desktop. La larghezza massima del contenuto, pari a 52rem, è una scelta applicativa, non un token DADS.

A larghezze ridotte, le definizioni dei risultati si dispongono in verticale e i controlli occupano tutto lo spazio disponibile. Questo esempio usa una media query a 768px. Non è presentata come breakpoint DADS universale: sono l'adattamento del contenuto e la dimensione minima dei pulsanti a motivare la modifica.

css
.lookup { max-width:52rem; margin-inline:auto; padding:64px 24px; }
@media(max-width:767px) { .lookup { padding:24px; } .actions { align-items:stretch; } }

Riferimento del codice

Leggi la specifica di supporto

Sistema di design Digital Agency Struttura degli input ed errori

Tieni separati etichetta, suggerimento ed errore

Il wrapper nativo .dads-input-text definisce le impostazioni predefinite del testo. L'elemento figlio .dads-input-text__input gestisce dimensioni, bordo, padding, raggio e stati di focus. L'etichetta associata è collegata esplicitamente tramite for/id. Il suggerimento resta visibile anche dopo un errore, così l'utente non perde di vista il formato atteso.

L'esempio accetta esattamente sei cifre ASCII. Un valore non valido imposta aria-invalid=true, mostra il messaggio di errore associato e riporta il focus sull'input. Un valore sintatticamente valido diverso da 123456 genera un messaggio distinto, che segnala la mancata corrispondenza e non un errore di formato. Entrambi i comportamenti sono regole di questa dimostrazione locale.

  • Mantieni il tipo di input testuale: un riferimento è un identificativo, non una quantità.
  • Usa inputmode=numeric come suggerimento per la tastiera, senza i pulsanti di incremento e decremento degli input numerici.
  • Mantieni il valore inserito e spiega come correggerlo.

Leggi la specifica di supporto

Sistema di design Digital Agency Gerarchia e stati dei pulsanti

Una sola azione principale per questa ricerca

Il pulsante Large a tinta piena avvia la ricerca, mentre il pulsante in stile testo cancella l'esempio. I valori nativi di data-type sono solid-fill, outline e text; data-size seleziona lg, md, sm oppure xs. Si tratta di attributi di esempio HTML, non di proprietà di React.

Il pulsante grande ha una larghezza minima di 136px e un'altezza di 56px. Può allargarsi se l'etichetta richiede più spazio. Le varianti small ed extra-small usano un'area di attivazione più ampia nel CSS fornito; non inserire altri elementi attivabili nell'area. La demo usa le varianti più grandi per evitare questo conflitto.

Leggi la specifica di supporto

Sistema di design Digital Agency Un risultato di stato utile

Rendi ispezionabile lo stato locale

Inserendo 123456 viene mostrata una ricevuta fittizia con un elenco di definizioni che riporta il riferimento, la data di invio e l'azione successiva. Dopo la ricerca, il titolo riceve il focus, così chi usa la tastiera raggiunge direttamente il nuovo risultato. Anche lo stato di mancata corrispondenza riceve il focus e include un'opzione per riprovare.

L'elenco in tre fasi è markup originale dell'applicazione. Distingue tra ricevuta, verifica e decisione usando anche il testo, oltre a forma e colore. Un'implementazione reale deve ottenere questi valori dal proprio servizio e gestire i casi di accesso non autorizzato, servizio non disponibile e record scaduto. L'anteprima non effettua richieste esterne e non lascia mai intendere di aver trovato i dati reali di un cittadino.

Leggi la specifica di supporto

Sistema di design Digital Agency Integra l'esempio

Tieni separati token, stili e comportamento

Il pacchetto dei token espone dist/tokens.css. Gli esempi HTML fanno parte di un repository sorgente con script Storybook; clonando il repository ottieni un ambiente da ispezionare. Copia gli stili dei componenti necessari insieme alla relativa licenza e annota la revisione sorgente prima di adattarli per la produzione.

Per questa pagina, il pacchetto dei token è fissato alla versione 2.0.1 e gli stili HTML provengono da un'istantanea sorgente datata. La demo autonoma carica file locali, quindi la resa verificata non dipende da un CDN attivo. Il comando di configurazione di Storybook è fornito come percorso ufficiale per accedere al repository; per questa anteprima non è stata eseguita una nuova installazione delle dipendenze.

Leggi la specifica di supporto

Sistema di design Digital Agency Esempi di componenti del sistema di progettazione

Un input di riferimento con etichetta

Classi native DADS per input, con suggerimento persistente ed errore associato.

html
<div class="dads-input-text">
  <label for="reference">Reference number (required)</label>
  <p id="reference-hint">Use the 6 digits on your example receipt.</p>
  <input class="dads-input-text__input" data-size="lg"
    id="reference" inputmode="numeric" autocomplete="off"
    aria-describedby="reference-hint reference-error" aria-invalid="true">
  <span class="dads-input-text__error-text" id="reference-error">
    Enter 6 digits, for example 123456.
  </span>
</div>

Riferimento del codice

  • Rimuovi aria-invalid e nascondi l'errore dopo una correzione valida.
  • La convalida del riferimento è gestita dalla logica dell'applicazione.

Azioni principali di ricerca e ripristino

Usa le varianti native dei pulsanti e i tipi di azione HTML.

html
<button class="dads-button" data-type="solid-fill" data-size="lg" type="submit">
  Show example status
</button>
<button class="dads-button" data-type="text" data-size="md" type="reset">
  Clear reference
</button>

Riferimento del codice

Esempio autonomo completo

Il documento completo include layout, controlli e inizializzazione. Estrai l’archivio di esempio collegato per ottenere gli esatti asset vendor relativi, quindi avvialo tramite HTTP.

html
<!doctype html><html lang="en"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>DADS procedure receipt example</title><link rel="stylesheet" href="vendor/dads-2026-10-03/tokens.css"><link rel="stylesheet" href="vendor/dads-2026-10-03/input-text.css"><link rel="stylesheet" href="vendor/dads-2026-10-03/button.css"><style>
*{box-sizing:border-box}body{margin:0;color:var(--color-neutral-solid-gray-900);font:400 17px/1.7 var(--font-family-sans);background:#fff}.lookup{max-width:52rem;padding:64px 24px;margin:auto}.eyebrow{font-size:14px;letter-spacing:.08em;border-bottom:1px solid #b3b3b3;padding-bottom:16px}h1{font-size:32px;line-height:1.5;margin:24px 0}h2{font-size:24px;line-height:1.5}p{margin:8px 0 24px}.field{margin:32px 0}label{font-weight:700;display:block}.dads-input-text__input{width:22rem}#reference-hint{margin:8px 0}.actions{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin:24px 0}.result{border-top:4px solid var(--color-key-900);background:#f5f5f5;padding:24px;margin-top:32px}.result:focus{outline:3px solid #111;outline-offset:4px}dl{display:grid;grid-template-columns:10rem 1fr;gap:16px}dt{font-weight:700}dd{margin:0;overflow-wrap:anywhere}ol{padding-left:24px}li{padding:8px}li.current{font-weight:700;color:var(--color-key-900)}small{display:block;font-size:14px;margin-top:32px;color:#555}[hidden]{display:none!important}@media(max-width:767px){.lookup{padding:24px}h1{font-size:28px}.actions{align-items:stretch;flex-direction:column}.actions button{width:100%}dl{grid-template-columns:1fr;gap:4px}dd{margin-bottom:16px}}
</style><main class="lookup"><div class="eyebrow">SERVICE PATTERN · DADS HTML</div><h1>Check a procedure receipt</h1><p>Use the reference from your receipt to view the next step. This is a fictional local example.</p><form id="lookup-form" novalidate><div class="dads-input-text field"><label for="reference">Reference number (required)</label><p id="reference-hint">Enter 6 digits. Try <strong>123456</strong> for the example record.</p><input id="reference" class="dads-input-text__input" data-size="lg" inputmode="numeric" autocomplete="off" aria-describedby="reference-hint reference-error"><span id="reference-error" class="dads-input-text__error-text" hidden>Enter 6 digits, for example 123456.</span></div><div class="actions"><button class="dads-button" data-type="solid-fill" data-size="lg" type="submit">Show example status</button><button class="dads-button" data-type="text" data-size="md" type="reset">Clear reference</button></div></form><section class="result" id="missing" tabindex="-1" hidden><h2>No matching example</h2><p>This reference has the correct format, but is not in the local example data. Try 123456.</p></section><section class="result" id="found" tabindex="-1" hidden><h2>Receipt 123456</h2><dl><dt>Procedure</dt><dd>Community room request</dd><dt>Submitted</dt><dd>1 October 2026 — fictional date</dd><dt>Next action</dt><dd>Wait for the example review. No documents are currently requested.</dd></dl><ol aria-label="Procedure progress"><li>Received</li><li class="current" aria-current="step">Checking the request — current step</li><li>Decision — not started</li></ol></section><small>Independent OpenDesign demonstration. Native DADS component CSS; system font fallback. No information is sent or stored.</small></main><script>
const f=document.querySelector('form'),i=document.querySelector('input'),e=document.querySelector('#reference-error'),found=document.querySelector('#found'),missing=document.querySelector('#missing');f.addEventListener('submit',ev=>{ev.preventDefault();found.hidden=missing.hidden=true;const valid=/^[0-9]{6}$/.test(i.value.trim());e.hidden=valid;i.setAttribute('aria-invalid',String(!valid));if(!valid){i.focus();return}const target=i.value.trim()==='123456'?found:missing;target.hidden=false;target.focus()});f.addEventListener('reset',()=>{found.hidden=missing.hidden=e.hidden=true;i.removeAttribute('aria-invalid');i.focus()});
</script></html>

Riferimento del codice

  • Scarica l’esempio completo dalla sezione Fonti. Il README indica il comando esatto per avviarlo in locale.
  • Mantieni i percorsi vendor relativi a questo documento; l’archivio include tutti gli asset usati da questa anteprima.
04

Sistema di design Digital Agency Configurazione dell'agente

Punto di partenza per l’implementazione

Flusso di lavoro del repository di esempi ufficiale e percorso verificato per l'importazione dei token. Questa anteprima esegue localmente file CSS copiati; non richiede React né un backend. Lo ZIP completo dell'esempio funzionante, disponibile in Sources, include anche le dipendenze esatte dell'anteprima e il documento integrale. Estrai l'archivio, esegui python3 -m http.server 8080 in quella directory, quindi apri http://localhost:8080/japan-dads.html. Non aprire gli esempi basati su moduli tramite file://.

bash
# Official HTML samples are a source repository, not a published component SDK.
git clone https://github.com/digital-go-jp/design-system-example-components-html.git
cd design-system-example-components-html
npm install
npm run storybook
# For the standalone composition, copy these component styles into your app:
# src/components/input-text/input-text.css
# src/components/button/button.css
# Install the independently versioned token package:
npm install @digital-go-jp/[email protected]
# In a CSS-aware bundler entry:
# import '@digital-go-jp/design-tokens/dist/tokens.css';
# import './input-text.css';
# import './button.css';

Un prompt per il tuo progetto

Prompt per l’agente
Implementa una ricerca fittizia di ricevute per un servizio pubblico, usando gli stili DADS HTML input-text e button insieme a design-tokens 2.0.1. Mantieni visibili l'etichetta, il suggerimento sul formato, aria-describedby e lo stato non valido. Usa il ritmo tipografico Std-17N-170 per il testo e un'azione principale grande. Mostra stati distinti per formato non valido, mancata corrispondenza e record trovato. Conserva il testo inserito, porta il focus sui nuovi titoli di stato, evita dati personali reali e marchi di identità governativa. Considera la larghezza del contenuto di 52rem e le spaziature 8/24/64px come scelte applicative.
05

Sistema di design Digital Agency Fonti e ambito

Composizione didattica indipendente che usa esempi CSS e token ufficiali. Nessuna approvazione governativa, ricerca in tempo reale o identità di enti copiata. Il font sans serif usa come fallback i font di sistema disponibili localmente. Il layout dell'applicazione e i dati dei record non sono specifiche DADS ufficiali.