Przejdź do treści
Logowanie / Zarejestruj się
Złóż wniosek teraz
Zdaj-informatyka.pl
  • Kursy zawodowe
    • Kurs zawodowy z kwalifikacji INF.02
    • Kurs zawodowy z kwalifikacji INF.03
  • Konto użytkownika
  • Regulamin serwisu
  • Polityka prywatności
Zdaj-informatyka.pl
  • Kursy zawodowe
    • Kurs zawodowy z kwalifikacji INF.02
    • Kurs zawodowy z kwalifikacji INF.03
  • Konto użytkownika
  • Regulamin serwisu
  • Polityka prywatności

Kurs zawodowy z kwalifikacji INF.03

Program kursu

  • 7 Rodziałów
  • 70 Lekcji
  • 100 Dni
Pokaż rozdziałyZwiń rozdziały
  • HTML
    Język opisowy, w którym przy pomocy znaczników (tagów) określamy co zawiera strona - tekst, hiperłącza, obrazki, pola edycyjne, przyciski, tabele, listy numerowane, pojemniki na zawartość, nagłówki itd. Oprócz zawartości strony, w HTML określamy także istotne parametry witryny – tytuł i opis w rezultatach wyszukiwania Google, język i zestaw znaków właściwy dla danego kraju. Podpinamy także skrypty i arkusze stylów.
    10
    • 1.1
      Fundamentalne znaczniki w dokumencie HTML
    • 1.2
      Poprawne wypisywanie tekstów
    • 1.3
      Obrazy w HTML
    • 1.4
      Co trzeba wiedzieć o hiperłączach?
    • 1.5
      Nagłówki h1 do h6
    • 1.6
      Tworzenie tabel
    • 1.7
      Listy punktowane i numerowane oraz lista definicji
    • 1.8
      Struktura witryny – dostępne rodzaje bloków, semantyka
    • 1.9
      Układanie bloków – float:left, display:inline-block, display:flex
    • 1.10
      Formularz oraz kontrolki formularza
  • CSS
    Kaskadowe arkusze stylów (ang. Cascading Style Sheets). Style na stronie internetowej służą do opisania wyglądu elementów witryny, zdefiniowanych uprzednio w HTML (np. jakie mają kolory, rozmiary, marginesy, a nawet jak są względem siebie rozmieszczone). Kaskada to rodzaj wodospadu mającego budowę schodkową - jest to wyraźna aluzja do hierarchicznego mechanizmu dziedziczenia właściwości w CSS, który trzeba dobrze zrozumieć. Które mechaniki i właściwości CSS warto znać, aby poradzić sobie na egzaminie zawodowym?
    14
    • 2.1
      Selektory, atrybuty, wartości oraz identyfikatory kontra klasy
    • 2.2
      Jak podpiąć CSS do HTML? Na czym polega kaskadowość stylów
    • 2.3
      Zapisy kolorów w CSS
    • 2.4
      Formatowanie tekstów i czcionek
    • 2.5
      Wyśrodkowanie elementu
    • 2.6
      Margin i padding, modeł pudełkowy
    • 2.7
      Stylizowanie linków
    • 2.8
      Obramowanie (border)
    • 2.9
      Określanie wyglądu tabel
    • 2.10
      Stylizowanie list punktowanych i numerowanych
    • 2.11
      Stylizowanie kontrolek formularzy
    • 2.12
      Pozycja elementu: static, absolute, relative, fixed
    • 2.13
      Jednostki możliwe do użycia w CSS
    • 2.14
      Cheat sheet – lista właściwości CSS
  • JavaScript
    Pełnoprawny, skryptowy język programowania, w którym możemy zastosować pełny repertuar klasycznych konstrukcji językowych (instrukcje warunkowe, pętle, zmienne, tablice, instrukcje wyboru, własne funkcje, klasy itd.). W kontekście egzaminu zawodowego JS używamy najczęściej do obługi zdarzeń, przetwarzania liczb bądź napisów albo do zmiany stylów elementów witryny.
    14
    • 3.1
      Jak podpiąć skrypt JS do pliku HTML?
    • 3.2
      Tworzenie własnych funkcji, zdarzenia
    • 3.3
      Rodzaje uchwytów elementów DOM
    • 3.4
      Wypisywanie: innerHTML, innerText, outerHTML, outerText
    • 3.5
      Atrybut onclick vs. addEventListener
    • 3.6
      Instrukcje warunkowe w JS
    • 3.7
      Pętle w JS
    • 3.8
      Tablice (kolekcje) w JS
    • 3.9
      Skrypty dokonujące obliczeń, parsowanie liczb
    • 3.10
      Skrypty przetwarzające napisy
    • 3.11
      Zmiana stylów elementów strony w skryptach
    • 3.12
      Obiekty i funkcje wbudowane JS, które warto znać
    • 3.13
      Obsługa ciasteczek w JS
    • 3.14
      Skuteczne wyszukiwanie błędów, devtools
  • SQL
    Bazy danych stanowią ważny element wielu witryn internetowych, przechowując niezbędne do jej działania dane (np. konta użytkowników, w tym loginy i hasła albo listy produktów i zamówień w sklepie internetowym). MySQL to tzw. system zarządzania bazą danych DBMS (ang. Database Management System). Natomiast SQL (ang. Structured Query Language) to język, który służy do pisania zapytań do tej bazy (zapytania najczęściej umieszczamy wewnątrz skryptów PHP).
    10
    • 4.1
      Pliki SQL z bazami danych do pracy w tym kursie
    • 4.2
      Najważniejsze pojęcia bazodanowe
    • 4.3
      Zapytania wyszukujące SELECT
    • 4.4
      Wstawianie rekordów – INSERT
    • 4.5
      Aktualizowanie danych – UPDATE
    • 4.6
      Usuwanie informacji – DELETE, DROP, TRUNCATE
    • 4.7
      Struktura bazy danych – CREATE, ALTER
    • 4.8
      Uprawnienia – GRANT, REVOKE
    • 4.9
      Złączenia w bazie danych – JOIN
    • 4.10
      Grupowanie danych – GROUP BY
  • PHP
    Języki back-endowe, takie jak PHP, zajmują się mechaniką działania serwisów internetowych. PHP obsłuży na serwerze np. zachowanie algorytmu logowania, koszyk w sklepie internetowym, rejestrację użytkownika w grze przeglądarkowej. W kontekście egzaminu zawodowego najczęściej użyjemy go do współpracy z bazą danych i do przetwarzania formularzy.
    15
    • 5.1
      Podstawowy skrypt – zmienne, operatory, wypisywanie
    • 5.2
      Instrukcje warunkowe w PHP
    • 5.3
      Pętle w PHP
    • 5.4
      Tablice w PHP
    • 5.5
      Obsługa formularzy – metody POST i GET
    • 5.6
      Nawiązanie i zamykanie połączenia PHP z bazą danych
    • 5.7
      Obsługa MySQL w PHP – biblioteka mysqli i PDO
    • 5.8
      Fetchowanie danych z użyciem mysqli
    • 5.9
      Formatowanie kodu HTML wypisanego przez PHP
    • 5.10
      Funkcje wbudowane oraz zapis do pliku w PHP
    • 5.11
      Odczytywanie wartości z kontrolek formularzy
    • 5.12
      Data i czas w PHP
    • 5.13
      Ciasteczka w PHP
    • 5.14
      Mechanizm sesji
    • 5.15
      Fetchowanie danych z bazy w PDO
  • Multimedia
    5
    • 6.1
      Rodzaje grafiki komputerowej
    • 6.2
      Multimedia – audio i video
    • 6.3
      Formaty plików graficznych – JPG, PNG, GIF, WEBP, SVG, AVIF
    • 6.4
      Animacje na potrzeby stron internetowych
    • 6.5
      Najważniejsze działania na obrazach w programie graficznym
  • Na zakończenie
    2
    • 7.1
      Systemy zarządzania treścią (CMS)
    • 7.2
      Skuteczne przygotowania do egzaminu

