Przejdź do głównej zawartości

Struktura dokumentu HTML5

Praca indywidualna – 4–6 stron A4

📘 Struktura dokumentu HTML5

Opracowanie dotyczy prawidłowej struktury dokumentu HTML5 – fundamentu każdej strony internetowej. HTML5 wprowadził wiele semantycznych elementów (<header>, <nav>, <main>, <article>, <section>, <aside>, <footer>), które nadają znaczenie treści i poprawiają dostępność oraz SEO. Praca powinna wyjaśnić znaczenie DOCTYPE, strukturę elementów <head> i <body>, oraz pokazać praktyczne zastosowanie semantyki HTML5 w budowie nowoczesnej strony.


Poprawna struktura HTML5 jest podstawą web developmentu:

  1. Fundament technologii webowych – HTML to pierwszy język, którego uczy się każdy web developer
  2. Dostępność (a11y) – semantyczne elementy pomagają czytnikom ekranu
  3. SEO – wyszukiwarki lepiej rozumieją strukturę treści
  4. Standardy W3C – poprawny HTML to profesjonalizm
  5. Egzaminy zawodowe – podstawowy temat na INF.03/INF.04

  1. Zrozumieć rolę DOCTYPE i strukturę dokumentu HTML5
  2. Poznać elementy sekcji <head> i ich znaczenie
  3. Opanować semantyczne elementy HTML5 i ich zastosowanie
  4. Rozróżnić elementy blokowe od liniowych
  5. Stworzyć kompletny, walidujący się dokument HTML5

W pracy muszą znaleźć się następujące elementy:

  • DOCTYPE – deklaracja <!DOCTYPE html> i jej znaczenie
  • Element <html> – atrybut lang dla dostępności
  • Element <head> – metadane dokumentu
  • Element <body> – widoczna treść strony
  • <meta charset> – kodowanie znaków (UTF-8)
  • <meta viewport> – responsywność na urządzeniach mobilnych
  • <title> – tytuł strony (wymagany)
  • <meta description> – opis dla wyszukiwarek
  • <link> – arkusze stylów, favicon
  • <header> – nagłówek strony lub sekcji
  • <nav> – nawigacja
  • <main> – główna treść (tylko jeden na stronie)
  • <article> – samodzielna treść
  • <section> – sekcja tematyczna
  • <aside> – treść poboczna
  • <footer> – stopka
<!DOCTYPE html>
<html lang="pl">
<head>
<!-- Kodowanie znaków - ZAWSZE na początku -->
<meta charset="UTF-8">
<!-- Viewport dla responsywności -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Tytuł strony - WYMAGANY -->
<title>Moja strona - Nazwa firmy</title>
<!-- Meta description dla SEO -->
<meta name="description" content="Opis strony dla wyszukiwarek, max 160 znaków.">
<!-- Favicon -->
<link rel="icon" type="image/png" href="/favicon.png">
<!-- Arkusz stylów -->
<link rel="stylesheet" href="styles.css">
</head>
<body>
<header>
<h1>Nazwa strony</h1>
<nav>
<ul>
<li><a href="/">Strona główna</a></li>
<li><a href="/o-nas">O nas</a></li>
<li><a href="/kontakt">Kontakt</a></li>
</ul>
</nav>
</header>
<main>
<article>
<h2>Tytuł artykułu</h2>
<p>Treść główna artykułu...</p>
<section>
<h3>Podsekcja artykułu</h3>
<p>Treść podsekcji...</p>
</section>
</article>
<aside>
<h3>Powiązane tematy</h3>
<ul>
<li><a href="#">Temat 1</a></li>
<li><a href="#">Temat 2</a></li>
</ul>
</aside>
</main>
<footer>
<p>&copy; 2024 Nazwa firmy. Wszelkie prawa zastrzeżone.</p>
</footer>
</body>
</html>

Dla osób chcących pogłębić temat:

  • Microdata i Schema.org – dane strukturalne dla wyszukiwarek
  • Open Graph Protocol – meta tagi dla social media
  • Twitter Cards – specjalne meta tagi dla Twittera
  • Walidacja HTML – W3C Validator
  • Outline algorithm – hierarchia nagłówków
  • Web Components<template>, <slot>

  1. Wstęp – ewolucja HTML do wersji 5
  2. DOCTYPE – historia i znaczenie deklaracji
  3. Sekcja head – metadane i ich rola
  4. Sekcja body – struktura treści
  5. Elementy semantyczne – header, main, footer, nav, article, section, aside
  6. Porównanie – semantyka vs “div soup”
  7. Walidacja – narzędzia do sprawdzania poprawności
  8. Wnioski – dobre praktyki

Autor pracy powinien potrafić odpowiedzieć na pytania:

  1. Czym różni się <!DOCTYPE html> w HTML5 od doctype w starszych wersjach?
  2. Dlaczego atrybut lang w elemencie <html> jest ważny?
  3. Po co potrzebny jest meta tag viewport?
  4. Czym różni się <article> od <section>?
  5. Ile elementów <main> może być na stronie?
  6. Dlaczego warto używać semantycznych elementów zamiast <div>?
  7. Co oznacza “div soup” i dlaczego jest to antywzorzec?
  8. Jak hierarchia nagłówków (h1-h6) wpływa na dostępność?