HTML5 ha un nuovo attributo globale hidden, che può essere utilizzato per nascondere il contenuto.
<article hidden>
<h2>Article #1</h2>
<p>Lorem ipsum ...</p>
</article>
CSS ha la display:noneregola, che può essere utilizzata anche per nascondere i contenuti.
article { display:none; }
Visivamente, sono identici. Qual è la differenza semanticamente? Computazionalmente?
Quali linee guida dovrei considerare su quando utilizzare l'una o l'altra?
TIA.
EDIT : sulla base delle risposte di @ newtron (sotto), ho fatto più ricerche. L' hiddenattributo è stato fortemente contestato lo scorso anno e (apparentemente) a malapena è entrato nelle specifiche HTML5. Alcuni hanno sostenuto che fosse ridondante e non avesse alcuno scopo. Da quello che posso dire, la valutazione finale è questa: se mi rivolgo solo ai browser web, non c'è differenza. (Una pagina affermava addirittura che i browser web usassero display:nonel'attributo nascosto.) Ma se sto considerando l'accessibilità (ad esempio, forse mi aspetto che il mio contenuto venga letto da lettori di schermo), allora c'è una differenza. La regola CSS display:nonepotrebbe nascondere i miei contenuti dai browser web, ma una regola aria corrispondente (ad es.aria-hidden="false") potrebbe provare a leggerlo. Quindi, ora sono d'accordo sul fatto che la risposta di @ newtron sia corretta, anche se forse (probabilmente) non è così chiara come vorrei. Grazie @newtron per il tuo aiuto.
hiddenattributo esistesse, ma sicuramente una buona domanda in quanto sembra violare la separazione struttura / presentazione.