Struktura witryny – dostępne rodzaje bloków, semantyka

W poprzednich lekcjach z działu HTML nauczyliśmy się tworzyć przeróżne, fundamentalne elementy HTML: nagłówki, akapity, obrazy, cytaty, tabele, listy, formularze… Lecz jak połączyć to wszystko w spójną, zrozumiałą strukturę? W tym właśnie celu powstały znaczniki strukturalne – zarówno klasyczne jak <div> i <span> oraz nowsze, wprowadzone w standardzie HTML 5 tzw. tagi semantyczne: <main>, <header>, <nav>, <article>, <section>, <aside> oraz <footer>. Semantyka to inaczej nauka o znaczeniu, która zajmuje się badaniem relacji między znakami i rzeczywistością. W HTML 5 ten termin oznacza znaczniki, które niosą znaczenie (czyli np. mówią: “to jest nagłówek”, “to jest menu nawigacyjne”, “to jest stopka”).

W starszych wersjach HTML wszystkie pojemniki realizowaliśmy przy pomocy wszechobecnego div. A zatem przeglądarka nie miała możliwości wiedzieć, który div to nagłówek, który to artykuł, gdzie jest treść poboczna, a który pojemnik to stopka? Całość była jak jeden wielki karton przeprowadzkowy, do którego wrzucono wiele przeróżnych obiektów! Natomiast obecnie, możemy już tworzyć opisane “etykietami” pudełka, dzięki którym “odpakowanie” zawartości (czyli w praktyce zrozumienie struktury witryny) okaże się łatwiejsze dla przeglądarek, robotów indeksujących i czytników ekranowych.

