Gli accordion, o sezioni comprimibili, sono un pattern molto diffuso nelle interfacce web. Permettono di organizzare grandi quantità di contenuti in poco spazio, migliorando la leggibilità e la navigazione della pagina. Hanno tuttavia un limite importante: il testo contenuto nelle sezioni chiuse non è individuabile tramite la funzione "Trova nella pagina" del browser.
Questo problema non riguarda soltanto l'esperienza utente: impedisce anche la creazione di link a frammenti di testo interni e può influenzare l'indicizzazione da parte dei motori di ricerca.
L'attributo HTML hidden=until-found è stato progettato proprio per risolvere questo tipo di problema. Quando applicato a un elemento nascosto, permette al browser di cercare il testo al suo interno, anche se non è visibile, e notificare la sezione se la ricerca trova una corrispondenza.
A livello tecnico, a differenza di hidden (che implica display:none), hidden=until-found applica content-visibility: hidden (documentato nei precedenti script). Ciò permette al browser di evitare il rendering visivo dell'elemento, pur mantenendolo nel layout concettuale del documento.
Il documento, nel momento della ricerca, emetterà un evento beforematch quando il browser proverà ad evidenziare un risultato trovato nella pagina, intercettandolo possiamo gestirne la visualizzazione
<section hidden="until-found" id="dettagli">
<p>Questo contenuto può essere trovato con la ricerca.</p>
</section>
<script>
document.querySelector('#dettagli').addEventListener('beforematch', () => {
document.querySelector('#dettagli').hidden = false;
});
</script>Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Personalizzare i parametri del CSS Scroll Snap
Introduzione a GitHub Copilot CLI
Planning & Specification Driven Development + GitHub Copilot
Gestire il ciclo di vita di AbortController in Javascript
Ottimizzare gli indici con Automatic Index Compaction in Azure SQL Database
Integrare OpenAI tramite Aspire
Ciclo di vita risorse con .NET Aspire
Applicare il progressive enhancement in applicazioni web
Modificare lo stile in una QuickGrid Blazor
Gestire trasferimenti cloud con Azure Storage Mover
Utilizzare zizmor per rendere più sicuri i workflow di GitHub


