<section>: l'elemento "Sezione generica"
L' elemento HTML <section>
rappresenta una sezione generica autonoma di un
documento,
che non ha un elemento
semantico più specifico per rappresentarlo. Le sezioni dovrebbero sempre avere
un'intestazione, con
pochissime eccezioni.
Gli attributi di questo elemento includono gli attributi globali.
Note d'uso
Come accennato in precedenza, <section>
è un elemento di sezione generico
e dovrebbe
essere utilizzato solo se non esiste un elemento più
specifico per rappresentarlo. Ad esempio, un menu di navigazione dovrebbe essere
racchiuso in un
elemento <nav>
,
ma un elenco di risultati di ricerca o la
visualizzazione di una
mappa e i relativi
controlli non hanno elementi specifici e potrebbero essere inseriti in un elemento
<section>
.
Considera anche questi casi:
- Se il contenuto dell'elemento rappresenta un'unità di contenuto autonoma e atomica
che ha senso
distribuito come pezzo autonomo (ad esempio un post di un blog o un commento sul
blog, o un articolo
di giornale), l'elemento
<article>
sarebbe una scelta migliore. - Se i contenuti rappresentano informazioni utili tangenziali che funzionano insieme
al contenuto
principale, ma non ne fanno direttamente parte (come i link correlati o una
biografia dell'autore),
utilizzare un elemento
<aside>
. - Se i contenuti rappresentano l'area del contenuto principale di un documento,
utilizzare
<main>
. - Se stai usando l'elemento solo come involucro di stile, usa un elemento
<div>
. Una regola pratica è che un<section>
dovrebbe apparire logicamente nella struttura di un documento.
Per ribadire, ciascun <section>
dovrebbe essere identificato, in genere includendo
un'intestazione (elemento
<h1>
-
<h6>
) come
figlio dell'elemento <section>
, ove possibile. Vedi sotto per esempi
di dove potresti
vedere un
<section>
senza titolo.
Esempi
Utilizzo semplice
<section>
<h2>Intestazione</h2>
<p>Contenuto figo</p>
</section>
Utilizzo di una sezione senza intestazione
Le circostanze in cui potresti vedere <section>
utilizzato senza un'intestazione
si trovano in genere nelle sezioni dell'applicazione
Web/interfaccia utente piuttosto che nelle tradizionali strutture dei documenti. In un
documento, non ha davvero alcun senso avere una sezione di contenuto separata senza
un'intestazione per descriverne il contenuto. Tali intestazioni sono utili per tutti i lettori,
ma particolarmente utili per gli utenti di tecnologie assistive come gli screen reader e sono
utili anche per la SEO.
Si consideri tuttavia un meccanismo di navigazione secondario. Se la navigazione globale è
già racchiusa in un
elemento <nav>
,
potresti plausibilmente racchiudere un menu
precedente/successivo in un <section>
:
<section>
<a href="#">Articolo precedente</a>
<a href="#">Articolo successivo</a>
</section>
O che ne dici di una sorta di barra dei pulsanti per controllare la tua app? Questo potrebbe non richiedere necessariamente un'intestazione, ma è comunque una sezione distinta del documento:
<section>
<button class="reply">Rispondi</button>
<button class="reply-all">Rispondi a tutti</button>
<button class="fwd">Inoltra</button>
<button class="del">Elimina</button>
</section>
Le sezioni senza intestazioni non vengono visualizzate nella struttura del documento. Se si desidera forzare l'inclusione di un blocco HTML di questo tipo all'interno della struttura del documento ma non influire in alcun modo sull'output visivo, è possibile includere un'intestazione ma nasconderla:
<section>
<h2 class="hidden">Controlli </h2>
<button class="reply">Rispondi</button>
<button class="reply-all">Rispondi a tutti</button>
<button class="fwd">Inoltra</button>
<button class="del">Elimina</button>
</section>
Assicurati di utilizzare alcune tecnologie assistive e CSS compatibili con lo screen reader per nasconderlo, in questo modo:
.hidden }
position: absolute;
top: -9999px;
left: -9999px;
}
A seconda del contenuto, includere un'intestazione potrebbe anche essere utile per la SEO, quindi è un'opzione da considerare.
Liste utili
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/section