Co daje nam semantyka?

  • Większa czytelność kodu – dla nas, dla innych programistów, czytników ekranowych oraz… dla egzaminatora CKE 🙂 Widzimy od razu jakie jest przeznaczenie danego pojemnika strukturalnego (czy to jest menu nawigacyjne, treść poboczna z reklamą, a może stopka?).
  • Lepsze pozycjonowanie (SEO) – roboty Google lepiej rozumieją strukturę strony, co ma pozytywny wpływ na pozycję strony w rezultatach wyszukiwania (zwłaszcza w porównaniu do opublikowania tej samej witryny, lecz wykonanej bez semantyki). Zyskujemy naprawdę dużo w kontekście SEO – warto więc zadbać o semantykę!
  • Dobra dostępność, w tym współpraca z czytnikami ekranów – osoby słabowidzące, korzystające z technologii asystujących otrzymują jasny komunikat: “to jest artykuł“, “to jest nawigacja“, “to jest treść główna podstrony“.
  • Lepsze debugowanie i stylizowanie w CSS – możemy łatwiej tworzyć selektory w arkuszach stylów – na przykład: section h2 {...} albo footer p {...}.

Przykład kodu bez semantyki (słaba implementacja):

<div id="naglowek">Logo i menu</div>
<div id="srodek">Tutaj tekst artykułu</div>
<div id="bok">Reklamy i linki</div>
<div id="stopka">Kontakt i copyright</div>

To samo, lecz z semantyką (dobre podejście):

<header>Logo i menu</header>
<main>
    <article>Tutaj tekst artykułu</article>
    <aside>Reklamy i linki</aside>
</main>
<footer>Kontakt i copyright</footer>

Semantyka to nie fanaberia – to wymóg! Na egzaminie zawodowym INF.03 bardzo często w poleceniu znajdziemy fragment w stylu: “Użyj znaczników semantycznych”, “Stwórz menu główne z użyciem tagów HTML 5” albo moje ulubione (i w sumie dziwnie powiedziane!): “Zbuduj strukturę z użyciem znaczników sekcji”. Tak naprawdę chodzi tutaj o znaczniki semantyczne – do dziś nie wiem czemu CKE używa frazy “znaczników sekcji”. Natomiast – co najważniejsze! – jeśli zignorujemy te wymagania i zamiast semantyki zastosujemy same <div>, to na pewno stracimy punkty! – mimo, iż wizualnie strona może wyglądać poprawnie.

Podsumujmy zatem:

  • Semantyka to nadanie treści odpowiedniego znaczenia, a nie tylko wyglądu w przeglądarce.
  • Znaczniki takie jak <main>, <article>, <section>, <header>, <nav>, <aside> oraz <footer> pomagają nam tworzyć logiczne i zrozumiałe strony.
  • Stosując semantyczny HTML pomagamy sobie, przeglądarce, wyszukiwarce i użytkownikom – lepiej dbamy o dostępność strony.
  • Na egzaminie INF.03 semantyka to nie opcja – to obowiązek!

A zatem pora najwyższa na opisanie wszystkich znaczników, które spotykamy w strukturze HTML – zróbmy solidną powtórkę! Jeżeli semantyka jest dla Ciebie totalnie nowym albo zwyczajnie trudniejszym tematem, to gorąco polecam także obejrzeć tutorial video: Nowe znaczniki semantyczne w HTML5 – tam zobaczymy zrealizowanie konkretnego projektu witryny od zera, wraz z poprawną semantyką. A my przejdźmy już do przeglądu tagów!

