สิ่งนี้รบกวนฉันมาระยะหนึ่งแล้วและฉันสงสัยว่ามีความเห็นตรงกันว่าจะทำอย่างไรให้เหมาะสม เมื่อฉันใช้รายการ HTML ฉันจะรวมส่วนหัวของรายการตามความหมายได้อย่างไร
ทางเลือกหนึ่งคือ:
<h3>Fruits I Like:</h3>
<ul>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
แต่ในทางความหมายส่วน<h3>
หัวจะไม่เกี่ยวข้องกับไฟล์<ul>
อีกทางเลือกหนึ่งคือ:
<ul>
<li><h3>Fruits I Like:</h3></li>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
แต่ดูเหมือนจะสกปรกเล็กน้อยเนื่องจากส่วนหัวไม่ใช่หนึ่งในรายการจริงๆ
W3C ไม่อนุญาตตัวเลือกนี้:
<ul>
<h3>Fruits I Like:</h3>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
เป็น<ul>
แค่สามารถมีหนึ่งหรือมากกว่า<li>
's
"ส่วนหัวรายการ" แบบเก่า<lh>
เหมาะสมที่สุด
<ul>
<lh>Fruits I Like:</lh>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
แต่แน่นอนว่ามันไม่ได้เป็นส่วนหนึ่งของ HTML อย่างเป็นทางการ
ฉันได้ยินมาว่าแนะนำให้เราใช้<label>
แบบฟอร์ม:
<ul>
<label>Fruits I Like:</label>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
แต่นี่เป็นเรื่องแปลกเล็กน้อยและจะไม่สามารถตรวจสอบได้
เป็นเรื่องง่ายที่จะเห็นปัญหาเกี่ยวกับความหมายเมื่อพยายามจัดรูปแบบส่วนหัวรายการของฉันซึ่งสุดท้ายแล้วฉันต้องใส่<h3>
แท็กของฉันไว้ในส่วนแรก<li>
และกำหนดเป้าหมายเพื่อจัดรูปแบบด้วยสิ่งต่างๆเช่น:
ul li:first-of-type {
list-style: none;
margin-left: -1em;
/*some other header styles*/
}
น่ากลัว! แต่อย่างน้อยวิธีนี้ฉันสามารถควบคุมทั้ง<ul>
ส่วนหัวและทั้งหมดได้ด้วยการจัดรูปแบบul
แท็ก
วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร? ความคิดใด ๆ ?