jakubszpil

Wprowadzenie do Semantycznego HTML

>>Spis treści

  1. Czym jest semantyczny HTML?
  2. Zalety używania semantycznego HTML
  3. Semantyczne elementy HTML
  4. Ograniczenia i wyzwania
  5. Podsumowanie
  6. Zadania do wykonania

>>Czym jest semantyczny HTML?

Semantyczny HTML oznacza stosowanie takich elementów HTML, które jednoznacznie wskazują na swoje przeznaczenie i znaczenie w kontekście strony. Elementy semantyczne nie służą jedynie do budowania struktury dokumentu – ułatwiają one także przeglądarkom, wyszukiwarkom internetowym oraz technologiom wspomagającym (np. czytnikom ekranowym) prawidłową interpretację treści. Dzięki temu strony są bardziej dostępne, lepiej pozycjonowane i czytelniejsze zarówno dla ludzi, jak i maszyn.

>>Zalety używania semantycznego HTML

  1. Lepsza czytelność kodu: Kod oparty na semantycznych elementach jest bardziej zrozumiały i klarowny zarówno dla programistów, jak i dla narzędzi przetwarzających strony internetowe.
  2. SEO: Wyszukiwarki skuteczniej rozpoznają strukturę i znaczenie treści, co może poprawić pozycję strony w wynikach wyszukiwania.
  3. Dostępność: Semantyczny HTML sprawia, że technologie wspomagające (np. czytniki ekranowe) mogą lepiej przekazywać treść osobom z niepełnosprawnościami.
  4. Łatwiejsza konserwacja: Strony zbudowane w oparciu o semantyczny HTML są bardziej uporządkowane i łatwiejsze w utrzymaniu oraz rozbudowie.

>>Semantyczne elementy HTML

>>><!DOCTYPE html>

Deklaracja typu dokumentu HTML5. Informuje przeglądarkę o używanej wersji HTML – od tego rozpoczyna się każdy nowoczesny dokument HTML.

<!DOCTYPE html>
<html lang="pl">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Semantyczny HTML</title>
  </head>
  <body>
    <!-- Zawartość strony -->
  </body>
</html>

Sekcja nagłówkowa strony lub danej sekcji. Zawiera zwykle tytuł, logo, wprowadzenie lub podstawową nawigację.

<header>
  <h1>Tytuł strony</h1>
  <nav>
    <ul>
      <li><a href="#home">Home</a></li>
      <li><a href="#about">About</a></li>
      <li><a href="#contact">Contact</a></li>
    </ul>
  </nav>
</header>

Stosuj <header> na początku strony lub jako nagłówek sekcji.

Wyodrębniony blok nawigacyjny. Zawiera zestaw linków prowadzących do różnych części serwisu lub do innych stron.

<nav>
  <ul>
    <li><a href="#home">Home</a></li>
    <li><a href="#about">About</a></li>
    <li><a href="#contact">Contact</a></li>
  </ul>
</nav>

Element <nav> powinien obejmować tylko główną nawigację witryny.

>>><main>

Główna, unikatowa treść dokumentu. Może zawierać artykuły, sekcje, multimedia i inne elementy powiązane z tematem strony.

<main>
  <article>
    <h2>Artykuł</h2>
    <p>Treść artykułu...</p>
  </article>
</main>

Tylko jeden element <main> na stronę!

>>><article>

Samodzielna jednostka treści, która ma sens także poza kontekstem strony (np. artykuł, wpis na blogu, post na forum).

<article>
  <h2>Artykuł</h2>
  <p>Treść artykułu...</p>
</article>

Możesz mieć wiele <article> na jednej stronie.

>>><section>

Logiczna sekcja dokumentu grupująca powiązane tematycznie treści, np. rozdziały, bloki tematyczne.

<section>
  <h2>Sekcja</h2>
  <p>Treść sekcji...</p>
</section>

Używaj <section> do organizowania treści w logiczne grupy.

>>><aside>

Blok z treściami pobocznymi lub dodatkowymi – np. panele boczne, cytaty, reklamy, linki powiązane.

<aside>
  <h2>Sidebar</h2>
  <p>Informacje poboczne...</p>
</aside>

Elementy <aside> powinny zawierać treści niezwiązane bezpośrednio z główną osią tematyczną.

Stopka strony lub sekcji. Zawiera informacje o autorze, prawa autorskie, dane kontaktowe, odnośniki do polityk i inne podobne treści.

<footer>
  <p>&copy; 2023 Moja Strona. Wszelkie prawa zastrzeżone.</p>
</footer>

Możesz mieć <footer> zarówno dla całej strony, jak i dla poszczególnych sekcji czy artykułów.

>>><figure> i <figcaption>

Blok do zamieszczania ilustracji, zdjęć, diagramów, wykresów wraz z podpisem.