Znacznik <div>

To najbardziej klasyczny znacznik do grupowania elementów. Używamy go, gdy chcemy zebrać kilka innych znaczników w jeden kontener – np. wszystkie pola formularza, całą kolumnę na stronie, albo grupę artykułów. Znacznik <div> nie niesie sam z siebie żadnej semantyki – nie mówi nic o tym, co zawiera – to tylko “przezroczyste pudełko” do rozmieszczania innych elementów:

<div class="logowanie">
    <label> Login: <input type="text" id="login"> </label>
    <label> Hasło: <input type="password" id="pasdd"> </label>
</div>

Tag <div> definiuje tzw. element blokowy (ang. block-level element), czyli taki, który:

  • Rozciąga się na całą szerokość dostępnego miejsca, czyli całego rodzica – np. <body>.
  • Zaczyna się w nowej linii i kończy się w nowej linii – czyli nie może “stać obok” innego bloku – układają się one same z siebie jeden pod drugim.
  • W praktyce <div> działa trochę jak niewidzialne pudełko, które grupuje inne elementy – teksty, formularze, obrazy, przyciski – i porządkuje ich układ wizualnie na stronie. Jednak w żaden sposób nie informuje przeglądarki, czytnika ekranowego czy robota indeksującego co oznacza zawartość w jego środku.

Znacznik <span>

To odpowiednik div, ale nie jest elementem blokowym tylko liniowym (ang. inline). Czyli jest to kontener, który służy do zaznaczenia (objęcia) elementu w jednej linii, np. jednego wyrazu, obrazu, liczby, ikony etc. W odróżnieniu od elementu blokowego, element liniowy:

  • Nie rozciąga się na całą szerokość, tylko obejmuje dokładnie to, co ma w środku (jest “opakowaniem” dla treści – ang. wrapper).
  • Nie wprowadza przerwy ani skoku w układzie strony – elementy liniowe nie układają się blokowo (jeden pod drugim) tylko klasycznie obok siebie (jak tekst).

Przykład zastosowania do szybkiego ostylowania treści:

<p>Promocja: <span style="color: green; font-weight: bold;">-50%</span> tylko dziś!</p>

Natomiast podobnie jak <div>, tak samo znacznik <span> nie niesie żadnego znaczenia semantycznego – nie mówi przeglądarce ani algorytmom indeksującym, że coś jest tytułem, cytatem, nazwiskiem, itp. To po prostu neutralny pojemnik, no tyle że w odróżnieniu od bloków zachowuje się inline.

W praktyce, na egzaminie INF.03 pamiętajmy:

  • Tag <span> często posłuży do stylizowania fragmentów tekstu w linii,
  • Wstawienie spana nie zmieni układu strony (nie robi “entera”, czyli nie zachowa się blokowo),
  • Jest często używany w formularzach, np. przy walidacji danych w skryptach (dodanie kolorowego komunikatu),
  • Nie jest semantyczny – więc lepiej używać go tylko tam, gdzie chcemy coś pokolorować lub zmienić styl lokalnie.

Znacznik <main>

Znacznik <main> informuje przeglądarkę, czytnik ekranowy oraz robota indeksującego iż to, co znajduje się w jego wnętrzu, stanowi najważniejszy obszar dokumentu HTML – czyli tę część, która jest unikalna dla danej podstrony i której nie powtarzamy np. w nagłówku czy stopce (w których często znajdują się informacje nawigacyjne albo kontaktowe). Tag <main> powinien więc opakowywać “mięso” zawartości – ten content, po który faktycznie wchodzimy w dany serwis – tę realną treść, którą spodziewamy się ujrzeć po kliknięciu na witrynę w rezultatach wyszukiwania Google.

Ważne informacje praktyczne na temat używania tagu <main>:

  • Powinien występować tylko raz na stronie (podobnie jak to było z nagłówkiem <h1>),
  • Nie umieszczajmy w nim nawigacji, logo serwisu, informacji kontaktowych – to ma być unikalna zawartość podstrony, a nie informacje poboczne!
  • Zazwyczaj znajduje się pod nagłówkiem i przed stopką – to “środek” witryny.
  • Często stosowaną kombinacją bywa <main> i od razu w środku niego <article> – w końcu często to artykuł stanowi główną treść podstrony.

Zobaczmy przykładowe umiejscowienie tego tagu – jeden raz, pod częścią nagłówkową, a ponad stopką:

