HTML'da jadval va ro'yxatlarni qanday to'g'ri belgilash kerak?
JuniorHTML #html #tables #lists
Savol
Jadvalning to'g'ri semantik belgilanishi (thead, tbody, scopega ega th) qanday ko'rinadi va uchta ro'yxat turi — <ul>, <ol> va <dl> — bir-biridan nimasi bilan farq qiladi?
Qisqa javob
Jadval shapkani (<thead>) va tanani (<tbody>) ajratishi kerak, sarlavha katakchalari esa ular nimaga tegishli ekanligini (ustunga yoki qatorga) ko'rsatuvchi scope atributiga ega <th> tegi bo'lishi kerak — bu skrinriderlar uchun juda muhim. Ro'yxatlardan: <ul> — markerli (tartib muhim emas), <ol> — raqamlangan (tartib muhim), <dl> — ta'riflar ro'yxati (<dt>/<dd> orqali termin/tavsif juftliklari).
Batafsil javob
Jadvallar:
<table>— konteyner.<caption>(birinchi bola element) — jadvalning izohi/nomi, u ham vizual, ham accessibility uchun foydali.<thead>— ustun sarlavhalarining qatori (qatorlari).<tbody>— asosiy ma'lumotlar; mantiqiy guruhlash uchun bir nechta<tbody>bo'lishi mumkin.<tfoot>— yakuniy qator (summalar, jami natijalar).- Sarlavha katakchalari uchun
<td>o'rniga<th>— bu shunchaki qalin matn emas, semantik marker: skrinrider ma'lumot katakchalari bo'ylab harakatlanayotganda mos sarlavhani e'lon qiladi. scope="col"—<th>butun ustunning sarlavhasi;scope="row"— butun qatorning sarlavhasi.scopebo'lmasa, skrinrider murakkab jadvallarda ma'lumot katakchasini kerakli sarlavha bilan bir ma'noda bog'lay olmaydi.- Birlashtirilgan katakchalari bo'lgan murakkab jadvallar uchun aniq bog'lash uchun
scopeo'rnigaid/headersishlatiladi.
Ro'yxatlar:
<ul>(unordered list) — markerli ro'yxat, elementlar tartibi ma'no tashimaganda (xususiyatlar, teglar, menyu havolalari ro'yxati).<ol>(ordered list) — raqamlangan ro'yxat, tartib muhim bo'lganda (yo'riqnoma qadamlari, reyting).startvareversedatributlarini qo'llab-quvvatlaydi.<dl>(description list) — "termin — tavsif" juftliklari ro'yxati:<dt>(term) va<dd>(description). Glossariylar, FAQ, metama'lumotlar (masalan, mahsulot xususiyatlari) uchun mos.- Ro'yxatlarni ko'p darajali tuzilma (masalan, navigatsiya daraxti) uchun bir-birining ichiga joylashtirish mumkin (
<li>ichida<ul>). <ul>/<ol>ning yagona to'g'ri bevosita bolalari —<li>;<ul>ichida bevosita matn noto'g'ri.
Misol
<table>
<caption>Tarif narxlari</caption>
<thead>
<tr>
<th scope="col">Tarif</th>
<th scope="col">Narx</th>
<th scope="col">So'rovlar limiti</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Basic</th>
<td>0 $</td>
<td>1 000</td>
</tr>
<tr>
<th scope="row">Pro</th>
<td>19 $</td>
<td>50 000</td>
</tr>
</tbody>
</table>
<!-- markerli ro'yxat -->
<ul>
<li>Tez boshlash</li>
<li>TypeScript qo'llab-quvvatlash</li>
</ul>
<!-- raqamlangan ro'yxat -->
<ol>
<li>Bog'liqliklarni o'rnating</li>
<li>Konfigni sozlang</li>
<li>Dev-serverni ishga tushiring</li>
</ol>
<!-- ta'riflar ro'yxati -->
<dl>
<dt>SSR</dt>
<dd>Sahifani mijozga yuborishdan oldin serverda rendering qilish.</dd>
<dt>SSG</dt>
<dd>Build vaqtida statik sahifalarni generatsiya qilish.</dd>
</dl>
Qo'shimcha savollar
- Murakkab jadvallar uchun
scopebilanid/headersbog'lanishi o'rtasida qanday farq bor? <li>ichida ikkita<span>ga ega oddiy<ul>o'rniga qachon<dl>ishlatgan ma'qul?- Jadvallar semantikani yo'qotmasdan mobil ekranlarga qanday moslashtiriladi?