<figure>
  <img src="obrazek.jpg" alt="Opis obrazka" />
  <figcaption>Opis obrazka</figcaption>
</figure>

Element <figcaption> zawsze powinien być związany z <figure>.

>>><time>

Element reprezentujący określony moment w czasie lub zakres dat.

<time datetime="2023-06-29">29 czerwca 2023</time>

Używaj atrybutu datetime dla maszynowej czytelności.

>>><mark>

Służy do wyróżnienia fragmentu tekstu, na który należy zwrócić szczególną uwagę.

<p>To jest <mark>ważne</mark> słowo.</p>

Pomaga w podkreśleniu słów kluczowych lub wyników wyszukiwania.

>>><address>

Reprezentuje dane kontaktowe autora strony, firmy lub działu.

<address>
  <p>Jan Kowalski</p>
  <p>ul. Przykładowa 1</p>
  <p>00-000 Warszawa</p>
</address>

Nie używaj do oznaczania lokalizacji geograficznych lub kontaktowych innych niż autor/organizacja strony.

>>Ograniczenia i wyzwania

>>Podsumowanie

Semantyczny HTML to fundament nowoczesnych stron. Umożliwia lepszą strukturę, czytelność kodu, wyższą dostępność oraz skuteczniejsze pozycjonowanie w wyszukiwarkach. Stosowanie odpowiednich elementów semantycznych pozwala tworzyć strony bardziej zrozumiałe zarówno dla użytkowników, jak i maszyn. To inwestycja w przyszłość i jakość Twoich projektów internetowych.

>>Zadania do wykonania

>>>Zadanie 1

Stwórz prostą stronę HTML, w której znajdą się:

Pokaż rozwiązanie
<!DOCTYPE html>
<html lang="pl">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Zadanie 1</title>
  </head>
  <body>
    <header>
      <h1>Moja Strona</h1>
    </header>
    <nav>
      <ul>
        <li><a href="#home">Home</a></li>
        <li><a href="#about">About</a></li>
        <li><a href="#contact">Contact</a></li>
      </ul>
    </nav>
    <main>
      <p>Główna treść strony...</p>
    </main>
    <footer>
      <p>&copy; 2023 Moja Strona. Wszelkie prawa zastrzeżone.</p>
    </footer>
  </body>
</html>

>>>Zadanie 2

Rozbuduj stronę z Zadania 1 o:

Pokaż rozwiązanie
<!DOCTYPE html>
<html lang="pl">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Zadanie 2</title>
  </head>
  <body>
    <header>
      <h1>Moja Strona</h1>
    </header>
    <nav>
      <ul>
        <li><a href="#home">Home</a></li>
        <li><a href="#about">About</a></li>
        <li><a href="#contact">Contact</a></li>
      </ul>
    </nav>
    <main>
      <section>
        <article>
          <h2>Artykuł</h2>
          <p>Treść artykułu...</p>
        </article>
        <aside>
          <h2>Blok poboczny</h2>
          <p>Informacje poboczne...</p>
        </aside>
      </section>
    </main>
    <footer>
      <p>&copy; 2023 Moja Strona. Wszelkie prawa zastrzeżone.</p>
    </footer>
  </body>
</html>

>>>Zadanie 3

Dodaj do swojej strony ilustrację z podpisem, korzystając z elementów <figure> i <figcaption>, umieszczając je wewnątrz sekcji.

Pokaż rozwiązanie
<!DOCTYPE html>
<html lang="pl">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Zadanie 3</title>
  </head>
  <body>
    <header>
      <h1>Moja Strona</h1>
    </header>
    <nav>
      <ul>
        <li><a href="#home">Home</a></li>
        <li><a href="#about">About</a></li>
        <li><a href="#contact">Contact</a></li>
      </ul>
    </nav>
    <main>
      <section>
        <article>
          <h2>Artykuł</h2>
          <p>Treść artykułu...</p>
        </article>
        <aside>
          <h2>Blok poboczny</h2>
          <p>Informacje poboczne...</p>
        </aside>
        <figure>
          <img src="obrazek.jpg" alt="Opis obrazka" />
          <figcaption>Opis obrazka</figcaption>
        </figure>
      </section>
    </main>
    <footer>
      <p>&copy; 2023 Moja Strona. Wszelkie prawa zastrzeżone.</p>
    </footer>
  </body>
</html>

To wszystko w temacie semantycznego HTML! Zachęcam do eksperymentowania, praktycznego stosowania elementów semantycznych oraz dalszego pogłębiania wiedzy na ten temat.

Quiz: Semantyczny HTML

Pytanie 1 z 5

Który element HTML najlepiej nadaje się do oznaczenia głównej treści strony?

Widzisz jakiś błąd, bądź literówkę? Chcesz coś poprawić?✏️ Przejdź do edycji tego pliku