HTML5, hidden
içeriği gizlemek için kullanılabilen yeni bir genel özelliğe sahiptir .
<article hidden>
<h2>Article #1</h2>
<p>Lorem ipsum ...</p>
</article>
CSS, display:none
içeriği gizlemek için de kullanılabilen kurala sahiptir .
article { display:none; }
Görsel olarak aynılar. Anlamsal olarak fark nedir? Hesaplamayla?
Birini veya diğerini ne zaman kullanacağım konusunda hangi kuralları dikkate almalıyım?
TIA.
DÜZENLEME : @ newtron'un yanıtlarına (aşağıda) dayanarak, daha fazla arama yaptım. hidden
Nitelik ateşli geçen yıl çekişmeli ve (görünüşte) zorlukla HTML5 spec içine yapıldı. Bazıları gereksiz olduğunu ve amacı olmadığını savundu. Anlayabildiğim kadarıyla, son değerlendirme şudur: Yalnızca web tarayıcılarını hedefliyorsam, hiçbir fark yoktur. (Hatta bir sayfa, web tarayıcılarının display:none
gizli özniteliği uygulamak için kullanıldığını iddia etti .) Ancak erişilebilirliği düşünüyorsam (örneğin, içeriğimin ekran okuyucular tarafından okunmasını bekliyorum), o zaman bir fark vardır. CSS kuralı display:none
içeriğimi web tarayıcılarından gizleyebilir, ancak karşılık gelen bir arya kuralı (ör.aria-hidden="false"
) okumaya çalışabilir. Bu nedenle, @ newtron'un cevabının doğru olduğuna, belki de (tartışmalı olarak) istediğim kadar net olmadığına şimdi katılıyorum. Yardımınız için teşekkürler @newtron.
hidden
Özelliğin var olduğunu bile bilmiyordum , ancak yapı / sunum ayrımını ihlal ettiği için kesinlikle iyi bir soru.