<body>

    <header> ... Logo, nawigacja ... </header>
    
    <main>
            
        <article>
                
            <header> ... Nagłówek artykułu ... </header>
            
            <p> ... Unikalna treść artykułu ... </p>

            <footer> ... Stopka wpisu i np. sekcja komentarzy ... </footer> 
                
        </article>
        
    </main>
    
    <footer> ... Informacje kontaktowe ... </footer>

</body>

Reasumując: <main> to główna treść strony – coś, co jest unikalne i najważniejsze. Używamy go tylko raz na stronie! Nie powinien zawierać rzeczy pobocznych i występujących na każdej podstronie (menu, informacje kontaktowe ze stopki etc.). Znakomicie współgra z innymi znacznikami semantycznymi, zwłaszcza z <article>. Na egzaminie INF.03 jego użycie to dobra praktyka i często obowiązek!

Znacznik <header>

To nagłówek danej sekcji podstrony albo też całej witryny. Co ważne – możemy go stosować wielokrotnie – zarówno w głównym layoucie, jak i np. w artykułach, sekcjach, a nawet w aside’ach (kontenerach z treścią poboczną, w tej lekcji także je wkrótce omówimy). Nagłówek często może zawierać:

  • nagłówki albo krótki opis wstępny (ang. lead) artykułu,

  • logo, menu nawigacyjne główne lub poboczne – w dodatkowym tagu <nav>

Zobaczmy umiejscowienie przykładowych nagłówków:

<body>

    <header> ... Logo, menu główne w <nav> ... </header>
    
    <main>
            
        <article>
                
            <header> 

                 ... Tytuł <h1>, autor, data publikacji oraz lead artykułu  ... 

            </header>
            
            <p> ... Unikalna treść artykułu ... </p>

            <footer> ... Stopka wpisu i np. sekcja komentarzy ... </footer> 
        </article>
        
    </main>
    
    <footer> ... Informacje kontaktowe ... </footer>

</body>

Pierwszy nagłówek <header> jako znajdujący się wewnątrz  <body> zostanie zinterpretowany jako część nagłówkowa dla całej strony, zaś drugi  <header> – znajdujący się w <article> zawierać będzie metadane – tytuł, data publikacji, autor tekstu, akapit wstępny (lead) artykułu – pełni rolę nagłówka lokalnego, wprowadzającego do konkretnego wpisu.

Czego raczej nie umieszczać w <header> ? Zaleca się nie umieszczać w nim stopki, reklam ani pobocznych treści. W końcu nagłówek powinien zawierać elementy wprowadzające do treści, nie treść właściwą czy końcową (podsumowującą).

Znacznik <nav>

Używamy go do otoczenia całego bloku linków prowadzących do innych sekcji strony lub zupełnie innych podstron – jest to więc kontener przeznaczony na menu nawigacyjne. Obecność tego tagu ułatwia organizację nawigacji i pozwala przeglądarce zrozumieć, że w tym kontenerze chodzi o wypisanie opcji “podlinkowanych”:

<nav>
    <ul>
        <li><a href="index.html">Start</a></li>
        <li><a href="blog.html">Blog</a></li>
    </ul>
</nav>

Znacznik ten nie zmienia wyglądu strony (nie dodaje stylu), ale ma ogromne znaczenie semantyczne. Dzięki niemu przeglądarka, roboty indeksujące oraz czytniki ekranów wiedzą, że dany fragment strony to menu – miejsce do zmapowania możliwości “poruszania się” po witrynie. Oczywiście znacznik <ul> oznacza listę nieuporządkowaną, a <li> – poszczególne elementy (itemy) tej listy – a są nimi linki <a>. Współcześnie menu realizujemy zawsze jako listy!

Czy <nav> musi być tylko jeden na podstronę? Absolutnie nie! Możemy wstawić kilka znaczników <nav> na stronie. Na przykład jeden globalny (na górze), a drugi lokalny – np. wewnątrz artykułu lub w bocznej kolumnie, zawierający odnośniki tylko do podsekcji danego artykułu lub kategorii tematycznej.

Gdzie można umieścić <nav>? Podajmy kilka przykładów:

  • Bezpośrednio w <body> – jeśli chcemy stworzyć samodzielne menu w postaci np. belki nawigacyjnej.
  • Wewnątrz <header> – jako część nagłówkowa – zależnie od tego, gdzie znajduje się nagłówek – np. nagłówek artykułu.
  • Wewnątrz <aside> – jako lokalna nawigacja np. po działach bloga albo wewnątrz jednej z kategorii tematycznych.

