HTML Academy · Lektion

Interest Invokers og Command-attributten

Undersøg command- og commandfor-attributterne til deklarative handlinger

Lektion 4 af 414 trin

Interest Invokers og Command-attributten er en gratis HTML Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i HTML Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. HTML Academy-kurset indeholder 4 lektioner i alt.

To nye deklarative mønstre

Open UI-gruppen standardiserer to nye HTML-attributter — command til klikudløste handlinger og interesttarget til hover- eller fokusudløst "interesse" (grundlaget for værktøjstip og forhåndsvisninger). Begge udvider HTML med deklarativ adfærd, som traditionelt har krævet JavaScript.

Attributten command

En knap med command="show-modal" og commandfor="dialog-id" viser en dialog uden JS — og erstatter manuelle kald til dialog.showModal(). Andre kommandoer er: command="close" og command="toggle-popover" samt command="show-popover".

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

Understøttede kommandoer

Det første sæt dækker almindelige mønstre i brugergrænseflader: visning og skjulning af dialoger (det indbyggede <dialog>), skift af popovers (Popover API) og flere kommandoer over tid. Brugerdefinerede elementer kan angive, hvilke kommandoer de accepterer, via oncommand-hændelseshåndterere.

Brugerdefinerede kommandoer

Ud over de indbyggede kommandoer tillader specifikationen brugerdefinerede kommandostreng, der begynder med "--". Mål-elementet modtager en command-hændelse, som du kan håndtere i JS: el.addEventListener("command", (e) => { if (e.command === "--save") save(); }).

Interesseudløsere

Attributten interesttarget markerer et elements "interesse"-mål — typisk et værktøjstip, der vises, når markøren holdes over elementet, eller når det får fokus. Browseren håndterer automatisk timingen (300 ms forsinkelse ved hensigt om at holde markøren over elementet), placeringen (med ankerpositionering) og lukningen.

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

Kombineret med popover="hint"

Popover-tilstanden hint er beregnet til værktøjstip-lignende popovers, der vises ved interesse. De er ikke-modale, stjæler ikke fokus og lukkes, når interessen ophører. Kombinationen af interesttarget + popover="hint" giver dig et indbygget værktøjstip med to HTML-attributter.

Tilgængelighedsfordele

Indbyggede dialoger håndterer fastholdelse af fokus; indbyggede popovers håndterer stabling; og indbyggede interesseudløsere håndterer tidsforsinkelsen ved hensigt om at holde markøren over elementet samt annoncerer relationer til skærmlæsere. Når du erstatter brugerdefinerede JS-implementeringer med disse deklarative grundelementer, forbedres tilgængeligheden pålideligt.

Specifikationens status

Disse funktioner er stadig under standardisering. De nøjagtige attributnavne og kommandosættet kan ændre sig. Browserimplementeringer kommer først i Chromium. Brug i produktion bør vente, indtil navngivningen er stabil, og mindst to browsere understøtter funktionerne — sandsynligvis inden for det næste år eller to.

Erstatning af JS-mønstre

Hver af disse funktioner erstatter JavaScript, som er blevet skrevet og omskrevet millioner af gange: dialoghåndtering, popoverudløsere og værktøjstip-adfærd. Når disse mønstre flyttes ind i HTML, bliver siderne mindre, konsistensen forbedres, og browseren kan anvende optimeringer.

Open UI som kilde

Open UI-fællesskabsgruppen (open-ui.org) driver en stor del af dette arbejde — den foreslår, laver prototyper af og fører nye HTML-elementer og -attributter gennem standardiseringsprocessen. Følg deres blog for de nyeste forslag.

Forbindelse til andre moderne funktioner

command, interesttarget, popover, dialog, anchor positioning, view transitions og tilpasningsbare select-elementer er alle del af den samme sammenhængende indsats for at flytte mønstre fra komponentbiblioteker ind i platformen. Hver funktion er lille i sig selv; tilsammen udgør de den største udvidelse af HTML's ordforråd for brugergrænseflader i årevis.

Hvad du kan gøre nu

Følg forslagene på open-ui.org, eksperimentér i Chromium med aktiverede funktionsflag, og planlæg at tage funktionerne i brug, efterhånden som de bliver stabile. Gennemgå din eksisterende kodebase, og opgør, hvor meget JS der bruges til understøttelse af dialoger, popovers og værktøjstip. Den kode er målrettet til udskiftning inden for få udgivelser.

Videnstjek

Hvad er formålet med attributten command på en knap?

Opsummering

To nye funktioner udvider HTML's deklarative ordforråd for brugergrænseflader: command + commandfor til klikudløste handlinger (vis modal, skift popover) og interesttarget + popover="hint" til hover- eller fokusudløste værktøjstip. Begge erstatter almindelige JavaScript-mønstre med HTML-attributter, hvilket forbedrer tilgængeligheden og reducerer pakkestørrelsen. Funktionerne er stadig under udvikling; følg Open UI, mens de stabiliseres, og tag dem i brug, efterhånden som browserunderstøttelsen kommer.

Gratis at komme i gang

Lær HTML med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
40
Lektioner
159

Ofte stillede spørgsmål

Er lektionen “Interest Invokers og Command-attributten” gratis?

Ja — alle 3 lektioner i læringssporet HTML Academy, inklusive “Interest Invokers og Command-attributten”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. HTML Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Interest Invokers og Command-attributten”?

Undersøg command- og commandfor-attributterne til deklarative handlinger Du øver dig i HTML Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på HTML Academy?

Der kræves ingen tidligere erfaring. HTML Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Interest Invokers og Command-attributten”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne HTML Academy-lektion?

Ja. Alle HTML Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Deklarativ Shadow DOM
  2. Popover API
  3. selectlist-elementet
  4. Interest Invokers og Command-attributten
← Tilbage til HTML Academy