0Pricing
HTML Academy · Lezione

Interest Invokers e attributo command

Esplorare gli attributi command e commandfor per azioni dichiarative

Interest Invokers e attributo command è una lezione HTML Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento HTML Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso HTML Academy include 4 lezioni in totale.

Due pattern dichiarativi emergenti

Il gruppo Open UI sta standardizzando due nuovi attributi HTML: command per le azioni attivate con un clic e interesttarget per l'«interesse» attivato al passaggio del mouse o con il focus, alla base di tooltip e anteprime. Entrambi estendono HTML con comportamenti dichiarativi che tradizionalmente richiedevano JavaScript.

L'attributo command

Un pulsante con command="show-modal" e commandfor="dialog-id" mostra una finestra di dialogo senza alcun JS, sostituendo le chiamate manuali a dialog.showModal(). Altri comandi: command="close", command="toggle-popover", command="show-popover".

<button command="show-modal" commandfor="my-dialog">Open</button>
<dialog id="my-dialog">...</dialog>

Comandi supportati

Il set iniziale riguarda pattern comuni dell'interfaccia: mostrare e nascondere finestre di dialogo (<dialog> integrato), attivare e disattivare i popover (Popover API), e potrebbe ampliarsi nel tempo. Gli elementi custom possono dichiarare quali comandi accettano tramite gestori di eventi oncommand.

Comandi personalizzati

Oltre ai comandi integrati, la specifica consente stringhe di comando personalizzate che iniziano con "--". L'elemento target riceve un evento command che può essere gestito in JS: el.addEventListener("command", (e) => { if (e.command === "--save") save(); }).

Invocatori di interest

L'attributo interesttarget identifica il target dell'«interesse» di un elemento, in genere un tooltip che appare al passaggio del mouse o quando l'elemento riceve il focus. Il browser gestisce automaticamente i tempi (un ritardo di 300 ms per l'intenzione di passaggio), il posizionamento (con l'anchor positioning) e la chiusura.

<button interesttarget="user-info">Profile</button>
<div id="user-info" popover="hint">Ada Lovelace — Admin</div>

In combinazione con popover="hint"

La modalità hint dei popover è progettata per i popover simili a tooltip che appaiono quando l'elemento suscita interesse. Non sono modali, non sottraggono il focus e si chiudono quando l'interesse viene meno. La combinazione di interesttarget + popover="hint" offre un tooltip nativo con due attributi HTML.

Vantaggi per l'accessibilità

Le finestre di dialogo native gestiscono il confinamento del focus; i popover nativi gestiscono la sovrapposizione; gli invocatori nativi di interest gestiscono i tempi dell'intenzione di passaggio e comunicano le relazioni ai lettori di schermo. Sostituire le implementazioni personalizzate in JS con queste primitive dichiarative migliora in modo affidabile la qualità dell'accessibilità.

Stato della specifica

Queste funzionalità sono ancora in fase di standardizzazione. I nomi esatti degli attributi e l'insieme dei comandi potrebbero cambiare. Le implementazioni nei browser stanno comparendo prima in Chromium. Per l'uso in produzione, è consigliabile attendere che i nomi si stabilizzino e che almeno due browser offrano il supporto, probabilmente entro il prossimo anno o i due anni successivi.

Sostituire i pattern JS

Ognuna di queste funzionalità sostituisce codice JavaScript scritto e riscritto milioni di volte: gestione delle finestre di dialogo, trigger dei popover e comportamento dei tooltip. Spostare questi pattern in HTML riduce il peso della pagina, migliora la coerenza e consente al browser di applicare ottimizzazioni.

Open UI come riferimento

Il gruppo della comunità Open UI (open-ui.org) guida gran parte di questo lavoro: propone e prototipa nuovi elementi e attributi HTML e ne accompagna l'inserimento nel processo di standardizzazione. Segua il loro blog per conoscere le proposte più recenti.

Collegamento con altre funzionalità moderne

command, interesttarget, popover, dialog, anchor positioning, view transitions e i select personalizzabili fanno tutti parte di un'unica spinta coerente a portare nella piattaforma i pattern delle librerie di componenti. Presa singolarmente, ognuna è una piccola novità; insieme rappresentano la più grande espansione del vocabolario dell'interfaccia HTML degli ultimi anni.

Cosa fare ora

Segua le proposte (open-ui.org), faccia esperimenti in Chromium con le flag abilitate e pianifichi l'adozione delle funzionalità man mano che si stabilizzano. Analizzi il codice esistente: conti quanto JS è dedicato alla gestione di finestre di dialogo, popover e tooltip. Quel codice è destinato a essere sostituito nel giro di alcune release.

Verifica delle conoscenze

Qual è lo scopo dell'attributo command su un pulsante?

Riepilogo

Due funzionalità emergenti ampliano il vocabolario dell'interfaccia dichiarativa di HTML: command + commandfor per le azioni attivate con un clic (mostrare una finestra modale, attivare o disattivare un popover) e interesttarget + popover="hint" per i tooltip attivati al passaggio del mouse o con il focus. Entrambe sostituiscono pattern JavaScript comuni con attributi HTML, migliorando l'accessibilità e riducendo le dimensioni del bundle. Sono ancora in evoluzione: segua Open UI per verificarne la stabilizzazione e le adotti quando arriverà il supporto nei browser.

Domande Frequenti

La lezione «Interest Invokers e attributo command» è gratuita?

Sì — il testo completo di «Interest Invokers e attributo command» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso HTML Academy, passa a CoddyKit PRO. Il corso HTML Academy include 4 lezioni in totale.

Cosa imparerò in «Interest Invokers e attributo command»?

Esplorare gli attributi command e commandfor per azioni dichiarative Eserciti HTML Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare HTML Academy?

Non è richiesta alcuna esperienza precedente. HTML Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Interest Invokers e attributo command»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione HTML Academy?

Sì. Ogni lezione HTML Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Shadow DOM dichiarativo
  2. La Popover API
  3. L’elemento selectlist
  4. Interest Invokers e attributo command
← Torna a HTML Academy