W praktyce wszystko zależy od naszych intencji, natomiast przestrzegajmy dwóch prostych zasad: opcje nawigacyjne zawsze zamykajmy w <nav>, a ponadto realizujmy poszczególne linki jako itemy listy nieuporządkowanej (w razie potrzeby stylizując ją odpowiednio, usuwając punktor i układając elementy obok siebie – w linii).

Znacznik <article>

Ten znacznik służy w HTML 5 do oznaczania samodzielnych, niezależnych bloków treści, które mogą funkcjonować autonomicznie – czyli zarówno w kontekście naszej strony, ale i poza nią (po udostępnieniu, skopiowaniu czy konwersji do PDF). Jak to rozumieć w praktyce? Jeśli stworzymy wpis na blogu, artykuł w serwisie informacyjnym, komentarz użytkownika, recenzję produktu, wiadomość czy post – to każda taka jednostka treści powinna zostać opakowana właśnie w znacznik <article>, bo jest autonomiczną “jednostką” treści.

Blok <article> zawiera zwykle metadane: własny nagłówek, datę publikacji, autora treści, a często też przyciski udostępniania w social-mediach oraz stopkę z komentarzami. Rozważmy strukturę przykładowego bloga:

<main>		
    <article>
        <header>
            <h1> ... Tytuł wpisu ... </h1>
            <p> ... Metadane - data, autor, kategoria wpisu ... </p>
        </header>
                            
        <section> ... Kilka sekcji artykułu ... </section>
        <section> ... Kilka sekcji artykułu ... </section>
        
        <section>
            <header>
                <h2> ... Sekcja komentarzy ... </h2>
            </header>
    
            <article>
                <header>
                    ... Metadane komentarza - kto i kiedy go zapostował ...
                </header>
                <p> ... Treść komentarza ... </p>          
            </article>
            <article> ... Kolejny komentarz ... </article>
        </section>
    </article>
</main>

Znacznik  <article> umieszczony bezpośrednio w <main>  posłużył do oznaczenia treści dużego artykułu, zbudowanego z kilku sekcji (rozdziałów). A ponadto, także każdy komentarz użytkownika jest samodzielną “jednostką” zawartości i jako autonomiczna treść (bo inny jest autor, data, kontekst, styl wypowiedzi) także każdy komentarz to <article> (lokalnie w sekcji komentarzy naszego “dużego” wpisu).

Zapamiętajmy, iż <article> jest zatem – można powiedzieć: semantycznym odpowiednikiem znacznika <main> – niesie konkretne znaczenie! Przeglądarka, czytnik ekranu czy robot indeksujący Google, wiedzą, że zawartość znacznika <article> to treść, która może być niezależna, autonomiczna i zrozumiała sama w sobie – stanowi pewną całość (“jednostkę”) treści.

Znacznik <section>

Służy do oznaczania logicznie wydzielonych sekcji treści w dokumencie. Jest to więc coś w rodzaju rozdziału w książce czy fragmentu artykułu w gazecie. Jest to wydzielona część mająca swoją tematykę – często zawierać będzie własny nagłówek, a czasem także dodatkowe podsekcje lub wprowadzenie (ang. lead).

Używajmy <section> wszędzie tam, gdy chcemy uporządkować zawartość w spójne, sensowne “bloki tematyczne”. Co ważne – taki znacznik również niesie znaczenie semantyczne: przeglądarka, czytniki ekranów i roboty indeksujące Google wiedzą, że dana sekcja strony to rozdział/blok/segment mający konkretny temat lub spełniający zadaną funkcję. Zobaczmy przykład:

<article>
    <header>
        <h1>Misja firmy WebTech</h1>
        <p> ... </p>
    </header>

    <section>
        <h2>Zespół programistów</h2>
        <p> ... </p>
    </section>

    <section>
        <h2>Technologie</h2>
        <p> ... </p>
    </section>

    <section>
        <h2>Nasze realizacje</h2>
        <p> ... </p>
    </section>

    <footer>
        <h2>Kontakt z nami</h2>
        <p> ... </p>
    </footer>
</article>

