HTML5 memiliki atribut global baru hidden, yang dapat digunakan untuk menyembunyikan konten.
<article hidden>
<h2>Article #1</h2>
<p>Lorem ipsum ...</p>
</article>
CSS memiliki display:noneaturan, yang juga dapat digunakan untuk menyembunyikan konten.
article { display:none; }
Secara visual, keduanya identik. Apa perbedaannya secara semantik? Secara komputasi?
Pedoman apa yang harus saya pertimbangkan tentang kapan harus menggunakan salah satunya?
TIA.
EDIT : Berdasarkan tanggapan @ newtron (di bawah), saya melakukan lebih banyak pencarian. The hiddenatribut itu diperebutkan tahun lalu dan (ternyata) hampir tidak berhasil masuk ke HTML5 spec. Beberapa berpendapat itu mubazir dan tidak memiliki tujuan. Dari apa yang saya tahu, evaluasi terakhirnya adalah: Jika saya hanya menargetkan browser web, tidak ada perbedaan. (Satu halaman bahkan menegaskan bahwa browser web digunakan display:noneuntuk mengimplementasikan atribut tersembunyi.) Tetapi jika saya mempertimbangkan aksesibilitas (misalnya, mungkin saya mengharapkan konten saya dibaca oleh pembaca layar), maka ada perbedaan. Aturan CSS display:nonemungkin menyembunyikan konten saya dari browser web, tetapi aturan aria yang sesuai (mis.,aria-hidden="false") mungkin mencoba membacanya. Jadi, saya sekarang setuju bahwa jawaban @ newtron benar, meskipun mungkin (bisa dibilang) tidak sejelas yang saya suka. Terima kasih @newtron atas bantuan Anda.
hiddenatribut itu ada, tetapi tentu saja pertanyaan yang bagus karena tampaknya melanggar pemisahan struktur / presentasi.