Una guida editoriale Protocol con stack di font reali, scale di spaziatura e larghezza dei contenitori, una pagina di lettura illustrata e responsiva e un esempio completo di modulo nativo CSS.
Mozilla Protocol nativo 22.0.0 CSS e font del pacchetto; HTML, illustrazione e JavaScript originali. Nessun invio del modulo tramite rete. · Riferimento per l’implementazione
02
Sistema di design Mozilla Protocol Riferimento di progettazione del sistema di progettazione
JSON dei token pubblicati di Mozilla Protocol 22.0.0 e CSS nativo. I nomi preceduti dal simbolo del dollaro sono token Sass. L’esempio originale usa il tema tipografico Mozilla; i controlli di densità e l’illustrazione circolare sono scelte dell’applicazione.
Sistema di design Mozilla Protocol Composizione editoriale del sistema di progettazione
Inizia con una gerarchia editoriale leggibile
Protocol è pensato per le superfici editoriali e di marketing, oltre che per le interfacce di supporto. L’esempio si apre con un titolo grande e un’illustrazione circolare originale, per poi passare a un’anteprima di un articolo e a un modulo per la newsletter. Questa composizione lascia spazio al messaggio prima di chiedere al lettore di interagire con i controlli. È diversa da una dashboard amministrativa densa.
Separa il tema del brand dall’idea dell’applicazione
L’esempio usa mzp-t-mozilla e la tipografia nativa di Protocol. L’articolo, l’illustrazione e la preferenza per la densità sono contenuti originali dell’applicazione. Né i nomi delle classi native né i file dei font ne fanno un servizio ufficiale Mozilla. Il piè di pagina ne chiarisce l’ambito e l’azione relativa alla newsletter mostra soltanto un’anteprima della conferma.
Mozilla Protocol Font e utility per i titoli del sistema di design
Scegli la coppia tipografica specifica del brand
Protocol 22 esporta gli stack Mozilla Headline e Mozilla Text per Mozilla, e Metropolis con Inter per Firefox. L’esempio carica i font forniti dal pacchetto. Mantieni distinti i ruoli di titoli e corpo del testo: usare un carattere da esposizione in ogni paragrafo elimina il contrasto che rende efficace la gerarchia editoriale.
Mantieni indipendenti la semantica dei titoli e la loro dimensione visiva
L’hero è un h1 con mzp-u-title-lg. Le sezioni di supporto sono h2 con mzp-u-title-xs e il titolo dell’articolo è un h3 con mzp-u-title-2xs. Le utility responsive possono modificare la scala visiva senza alterare la struttura. Il controllo della densità di lettura modifica solo i paragrafi di esempio, non ridimensiona l’intera pagina né i suoi controlli.
h1 introduce la pagina.
h2 suddivide l’anteprima di lettura e il modulo.
h3 dà il titolo all’estratto dell’articolo.
Mozilla Protocol Colori e illustrazioni del sistema di design
Usa l’illustrazione come contenuto editoriale
Il gradiente circolare è un’opera originale di CSS accompagnata da una breve descrizione accessibile. La sfumatura dai toni caldi al viola non viene presentata come un nuovo logo ufficiale di Mozilla né come un token esportato da Protocol. Il resto della pagina usa superfici neutre e sobrie, così l’illustrazione e l’azione principale mantengono un ruolo ben definito.
Attribuisci alla convalida del modulo un significato distinto
L’errore locale dell’indirizzo email è spiegato per iscritto e indicato da un bordo ben visibile. Il messaggio di esito positivo appare in un blocco di conferma separato, che include l’indirizzo di esempio inserito e specifica che non è stata inviata alcuna email. Un hero colorato non dovrebbe competere con lo stato di errore né rendere ambiguo l’esito del modulo.
Mozilla Protocol Spaziatura dei componenti e scale di layout del sistema di design
Usa con criterio le due scale di spaziatura
Gli intervalli di spaziatura pubblicati per i componenti sono 4, 8, 16, 24, 32 e 48px. Una scala di layout separata si estende fino a 64, 96 e 192px. Usa la scala più contenuta nei moduli e nelle schede, e quella più ampia tra le sezioni editoriali. Portare ogni piccolo spazio a un valore della scala di layout indebolirebbe il legame tra un’etichetta e il relativo campo.
Limita la lunghezza delle righe prima di aggiungere altre colonne
Mozilla Protocol Pulsanti, dettagli e moduli del sistema di design
Mantieni la struttura effettiva del modulo
L’esempio della newsletter è un modulo nativo con un’etichetta visibile, un campo email, una nota esplicativa, un messaggio di errore e un pulsante di invio. Protocol applica lo stile ai componenti; l’applicazione convalida i dati e comunica l’esito locale. L’azione dell’hero è un link perché porta a una sezione della pagina, mentre l’invio avviene tramite un pulsante.
Usa un elemento di espansione semplice per le spiegazioni di supporto
L’elemento a espansione «Cosa cambia» è una coppia nativa details/summary. Spiega i valori personalizzati dei paragrafi, comodo e compatto, senza interrompere l’articolo principale. Non è una finta scheda di navigazione né un requisito nascosto: il modulo e i controlli di densità restano utilizzabili sia con l’elemento aperto sia con quello chiuso.
Mozilla Protocol Stati di lettura e convalida del sistema di design
Modifica una preferenza di lettura alla volta
I due pulsanti di densità formano un gruppo con etichetta e usano aria-pressed. La modalità Compatta modifica solo nei paragrafi dell’articolo la dimensione del font, l’altezza della riga e lo spazio inferiore. Il testo, il titolo e il campo del modulo restano invariati. L’esempio distingue intenzionalmente questa preferenza dal passaggio tra i temi del brand Mozilla e Firefox.
Rendi prevedibile il recupero dagli errori del modulo
Un indirizzo non valido mostra l’errore e porta il focus sul campo. Quando l’utente modifica il campo, l’errore non più aggiornato viene cancellato e l’eventuale conferma precedente viene nascosta. Un indirizzo valido mostra un risultato generato localmente e porta il focus su quel risultato. «Prova un altro indirizzo» cancella il modulo, rimuove lo stato di errore e riporta il focus sul campo; non implica alcuna iscrizione asincrona.
Invia un indirizzo vuoto o non valido e leggi l’errore del campo.
Inserisci un indirizzo di esempio e visualizza l’anteprima della conferma locale.
Usa «Prova un altro indirizzo» per ripristinare il modulo e riportare il focus sul campo.
Mozilla Protocol Controlli editoriali accessibili del sistema di design
Assegna ruoli diversi alle immagini e ai controlli
L’illustrazione è un elemento con ruolo immagine e un testo alternativo conciso. I pulsanti di densità, l’elemento a espansione e l’azione di invio sono controlli effettivi. Il campo email fa riferimento sia alla nota sia all’errore tramite aria-describedby. Un contorno di focus visibile completa lo stile nativo e facilita l’uso da tastiera.
Mantieni significativo l’ordine quando gli elementi si dispongono in colonna
L’ordine del documento è: titolo, anteprima di lettura, spiegazione e modulo. Su dispositivi mobili l’ordine resta lo stesso; CSS non sposta il modulo prima del contesto. L’illustrazione mobile da 180px è un supporto editoriale decorativo, non un ostacolo a larghezza fissa che costringe a scorrere la pagina orizzontalmente.
Mozilla Protocol Integrazione del sistema di design CSS
Includi nel bundle dell’esempio le risorse pubblicate
Il punto di ingresso fornito importa un tema compilato, protocol.css e protocol-components.css, quindi il foglio di stile dell’applicazione. Protocol 22 richiede le proprietà personalizzate del tema su :root; aggiungere semplicemente una vecchia classe del brand lascia irrisolta la tipografia. Compila protocol-theme.scss prima di avviare Vite. Un bundler consapevole dei moduli gestisce gli URL dei font e delle immagini. I blocchi HTML, JavaScript e CSS qui sotto contengono tutto il codice sorgente dell’esempio: non ci sono backend nascosti per la newsletter né gestori di stato specifici del pacchetto.
Estendi il modulo solo se esiste un vero servizio di iscrizione
Mozilla Protocol Esempi di componenti del sistema di design
index.html — pagina editoriale completa
Articolo semantico, controlli di densità, elemento a espansione e modulo locale per la newsletter con un’illustrazione originale di CSS.
html
<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Reading specimen</title></head>
<body>
<main class="reading-example mzp-t-mozilla">
<header class="reading-top">
<strong>MOZILLA PROTOCOL · EDITORIAL SPECIMEN</strong
><span>Original example by OpenDesign</span>
</header>
<section class="reading-hero">
<div>
<h1 class="mzp-u-title-lg">A little more room to read.</h1>
<p>
Make space for useful ideas, quieter pages, and a reading rhythm that
feels like yours.
</p>
<a class="mzp-c-button" href="#reading-controls"
>Explore the reading preview</a
>
</div>
<div
class="orb"
role="img"
aria-label="Original warm-to-purple circular illustration"
></div>
</section>
<div class="reading-main">
<section id="reading-controls">
<h2 class="mzp-u-title-xs">Choose your reading rhythm</h2>
<p>
Compare two application-defined densities using the same short article.
</p>
<div class="density-options" role="group" aria-label="Reading density">
<button
class="mzp-c-button mzp-t-secondary"
data-density="comfortable"
aria-pressed="true"
>
Comfortable</button
><button
class="mzp-c-button mzp-t-secondary"
data-density="compact"
aria-pressed="false"
>
Compact
</button>
</div>
<article id="article-sample">
<h3 class="mzp-u-title-2xs">The open page</h3>
<p>
A useful page gives an idea enough room to breathe. Its headings show
the path, its paragraphs keep a readable measure, and its controls
remain easy to find.
</p>
<p>
Changing density should preserve the story. This preview adjusts
paragraph size and spacing without replacing the article or changing
your place in the task.
</p>
</article>
<details>
<summary>What changes in this example?</summary>
<p>
Comfortable uses 16px text with 1.6 line height. Compact uses 14px
with 1.4. These are example reading preferences, not separate official
Protocol themes.
</p>
</details>
</section>
<aside class="signup">
<h2 class="mzp-u-title-xs">Preview a reading digest</h2>
<p>
Try the form styling and local validation. No subscription is created.
</p>
<form id="reading-form" novalidate>
<label for="email">Email address</label
><input
id="email"
type="email"
autocomplete="email"
aria-describedby="email-note email-error"
/>
<p class="note" id="email-note">
Use an example address. Nothing will be sent.
</p>
<p id="email-error" class="error" role="alert" hidden>
Enter an email address, such as [email protected].
</p>
<button class="mzp-c-button" type="submit">Preview confirmation</button>
</form>
<div id="confirmation" tabindex="-1" role="status" hidden>
Local preview confirmed for <strong></strong>. No email was sent.<button
id="reset"
class="mzp-c-button mzp-t-secondary"
type="button"
>
Try another address
</button>
</div>
</aside>
</div>
<footer class="reading-footer">
Native Mozilla Protocol 22.0.0 CSS and fonts. Original illustration, copy
and JavaScript; not an official Mozilla service.
</footer>
</main>
<script type="module" src="/src/main.js"></script>
</body></html>
La configurazione Sass seleziona il brand; non si tratta di un cambio di classe in fase di esecuzione.
04
Mozilla Protocol Configurazione dell’agent per il sistema di design
Punto di partenza per l’implementazione
I font nativi CSS/fonts e lo script originale sono inclusi nel bundle per l’anteprima locale. Usa una versione di Node.js supportata dalla tua versione di Vite. In caso di ridistribuzione, conserva la licenza del pacchetto e l’attribuzione delle risorse.
sh
npm create vite@latest protocol-reading -- --template vanilla
cd protocol-reading
npm install
npm install @mozilla-protocol/[email protected]
npm install --save-dev sass
npx sass --load-path=node_modules src/protocol-theme.scss src/protocol-theme.css
# Replace index.html; add src/main.js and src/protocol.css from the full examples.
npm run dev
Un prompt per il tuo progetto
Prompt per l’agente
Crea una pagina editoriale con Mozilla Protocol 22.0.0. Consulta i riferimenti effettivi per font, spaziatura e contenitori. Usa come punto di partenza la composizione completa fornita in HTML/CSS/JS, mantieni titoli semantici ed etichette visibili per i campi del modulo, e distingui le scelte originali per illustrazione e densità dai token ufficiali. Rappresenta correttamente la convalida locale; integra un servizio di iscrizione reale solo dopo averne definito i requisiti di servizio e consenso.
05
Mozilla Protocol Fonti e ambito del sistema di design
Guida dell’applicazione OpenDesign a Mozilla Protocol 22.0.0. L’esempio usa CSS pubblicato e i font inclusi nel bundle, con testo, illustrazione e comportamento locale del modulo originali. Non è un prodotto, una newsletter o un servizio di iscrizione Mozilla; i diritti sui brand e sulle risorse restano ai rispettivi titolari.