Tag <article> otacza cały autonomiczny tekst o firmie – to ewidentnie “samodzielna jednostka treści” podzielona na rozdziały. Każda sekcja odpowiada za inny aspekt informacji (misja, zespół, technologie, porfolio…). Dzięki takiej strukturze, kod jest czytelny, semantyczny i egzaminacyjnie poprawny!

Częste pytanie jakie pojawia nam się teraz w głowach to: Jak zatem odróżnić treść w  <section> od zawartości <article>? Odpowiedź jest prosta – artykuł to coś, co może funkcjonować samodzielnie poza stroną – np. wpis blogowy, recenzja produktu czy wiadomość. Sekcja natomiast to zawsze część większej całości, czyli np. działy strony głównej albo artykułu.

Na egzaminie INF.03 użycie znacznika  <section> może być wymagane, jeśli w treści arkusza pojawi się sformułowanie “wydziel sekcję strony“, “stwórz fragment zawierający…” lub “użyj znaczników sekcji“.

Znacznik <aside>

To po prostu wszelka zawartość poboczna – elementy w <aside> to często reklamy, źródła w postaci dodatkowych cytatów czy linków, przypisy albo ciekawostki tematyczne. Najczęściej <aside> jest bocznym panelem (szpaltą, kolumną, blokiem), ale jeśli treści wewnątrz dotyczą stricte artykułu (przypisy, cytaty, linki źródłowe) to <aside> może być umieszczony nawet wewnątrz  <article> – wszystko zależy od naszych intencji.

Rozważmy konkretny przykład – podstrona zawiera artykuł o języku JavaScript i tag <article> zawiera główną treść. Natomiast w <aside> znalazła się treść dodatkowa: link do tutoriala video, cytat z oficjalnej dokumentacji oraz reklamę książki o JS:

<article>

    <header>
        <h1> ... Tytuł lekcji na temat JavaScript ... </h1>
    </header>
    
    <section>... Sekcja artykułu ...</section>
    <section>... Sekcja artykułu ...</section>
    <section>... Sekcja artykułu ...</section>

    <aside>
    
        <h2>... Dodatkowe materiały ... </h2>
        
        <a href="#"> ... Tutorial video ... </a>
        
        <blockquote>
            ... Dodatkowe cytaty z dokumentacji ...
        </blockquote>
        
        <a href="#">
            <img src="#" alt=""> 
            ... Baner z reklamą książki o JS ... 
        </a>
        
    </aside>
    
    <footer> ... Stopka artykułu... </footer>
    
</article>

Przeglądarka i czytniki ekranów rozpoznają <aside> jako mniej istotną część strony, co pomaga w nawigacji i tworzeniu dostępnych treści oraz ma ogromne znaczenie w kontekście SEO.

Znacznik <footer>

To stopka całej strony albo tylko np. sekcji – zwykle zawiera informacje kontaktowe, linki do regulaminu, dane firmy etc. Tak samo jak <header>, może występować wielokrotnie – np. na końcu artykułu, sekcji komentarzy wpisu albo też całej strony:

<footer>
    <p>2025 © Wszelkie prawa zastrzeżone. Zdaj informatyka - kursy online z kwalifikacji INF.02 i INF.03 ...</p>
</footer>

Podsumowanie – co warto zapamiętać?

  • Znaczniki semantyczne w HTML5 informują o znaczeniu zawartości bloku – przeglądarka oraz czytniki ekranowe wiedzą, co zawiera dana część strony (np. nagłówek, artykuł, stopka) – jest to taka logiczna “etykieta” kontenera.
  • Stosowanie <div> (zachowanie blokowe) oraz <span> (element inline) nie przekazuje informacji o strukturze dokumentu – to tylko przezroczyste kontenery bez semantyki.
  • W HTML5 mamy do dyspozycji znaczniki semantyczne: <main>, <header>, <nav>, <section>, <article>, <aside> oraz <footer>.
  • Użycie semantycznych znaczników poprawia:
    • czytelność kodu dla programistów (i egzaminatora…),
    • dostępność dla osób z niepełnosprawnościami,
    • współpracę z robotami indeksującymi Google (lepsze SEO),
    • łatwość debugowania i tworzenia reguł CSS.
  • <main> zawiera główną treść strony i występuje tylko raz.
  • <header> definiuje nagłówek strony lub sekcji – może zawierać np. tytuł, autora, menu.
  • <nav> służy do umieszczania menu nawigacyjnego – z reguły jako lista linków.
  • <article> otacza autonomiczną jednostkę treści – np. wpis blogowy, komentarz, recenzję.
  • <section> służy do podziału artykułu lub strony na logiczne sekcje tematyczne.
  • <aside> zawiera treści poboczne – np. reklamy, przypisy, cytaty, linki powiązane.
  • <footer> to stopka – zawiera informacje kontaktowe, autorów, prawa autorskie, linki.
  • Semantyka w HTML 5 to obowiązkowy element profesjonalnego kodowania! Uczmy się jej od początku i stosujmy z pietyzmem w każdym nowym projekcie!

