
Quanto JavaScript è necessario per far apparire un semplice menu a comparsa? Se la risposta vi fa venire il mal di testa pensando a infiniti file npm, non siete soli. Per anni abbiamo trattato l’HTML come un povero scheletro senza anima, delegando ogni minimo briciolo di dinamismo a script sempre più complessi, pesanti e, diciamolo, spesso inutili.
Ma preparate i caffè (e forse i vecchi laptop), perché l’HTML sta tornando prepotentemente in gioco. Recentemente è emerso un paper di Chris Burnell che mette in luce una realtà che molti developer preferirebbero ignorare: l’HTML sta letteralmente mangiando il territorio che un tempo era esclusiva di JavaScript.
Parliamo di cose concrete. Avete presente quel mal di testa per gestire lo z-index dei popover o la gestione dei click fuori dal modulo per chiuderli? Ecco, con l’attributo «popover» e «popovertarget», il browser lo fa per voi. Niente più logica di stato complessa, niente gestione manuale dell’Escape key. Il browser si occupa di tutto. E non finisce qui: il tag «dialog» ora può essere gestito con una facilità disarmante, rendendo i modal meno un incubo di coordinate e più un elemento strutturale del DOM.
C’è anche la chicca del gruppo di elementi «details» con l’attributo «name». Se volete creare un accordion dove si apre solo una sezione alla volta, non dovete scrivere un listener per ogni elemento. Basta un nome in comune e il browser fa il lavoro sporco. È quella magia silenziosa che rende il web più performante e meno appesantito da logiche che non dovrebbero nemmeno esistere.
Però, occhio a non andare troppo in testa con l’entusiasmo. Non è tutto rose e fiori. Come spesso accade quando le specifiche web avanzano più velocemente dei motori di rendering, ci sono delle zone d’ombra. Alcuni elementi come i nuovi picker di colore, date o range sono ancora un po’ «selvaggi». Se provate a usarli oggi, potreste trovarvi con interfacce che cambiano drasticamente tra Chrome e Firefox, o peggio, con problemi di accessibilità che rendono il vostro sito un labirinto per chi usa uno screen reader.
In breve: l’HTML sta diventando molto più potente e capace di gestire la logica di interazione di base. È una vittoria per la semplicità e per il web leggero. Ma finché non vedremo un’implementazione uniforme e davvero accessibile su tutti i motori, teniamo ancora un piccolo kit di pronto soccorso in JavaScript nel cassetto. Usate queste nuove feature, celebrate la fine del bloating, ma non dimenticatevi che l’accessibilità non è un optional che si può delegare al browser.
Source: HTML Can Do That
