Chi Siamo Area Clienti Promo del Mese Dicono di Noi Portfolio FAQ Blog
HTML

Novità HTML 2025-2026: Nuovi Elementi, Attributi e API

Gianluca Gentile
Gianluca Gentile
· 6 min di lettura

L’HTML è un Living Standard in costante evoluzione, mantenuto dal WHATWG (Web Hypertext Application Technology Working Group). A differenza delle vecchie versioni numerate (HTML4, XHTML, HTML5), lo standard viene aggiornato continuamente con nuovi elementi, attributi e API. Il biennio 2025-2026 ha portato diverse novità significative che semplificano lo sviluppo web, riducono la dipendenza da JavaScript e migliorano le performance. Vediamo le più importanti.

L’Attributo popover: Popup Nativi Senza JavaScript

L’attributo popover è probabilmente la novità HTML più impattante degli ultimi anni. Permette di creare popup, tooltip, menu dropdown e notifiche toast completamente in HTML, senza una singola riga di JavaScript. Qualsiasi elemento può diventare un popover aggiungendo l’attributo, e un pulsante può attivarlo tramite popovertarget:

<button popovertarget="info-popup">Mostra info</button>

<div id="info-popup" popover>
  <h3>Informazioni</h3>
  <p>Questo popup è stato creato senza JavaScript!</p>
</div>

Il popover supporta il light dismiss (si chiude cliccando fuori o premendo Escape), viene renderizzato nel top layer del browser (sopra qualsiasi z-index) e ha due modalità: auto (default, con light dismiss) e manual (richiede chiusura esplicita). L’attributo popovertargetaction permette di specificare se il pulsante deve alternare (toggle), mostrare (show) o nascondere (hide) il popover.

Questa API ha raggiunto il supporto completo in tutti i browser principali nel 2024 ed è pronta per la produzione. Per una guida approfondita all’uso del popover e del tag dialog, consultate il nostro articolo dedicato.

L’Elemento search e Semantic HTML

L’elemento <search> è un nuovo elemento semantico che identifica una sezione della pagina contenente funzionalità di ricerca. Prima della sua introduzione, si usava <form role="search"> — ora esiste un elemento dedicato:

<search>
  <form action="/risultati">
    <label for="q">Cerca nel sito:</label>
    <input type="search" id="q" name="q" placeholder="Cerca...">
    <button type="submit">Cerca</button>
  </form>
</search>

L’elemento <search> ha il ruolo ARIA implicito di search, rendendo automaticamente la sezione identificabile dagli screen reader come area di ricerca. Può contenere non solo form di ricerca tradizionali ma anche interfacce di filtro e ricerca avanzata. È supportato da tutti i browser moderni dal 2023.

L’Attributo fetchpriority: Controllo della Priorità di Caricamento

L’attributo fetchpriority permette di influenzare la priorità con cui il browser scarica le risorse. Accetta tre valori: high, low e auto (default). È applicabile a <img>, <link>, <script> e <iframe>:

<!-- Immagine hero: priorità alta -->
<img src="hero.webp" fetchpriority="high" alt="Hero image">

<!-- Immagini below-the-fold: priorità bassa -->
<img src="gallery-1.jpg" fetchpriority="low" loading="lazy" alt="Galleria 1">

<!-- Script non critico: priorità bassa -->
<script src="analytics.js" fetchpriority="low" async></script>

<!-- Preload di una risorsa critica -->
<link rel="preload" href="font.woff2" as="font" fetchpriority="high" crossorigin>

Questo attributo è particolarmente utile per ottimizzare il Largest Contentful Paint (LCP): assegnando fetchpriority="high" all’immagine LCP, si segnala al browser di scaricarla prima di altre risorse con la stessa priorità intrinseca. Google ha documentato miglioramenti di 100-400 millisecondi nell’LCP con l’uso corretto di fetchpriority. Per approfondire l’impatto sulle metriche Core Web Vitals, consultate la nostra guida.

Declarative Shadow DOM, inert e blocking

Il Declarative Shadow DOM permette di creare Shadow DOM direttamente nel markup HTML senza JavaScript, tramite l’attributo shadowrootmode su un elemento <template>:

<my-component>
  <template shadowrootmode="open">
    <style>
      p { color: blue; }
    </style>
    <p>Contenuto nel Shadow DOM</p>
    <slot></slot>
  </template>
  <span>Contenuto nel Light DOM (inserito nello slot)</span>
</my-component>

Questo è fondamentale per il Server-Side Rendering (SSR) dei Web Components: prima del Declarative Shadow DOM, era impossibile renderizzare Shadow DOM sul server, poiché richiedeva JavaScript. Ora i Web Components possono essere renderizzati completamente dal server, migliorando drasticamente le performance di caricamento iniziale.

L’attributo inert rende un elemento e tutti i suoi discendenti non interattivi e invisibili alle tecnologie assistive. È perfetto per contenuti dietro una modale aperta, sezioni di un wizard non ancora raggiunta o contenuti in fase di caricamento:

<main inert>
  <!-- Questo contenuto non è interattivo mentre la modale è aperta -->
</main>
<dialog open>
  <p>Modale attiva</p>
</dialog>

L’attributo blocking=”render” può essere applicato a <script>, <style> e <link> per indicare esplicitamente che la risorsa blocca il rendering. Sebbene possa sembrare controintuitivo bloccare il rendering, è utile per garantire che CSS critici o script di configurazione siano caricati prima che l’utente veda qualsiasi contenuto, evitando flash di contenuto non stilizzato.

Speculation Rules API e View Transitions

La Speculation Rules API è un sistema moderno per il pre-rendering delle pagine, specificato tramite un tag <script type="speculationrules"> nell’HTML:

<script type="speculationrules">
{
  "prerender": [
    {
      "where": {
        "href_matches": "/prodotti/*"
      },
      "eagerness": "moderate"
    }
  ],
  "prefetch": [
    {
      "urls": ["/chi-siamo", "/contatti"]
    }
  ]
}
</script>

A differenza del tradizionale <link rel="prefetch">, le Speculation Rules supportano il pre-rendering completo: la pagina viene non solo scaricata ma anche renderizzata in background, rendendo la navigazione praticamente istantanea. L’attributo eagerness controlla quanto aggressivamente il browser deve eseguire la speculazione: immediate, eager, moderate o conservative.

Le View Transitions API, sebbene principalmente CSS/JavaScript, hanno una connessione HTML attraverso la possibilità di specificare nomi di transizione sugli elementi tramite la proprietà CSS view-transition-name. Questo permette animazioni fluide tra pagine diverse in applicazioni multi-page (MPA), creando un’esperienza simile alle app native senza JavaScript complesso. Le View Transitions cross-document sono supportate in Chrome e stanno arrivando negli altri browser.

Tra le proposte future in fase di sviluppo troviamo l’elemento <selectlist> (ora rinominato in <selectmenu> e poi in <select> potenziato) che permetterà di personalizzare completamente l’aspetto dei menu dropdown, e il CSS Anchor Positioning che, pur essendo una feature CSS, è strettamente legato all’attributo popover per posizionare popup e tooltip relativamente ad altri elementi HTML.

Hai bisogno di aiuto con l’implementazione delle ultime novità HTML nel tuo progetto? G Tech Group offre servizi di sviluppo web professionale e consulenza tecnica. Contattaci a su*****@********up.it o via WhatsApp al 0465 84 62 45.

#sviluppo web