W zadaniach egzaminacyjnych INF.03 bardzo często mamy za zadanie utworzyć stronę z wyraźnie określoną semantycznie strukturą. Jeśli zamiast znaczników semantycznych użyjemy divów i spanów, to mimo że strona będzie działać i nawet dobrze wyglądać wizualnie, to nie spełni wymagań zadania i stracimy sporo punktów!

Listy punktowane i numerowane oraz lista definicji
Poprzednie
Układanie bloków – float:left, display:inline-block, display:flex
Dalej

Mirosław Zelent i Damian Stelmach – zmieniamy naukę informatyki na bardziej przystępną. Wierzymy w nauczanie, które rozpala pasję, a nie takie, które wynika z przymusu. Naszym celem jest osiągać wielokrotnie zadziwiający stopień przyswajalności materiału. Taki, który pozwoli każdemu, kto tylko zechce popracować, stawać się o mały krok lepszym w tym co robi. Temat po temacie, film po filmie, wykład po wykładzie.

Motto: Nie porównuj siebie do innych – jedyną osobą od której powinieneś być lepszy jesteś ty sam z dnia wczorajszego

  • Logowanie / Zarejestruj się
  • Regulamin serwisu
  • Polityka prywatności
  • Nasz kanał YouTube
  • Egzamin-informatyk.pl
  • Egzamin-programista.pl
  • Pasja-informatyki.pl
  • Blog informatyczny
  • Fanpage na Facebooku
  • Forum dyskusyjne
  • Nasz podcast
  • Profil Patronite
2025 © Wszelkie prawa zastrzeżone. Zdaj informatyka - kursy online z kwalifikacji INF.02 i INF.03, które pomogą Ci zdać egzaminy w technikum, przygotowane przez Damiana Stelmacha i Mirosława Zelenta - nauczycieli znanych z kanału Pasja informatyki w YouTube.
Dbamy o Twoją prywatność

Korzystamy z plików cookies lub podobnych technologii umożliwiających poprawne działanie strony oraz w celu dostosowania oferty do Twoich potrzeb. Dowiedz się w polityce prywatności jak serwis i nasi partnerzy zbierają oraz wykorzystują dane. Możesz zaakceptować wykorzystanie przez nas plików i przejść do serwisu lub dostosować ich użycie wedle własnych preferencji.

Funkcjonalne Zawsze aktywne
Przechowywanie lub dostęp do danych technicznych jest ściśle konieczny do uzasadnionego celu umożliwienia korzystania z konkretnej usługi wyraźnie żądanej przez subskrybenta lub użytkownika, lub wyłącznie w celu przeprowadzenia transmisji komunikatu przez sieć łączności elektronicznej.
Preferencje
Przechowywanie lub dostęp techniczny jest niezbędny do uzasadnionego celu przechowywania preferencji, o które nie prosi subskrybent lub użytkownik.
Statystyka
Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do celów statystycznych. Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do anonimowych celów statystycznych. Bez wezwania do sądu, dobrowolnego podporządkowania się dostawcy usług internetowych lub dodatkowych zapisów od strony trzeciej, informacje przechowywane lub pobierane wyłącznie w tym celu zwykle nie mogą być wykorzystywane do identyfikacji użytkownika.
Marketing
Przechowywanie lub dostęp techniczny jest wymagany do tworzenia profili użytkowników w celu wysyłania reklam lub śledzenia użytkownika na stronie internetowej lub na kilku stronach internetowych w podobnych celach marketingowych.
Zarządzaj opcjami Zarządzaj serwisami Zarządzaj {vendor_count} dostawcami Przeczytaj więcej o tych celach
Dostosuj
{title} {title} {title}
Zdaj-informatyka.pl
Zalogować sięZapisać się

Zalogować się

Nie masz konta? Zapisać się
Nie pamiętasz hasła?

Zapisać się

Masz już konto? Zalogować się