Vai al contenuto
Aurora Lab
Effetti di testo · 29.10.2026

Decoded Passage

Una singola etichetta di navigazione editoriale attraversa per un istante un rumore tipografico controllato prima di risolversi nello stato attivo. Il gesto di decodifica dà a un link testuale compatto una risposta memorabile senza cambiarne l’ingombro né ricorrere al movimento delle singole lettere.

Prova l’esperimento

960 × 640
Dentro l’esperimento

Cos’è Decoded Passage?

Un’etichetta di navigazione editoriale passa brevemente attraverso glifi instabili e torna a una frase leggibile quando lo stato si assesta. L’attivazione conferma la selezione nella stessa area, mantenendo la composizione essenziale e concreta.

Come funziona

L’etichetta resta un unico pulsante semantico. Al passaggio del mouse e al focus da tastiera, i caratteri attraversano brevemente un insieme discreto di glifi prima di ricomporsi nella frase corrente. L’attivazione alterna lo stato locale, aggiorna l’etichetta e mostra un messaggio sintetico. La transizione usa requestAnimationFrame e si interrompe correttamente sul testo finale.

Dove usarlo

  • Etichette compatte per la navigazione editoriale
  • Indici di portfolio o raccolte con feedback locale sulla selezione
  • Specimen di design system per stati interattivi basati solo sul testo

Accessibilità

Il punto focale è un pulsante nativo con etichetta accessibile e supporto completo da tastiera. Lo stato selezionato è comunicato attraverso colore, testo e un messaggio visibile annunciato con aria-live. Le preferenze di movimento ridotto eliminano le transizioni decorative, lasciando disponibile l’azione semantica.

Prestazioni

Il componente usa un pulsante, un nodo di stato, un piccolo ciclo requestAnimationFrame e nessuna risorsa o libreria esterna. Ogni nuova decodifica annulla l’animazione precedente.

Il codice

Esplora e copia il codice originale. Nell’anteprima le etichette vengono tradotte, mentre nel sorgente restano quelle originali (di solito inglesi). Per i testi dinamici usa AuroraLabI18n.t(chiave, testoPredefinito).

<main class="stage">
  <button class="decode-label" type="button" data-decode data-ali-i18n="copy_1" data-ali-i18n-aria-label="copy_1" aria-label="Browse collection">Browse collection</button>
  <p class="decode-status" data-status data-ali-i18n="copy_2" aria-live="polite" aria-atomic="true"> </p>
</main>