Co to jest `main` w HTML?

Znacznik <main> w HTML to semantyczny element, który służy do oznaczania głównej, unikatowej treści danej strony internetowej. Jego prawidłowe użycie poprawia zarówno strukturę dokumentu, jak i dostępność dla użytkowników oraz wyszukiwarek internetowych.

Co to jest <main>?

  • Definicja<main> reprezentuje główną sekcję zawartości dokumentu <body>, która jest bezpośrednio związana z głównym tematem strony lub jej zasadniczą funkcjonalnością;
  • Do <main> zaleca się umieszczać zawartość unikatową dla danego dokumentu – czyli taką, której nie znajdziemy na innych podstronach tej samej witryny. Powtarzalne elementy jak nawigacja, stopka, logo czy formularz wyszukiwania nie powinny się w tym elemencie znajdować.

Kluczowe zasady użycia <main>

  • Maksymalnie jeden main na dokument – W każdym dokumencie HTML może wystąpić tylko jeden element <main>;
  • Nie w sekcjach pomocniczych – Nie wolno umieszczać <main> jako potomka elementów takich jak <header>, <footer>, <nav>, <aside> czy <article>;
  • Atrybuty globalne<main> obsługuje standardowe atrybuty globalne HTML, takie jak id, class, style.

Struktura a dostępność

Dodanie <main> do kodu strony znacznie ułatwia korzystanie z niej osobom korzystającym z technologii asystujących, np. czytników ekranu. Pozwala łatwo przeskoczyć do głównej treści, omijając menu i inne powtarzalne sekcje. To również podstawa lepszej semantyki HTML, co doceniają wyszukiwarki.

Przykłady zastosowań

Najprostszym i najczęściej spotykanym użyciem <main> jest objęcie tym tagiem głównej treści strony:

<body>
  <header>
    <h1>Moja strona</h1>
    <nav>...</nav>
  </header>
  <main>
    <h2>Witamy na głównej stronie!</h2>
    <p>To jest zasadnicza treść tej podstrony.</p>
    <article>
      <h3>Najnowsze artykuły</h3>
      <p>Opis artykułu.</p>
    </article>
    <section>
      <h3>O nas</h3>
      <p>Informacje o firmie.</p>
    </section>
  </main>
  <footer>
    <p>Prawa autorskie &copy; 2025</p>
  </footer>
</body>

Przykład – niepoprawne użycie:

<article>
  <main> <!-- To jest błąd: nie można osadzać <main> w <article> -->
    <h2>Artykuł</h2>
    <p>Treść artykułu.</p>
  </main>
</article>

W powyższym przykładzie <main> znajduje się wewnątrz <article>, co jest niezgodne ze specyfikacją.

Kiedy nie używać <main>

  • W powtarzalnych sekcjach (paski boczne – <aside>, nawigacja – <nav>, nagłówek – <header>, stopka – <footer>),
  • Na stronach, które nie posiadają wyraźnie wyróżnionej sekcji z główną treścią,
  • Jako rodzica dla treści stanowiących jedynie dodatek lub pomocniczą informację wobec głównego tematu strony.

Typowe błędy

  • Użycie wielu tagów <main> w jednym dokumencie.
  • Umieszczanie <main> wewnątrz sekcji pomocniczych lub artykułów.
  • Objęcie <main> elementów stałych strony, jak menu, logo, stopka.

Podsumowanie korzyści

  • Lepsza semantyka – Jasno określona główna treść strony;
  • Poprawiona dostępność – Ułatwienia dla użytkowników korzystających z czytników ekranu;
  • Wsparcie dla SEO – Silniejszy sygnał dla wyszukiwarek co jest kluczową treścią strony.

Stosowanie tagu <main> to jeden z najważniejszych fundamentów współczesnego, semantycznego HTML. Dzięki niemu strony są bardziej uporządkowane, przystępne i nowoczesne.

Programista i twórca serwisu Creative Coding, absolwent Politechniki Warszawskiej (WEiTI). Od 10+ lat łączy front‑end, grafikę generatywną i narzędzia dla twórców; opublikował 120+ projektów i artykułów, prowadził warsztaty dla 2 000+ uczestników. Pracuje z JavaScriptem, Three.js, P5.js i GLSL, bada wydajność i dokumentuje procesy, tworząc praktyczne przewodniki dla osób łączących kod z obrazem, dźwiękiem i interakcją.
Zostaw komentarz

Komentarze

Brak komentarzy. Dlaczego nie rozpoczniesz dyskusji?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *