id/class/style/title, data-* atributlari (dataset API) va aria-*/tabindex/hidden — test va debugging mashqlari bilan.
Ba'zi atributlar deyarli har qanday HTML elementiga qo'llanilishi mumkin — bular "global atributlar" deb ataladi.
index.htmlHTML<div id="unique-box" class="card highlighted" style="color: red;" title="Qo'shimcha ma'lumot">Kontent</div>
⚠️ Common Mistake
style atributi orqali inline stil yozish — bu CSS'ning cascade tizimidan foydalanishni qiyinlashtiradi va odatda faqat maxsus, dinamik holatlar uchun (masalan JavaScript orqali) ishlatilishi kerak.
index.htmlHTML<button data-product-id="123" data-action="add-to-cart">Savatga qo'shish</button>
script.jsJavaScriptconst button = document.querySelector("button");console.log(button.dataset.productId); // "123"
index.htmlHTML<div role="alert" aria-live="polite">Xabar yangilandi</div><button tabindex="0">Fokus olishi mumkin</button><div hidden>Bu element ko'rinmaydi</div>
Task: Mahsulot ID'sini data-* atributida saqlovchi tugma yarating va uni JavaScript orqali o'qing.
Task: Custom (semantik bo'lmagan) tugma elementini klaviatura orqali ishlatiladigan qiling (tabindex, role, keyboard event bilan).
index.htmlHTML<div style="color: red; font-size: 20px; font-weight: bold;">Xato xabari</div>
Your Task: Bu inline style yondashuvining qanday kamchiliklari bor?
<details> <summary>Solution</summary> Inline style — CSS faylida qayta ishlatib bo'lmaydi, media query bilan birga ishlamaydi (to'g'ridan-to'g'ri), va odatda eng yuqori specificity'ga ega bo'lgani uchun keyinchalik override qilish qiyinlashadi. Yaxshiroq yechim — class va CSS fayl: ```html <div class="error-message">Xato xabari</div> ``` ```css .error-message { color: red; font-size: 20px; font-weight: bold; } ``` </details>Global atributlar (id, class, style, title) — deyarli har qanday elementga qo'llanadi. data-* — moslashtirilgan ma'lumotni saqlaydi. aria-*, tabindex, hidden — accessibility va interaktivlik uchun muhim.
id — unique, class — qayta ishlatiluvchidata-* — JavaScript bilan ishlash uchun standart, semantik usulstyle — cheklangan holatlarda, ehtiyotkorlik bilan ishlatiladitabindex, aria-* — accessibility uchun muhim, lekin semantik elementlar afzalindex.htmlHTML<div id="unique" class="reusable" data-id="42" title="Tooltip"></div><div hidden></div><div tabindex="0"></div>
Mavzu bo‘yicha tushunchalaringizni interaktiv test orqali sinovdan o‘tkazing va natijalarni bilib oling.
Darslik ichidagi interaktiv muharrirda berilgan barcha amaliy topshiriqlarni bajaring va avto-tekshiruvdan o‘ting.
Test Sinovi
Hali topshirilmagan (kamida 75% kerak)
Amaliy Laboratoriya
Laboratoriya muharririda testlarni topshiring
Dars sifati va mazmunini yaxshilash uchun o‘z haqqoniy bahoingizni qoldiring.
Mavzuni to‘liq o‘zlashtirish uchun test sinovi, amaliy kodlash va bog‘liq darslar
O‘z bilimingizni interaktiv test savollari orqali tekshiring va darhol xatolarni tahlil qiling.
Nazariyani real kod yozish bilan mustahkamlang, avtomatik testlardan o‘ting va XP to‘plang.
Kurs bo‘yicha keyingi va bog‘liq mavzular: