Sobes.tech
Junior

Proč nem můžeme používat běžné tagy div místo tagů section a header?

sobes.tech AI

Odpověď od AI

Použití sémantických značek <section> a <header> namísto univerzálního <div> zlepšuje přístupnost a čitelnost kódu.

  1. Přístupnost: Čtečky obrazovky a další asistivní technologie používají sémantické značky k pochopení struktury obsahu. <header> označuje úvodní část (například logo, navigace), <section> je tematický blok. <div> sám o sobě nemá sémantickou zátěž.

  2. SEO (Optimalizace pro vyhledávače): Vyhledávače lépe indexují obsah strukturovaný pomocí sémantických značek, což může zlepšit žebříček.

  3. Čitelnost a údržba kódu: Sémantické značky dokumentují strukturu samy o sobě. Vývojář, který čte kód, ihned pochopí účel bloku, aniž by se zabýval styly nebo komentáři.

Shrnuto: <div> je vhodný pro seskupování prvků, když na sémantiku nezáleží (například pro použití stylů). <section> a <header> nesou významovou zátěž a činí webové stránky srozumitelnější jak pro stroje, tak pro lidi.

Příklad:

<!-- Sémanticky správná struktura -->
<header>
  <h1>Název stránky</h1>
  <nav>
    <ul>
      <li><a href="#">Odkaz</a></li>
    </ul>
  </nav>
</header>

<section>
  <h2>Nadpis sekce</h2>
  <p>Obsah sekce...</p>
</section>

<!-- Příklad použití div, který nepřenáší sémantiku -->
<div> <!-- header? sekce? neznámé -->
  <h1>Název stránky</h1>
  <div> <!-- navigace? -->
    <ul>
      <li><a href="#">Odkaz</a></li>
    </ul>
  </div>
</div>

<div> <!-- sekce? -->
  <h2>Nadpis sekce</h2>
  <p>Obsah sekce...</p>
</div>