Bu beni bir süredir rahatsız ediyor ve bunun nasıl düzgün yapılacağına dair herhangi bir fikir birliği olup olmadığını merak ediyorum. Bir HTML listesi kullandığımda, liste için semantik olarak nasıl bir başlık eklerim?
Seçeneklerden biri şudur:
<h3>Fruits I Like:</h3>
<ul>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
ancak anlamsal olarak <h3>
başlık açıkça ilişkili değildir<ul>
Başka bir seçenek de şudur:
<ul>
<li><h3>Fruits I Like:</h3></li>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
ancak başlık liste öğelerinden biri olmadığı için bu biraz kirli görünüyor.
Bu seçeneğe W3C tarafından izin verilmiyor:
<ul>
<h3>Fruits I Like:</h3>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
olarak <ul>
Sadece bir tane ya da daha fazla içerebilirler <li>
s '
Eski "liste başlığı" <lh>
en mantıklı olanıdır
<ul>
<lh>Fruits I Like:</lh>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
ama tabii ki resmi olarak HTML'nin bir parçası değil
<label>
Tıpkı bir form gibi kullanmamızı önerdiğini duydum :
<ul>
<label>Fruits I Like:</label>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
ama bu biraz garip ve yine de geçerli olmayacak.
Liste başlıklarımı biçimlendirmeye çalışırken anlamsal sorunları görmek kolaydır, burada <h3>
etiketlerimi ilk sıraya koymam <li>
ve bunları aşağıdaki gibi şekillendirme için hedeflemem gerekir:
ul li:first-of-type {
list-style: none;
margin-left: -1em;
/*some other header styles*/
}
dehşeti! Ama en azından bu şekilde <ul>
, ul
etiketi şekillendirerek başlığın tamamını , başlığını ve tümünü kontrol edebilirim .
Bunu yapmanın doğru yolu nedir? Herhangi bir fikir?