{"id":164068,"date":"2026-02-08T09:00:00","date_gmt":"2026-02-08T08:00:00","guid":{"rendered":"https:\/\/gtechgroup.it\/blog\/novita-html-2025-2026-elementi-attributi-api\/"},"modified":"2026-02-08T09:00:00","modified_gmt":"2026-02-08T08:00:00","slug":"novita-html-2025-2026-elementi-attributi-api","status":"publish","type":"post","link":"https:\/\/nuovosito.gtechgroup.it\/blog\/novita-html-2025-2026-elementi-attributi-api\/","title":{"rendered":"Novit\u00e0 HTML 2025-2026: Nuovi Elementi, Attributi e API"},"content":{"rendered":"<p style=\"text-align: justify;\">L&#8217;HTML \u00e8 un <strong>Living Standard<\/strong> 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\u00e0 significative che semplificano lo sviluppo web, riducono la dipendenza da JavaScript e migliorano le performance. Vediamo le pi\u00f9 importanti.<\/p>\n<h2>L&#8217;Attributo popover: Popup Nativi Senza JavaScript<\/h2>\n<p style=\"text-align: justify;\">L&#8217;attributo <code>popover<\/code> \u00e8 probabilmente la novit\u00e0 HTML pi\u00f9 impattante degli ultimi anni. Permette di creare <strong>popup, tooltip, menu dropdown e notifiche toast<\/strong> completamente in HTML, senza una singola riga di JavaScript. Qualsiasi elemento pu\u00f2 diventare un popover aggiungendo l&#8217;attributo, e un pulsante pu\u00f2 attivarlo tramite <code>popovertarget<\/code>:<\/p>\n<pre><code>&lt;button popovertarget=\"info-popup\"&gt;Mostra info&lt;\/button&gt;\n\n&lt;div id=\"info-popup\" popover&gt;\n  &lt;h3&gt;Informazioni&lt;\/h3&gt;\n  &lt;p&gt;Questo popup \u00e8 stato creato senza JavaScript!&lt;\/p&gt;\n&lt;\/div&gt;<\/code><\/pre>\n<p style=\"text-align: justify;\">Il popover supporta il <strong>light dismiss<\/strong> (si chiude cliccando fuori o premendo Escape), viene renderizzato nel <strong>top layer<\/strong> del browser (sopra qualsiasi z-index) e ha due modalit\u00e0: <code>auto<\/code> (default, con light dismiss) e <code>manual<\/code> (richiede chiusura esplicita). L&#8217;attributo <code>popovertargetaction<\/code> permette di specificare se il pulsante deve alternare (toggle), mostrare (show) o nascondere (hide) il popover.<\/p>\n<p style=\"text-align: justify;\">Questa API ha raggiunto il supporto completo in tutti i browser principali nel 2024 ed \u00e8 pronta per la produzione. Per una guida approfondita all&#8217;uso del popover e del tag <a href=\"https:\/\/gtechgroup.it\/blog\/dialog-popover-html-api-native-browser\/\">dialog<\/a>, consultate il nostro articolo dedicato.<\/p>\n<h2>L&#8217;Elemento search e Semantic HTML<\/h2>\n<p style=\"text-align: justify;\">L&#8217;elemento <code>&lt;search&gt;<\/code> \u00e8 un nuovo elemento semantico che identifica una sezione della pagina contenente funzionalit\u00e0 di ricerca. Prima della sua introduzione, si usava <code>&lt;form role=\"search\"&gt;<\/code> \u2014 ora esiste un elemento dedicato:<\/p>\n<pre><code>&lt;search&gt;\n  &lt;form action=\"\/risultati\"&gt;\n    &lt;label for=\"q\"&gt;Cerca nel sito:&lt;\/label&gt;\n    &lt;input type=\"search\" id=\"q\" name=\"q\" placeholder=\"Cerca...\"&gt;\n    &lt;button type=\"submit\"&gt;Cerca&lt;\/button&gt;\n  &lt;\/form&gt;\n&lt;\/search&gt;<\/code><\/pre>\n<p style=\"text-align: justify;\">L&#8217;elemento <code>&lt;search&gt;<\/code> ha il ruolo ARIA implicito di <code>search<\/code>, rendendo automaticamente la sezione identificabile dagli screen reader come area di ricerca. Pu\u00f2 contenere non solo form di ricerca tradizionali ma anche interfacce di filtro e ricerca avanzata. \u00c8 supportato da tutti i browser moderni dal 2023.<\/p>\n<h2>L&#8217;Attributo fetchpriority: Controllo della Priorit\u00e0 di Caricamento<\/h2>\n<p style=\"text-align: justify;\">L&#8217;attributo <code>fetchpriority<\/code> permette di influenzare la priorit\u00e0 con cui il browser scarica le risorse. Accetta tre valori: <strong>high<\/strong>, <strong>low<\/strong> e <strong>auto<\/strong> (default). \u00c8 applicabile a <code>&lt;img&gt;<\/code>, <code>&lt;link&gt;<\/code>, <code>&lt;script&gt;<\/code> e <code>&lt;iframe&gt;<\/code>:<\/p>\n<pre><code>&lt;!-- Immagine hero: priorit\u00e0 alta --&gt;\n&lt;img src=\"hero.webp\" fetchpriority=\"high\" alt=\"Hero image\"&gt;\n\n&lt;!-- Immagini below-the-fold: priorit\u00e0 bassa --&gt;\n&lt;img src=\"gallery-1.jpg\" fetchpriority=\"low\" loading=\"lazy\" alt=\"Galleria 1\"&gt;\n\n&lt;!-- Script non critico: priorit\u00e0 bassa --&gt;\n&lt;script src=\"analytics.js\" fetchpriority=\"low\" async&gt;&lt;\/script&gt;\n\n&lt;!-- Preload di una risorsa critica --&gt;\n&lt;link rel=\"preload\" href=\"font.woff2\" as=\"font\" fetchpriority=\"high\" crossorigin&gt;<\/code><\/pre>\n<p style=\"text-align: justify;\">Questo attributo \u00e8 particolarmente utile per ottimizzare il <strong>Largest Contentful Paint (LCP)<\/strong>: assegnando <code>fetchpriority=\"high\"<\/code> all&#8217;immagine LCP, si segnala al browser di scaricarla prima di altre risorse con la stessa priorit\u00e0 intrinseca. Google ha documentato miglioramenti di 100-400 millisecondi nell&#8217;LCP con l&#8217;uso corretto di fetchpriority. Per approfondire l&#8217;impatto sulle <a href=\"https:\/\/gtechgroup.it\/blog\/core-web-vitals-html-lcp-cls-inp\/\">metriche Core Web Vitals<\/a>, consultate la nostra guida.<\/p>\n<h2>Declarative Shadow DOM, inert e blocking<\/h2>\n<p style=\"text-align: justify;\">Il <strong>Declarative Shadow DOM<\/strong> permette di creare Shadow DOM direttamente nel markup HTML senza JavaScript, tramite l&#8217;attributo <code>shadowrootmode<\/code> su un elemento <code>&lt;template&gt;<\/code>:<\/p>\n<pre><code>&lt;my-component&gt;\n  &lt;template shadowrootmode=\"open\"&gt;\n    &lt;style&gt;\n      p { color: blue; }\n    &lt;\/style&gt;\n    &lt;p&gt;Contenuto nel Shadow DOM&lt;\/p&gt;\n    &lt;slot&gt;&lt;\/slot&gt;\n  &lt;\/template&gt;\n  &lt;span&gt;Contenuto nel Light DOM (inserito nello slot)&lt;\/span&gt;\n&lt;\/my-component&gt;<\/code><\/pre>\n<p style=\"text-align: justify;\">Questo \u00e8 fondamentale per il <strong>Server-Side Rendering (SSR)<\/strong> dei Web Components: prima del Declarative Shadow DOM, era impossibile renderizzare Shadow DOM sul server, poich\u00e9 richiedeva JavaScript. Ora i Web Components possono essere renderizzati completamente dal server, migliorando drasticamente le performance di caricamento iniziale.<\/p>\n<p style=\"text-align: justify;\">L&#8217;attributo <strong>inert<\/strong> rende un elemento e tutti i suoi discendenti non interattivi e invisibili alle tecnologie assistive. \u00c8 perfetto per contenuti dietro una modale aperta, sezioni di un wizard non ancora raggiunta o contenuti in fase di caricamento:<\/p>\n<pre><code>&lt;main inert&gt;\n  &lt;!-- Questo contenuto non \u00e8 interattivo mentre la modale \u00e8 aperta --&gt;\n&lt;\/main&gt;\n&lt;dialog open&gt;\n  &lt;p&gt;Modale attiva&lt;\/p&gt;\n&lt;\/dialog&gt;<\/code><\/pre>\n<p style=\"text-align: justify;\">L&#8217;attributo <strong>blocking=&#8221;render&#8221;<\/strong> pu\u00f2 essere applicato a <code>&lt;script&gt;<\/code>, <code>&lt;style&gt;<\/code> e <code>&lt;link&gt;<\/code> per indicare esplicitamente che la risorsa blocca il rendering. Sebbene possa sembrare controintuitivo bloccare il rendering, \u00e8 utile per garantire che CSS critici o script di configurazione siano caricati prima che l&#8217;utente veda qualsiasi contenuto, evitando flash di contenuto non stilizzato.<\/p>\n<h2>Speculation Rules API e View Transitions<\/h2>\n<p style=\"text-align: justify;\">La <strong>Speculation Rules API<\/strong> \u00e8 un sistema moderno per il pre-rendering delle pagine, specificato tramite un tag <code>&lt;script type=\"speculationrules\"&gt;<\/code> nell&#8217;HTML:<\/p>\n<pre><code>&lt;script type=\"speculationrules\"&gt;\n{\n  \"prerender\": [\n    {\n      \"where\": {\n        \"href_matches\": \"\/prodotti\/*\"\n      },\n      \"eagerness\": \"moderate\"\n    }\n  ],\n  \"prefetch\": [\n    {\n      \"urls\": [\"\/chi-siamo\", \"\/contatti\"]\n    }\n  ]\n}\n&lt;\/script&gt;<\/code><\/pre>\n<p style=\"text-align: justify;\">A differenza del tradizionale <code>&lt;link rel=\"prefetch\"&gt;<\/code>, le Speculation Rules supportano il <strong>pre-rendering completo<\/strong>: la pagina viene non solo scaricata ma anche renderizzata in background, rendendo la navigazione praticamente istantanea. L&#8217;attributo <code>eagerness<\/code> controlla quanto aggressivamente il browser deve eseguire la speculazione: <code>immediate<\/code>, <code>eager<\/code>, <code>moderate<\/code> o <code>conservative<\/code>.<\/p>\n<p style=\"text-align: justify;\">Le <strong>View Transitions API<\/strong>, sebbene principalmente CSS\/JavaScript, hanno una connessione HTML attraverso la possibilit\u00e0 di specificare nomi di transizione sugli elementi tramite la propriet\u00e0 CSS <code>view-transition-name<\/code>. Questo permette animazioni fluide tra pagine diverse in applicazioni multi-page (MPA), creando un&#8217;esperienza simile alle app native senza JavaScript complesso. Le View Transitions cross-document sono supportate in Chrome e stanno arrivando negli altri browser.<\/p>\n<p style=\"text-align: justify;\">Tra le proposte future in fase di sviluppo troviamo l&#8217;elemento <code>&lt;selectlist&gt;<\/code> (ora rinominato in <code>&lt;selectmenu&gt;<\/code> e poi in <code>&lt;select&gt;<\/code> potenziato) che permetter\u00e0 di personalizzare completamente l&#8217;aspetto dei menu dropdown, e il <strong>CSS Anchor Positioning<\/strong> che, pur essendo una feature CSS, \u00e8 strettamente legato all&#8217;attributo popover per posizionare popup e tooltip relativamente ad altri elementi HTML.<\/p>\n<p style=\"text-align: justify;\">Hai bisogno di aiuto con l&#8217;implementazione delle ultime novit\u00e0 HTML nel tuo progetto? <strong>G Tech Group<\/strong> offre servizi di sviluppo web professionale e consulenza tecnica. Contattaci a <strong>support@gtechgroup.it<\/strong> o via WhatsApp al <strong>0465 84 62 45<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;HTML \u00e8 un Living Standard in costante evoluzione, mantenuto dal WHATWG (Web Hypertext Application Technology Working Group). A differenza delle vecchie versioni numerate (HTML4, XHTML,&hellip;<\/p>\n","protected":false},"author":2,"featured_media":164248,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1246],"tags":[787],"class_list":["post-164068","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-html","tag-sviluppo-web"],"_links":{"self":[{"href":"https:\/\/nuovosito.gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/164068","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nuovosito.gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nuovosito.gtechgroup.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nuovosito.gtechgroup.it\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nuovosito.gtechgroup.it\/blog\/wp-json\/wp\/v2\/comments?post=164068"}],"version-history":[{"count":0,"href":"https:\/\/nuovosito.gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/164068\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nuovosito.gtechgroup.it\/blog\/wp-json\/wp\/v2\/media\/164248"}],"wp:attachment":[{"href":"https:\/\/nuovosito.gtechgroup.it\/blog\/wp-json\/wp\/v2\/media?parent=164068"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nuovosito.gtechgroup.it\/blog\/wp-json\/wp\/v2\/categories?post=164068"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nuovosito.gtechgroup.it\/blog\/wp-json\/wp\/v2\/tags?post=164068"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}