W którym standardzie języka hipertekstowego zostały wprowadzone do składni znaczniki sekcji <footer>, <header>, <nav>?
A. XHTML 2.0
B. XHTML1.0
C. HTML5
D. HTML4
Pytanie z egzaminu CKE, styczeń 2021 (arkusz E.14-SG-21.01).
To zagadnienie dotyczy HTML5, czyli wersji standardu, która mocno uporządkowała semantykę dokumentów WWW. Znaczniki <header>, <footer> i <nav> zostały wprowadzone właśnie po to, żeby nie budować całej strony tylko z ogólnych bloków typu div. W HTML4 często pisało się coś w stylu div id='header' albo div class='menu', ale dla przeglądarki, robota wyszukiwarki czy czytnika ekranowego był to nadal zwykły pojemnik bez konkretnego znaczenia. HTML5 dodał elementy semantyczne, dzięki którym struktura strony jest czytelniejsza: <header> oznacza nagłówek strony lub sekcji, <footer> stopkę z informacjami końcowymi, a <nav> obszar głównej nawigacji. W praktyce poprawia to dostępność, SEO i utrzymanie kodu. Moim zdaniem to jedna z tych zmian w HTML5, które naprawdę pomagają pisać porządniejsze strony, bo kod od razu mówi, co dana część dokumentu robi. Dobra praktyka jest taka, żeby używać tych znaczników zgodnie z przeznaczeniem, a nie tylko dlatego, że ładnie brzmią. Menu główne warto umieścić w <nav>, ale pojedynczego linku w stopce już nie zawsze trzeba tak oznaczać.
W tym pytaniu łatwo pomylić same wersje języka HTML z różnymi sposobami jego zapisu. HTML4 był bardzo ważnym standardem i przez lata stanowił podstawę tworzenia stron, ale nie zawierał jeszcze elementów semantycznych takich jak <header>, <footer> czy <nav>. W tamtym czasie typowym rozwiązaniem było używanie elementów div oraz nadawanie im identyfikatorów albo klas, na przykład div id='footer'. Działało to wizualnie, szczególnie z CSS, ale semantycznie nie mówiło przeglądarce zbyt wiele. XHTML 1.0 też nie jest dobrą odpowiedzią, bo był przede wszystkim bardziej rygorystyczną, XML-ową odmianą HTML4. Wymagał poprawnego zamykania znaczników i większej dyscypliny składniowej, ale nie wprowadzał tych sekcyjnych elementów znanych z HTML5. XHTML 2.0 może brzmieć kusząco, bo ma wyższy numer i wygląda jak następny etap rozwoju, ale ten kierunek nie stał się praktycznym standardem używanym powszechnie w przeglądarkach. Typowy błąd myślowy polega tu na założeniu, że nowsza albo bardziej formalna nazwa automatycznie oznacza wprowadzenie znanych dziś znaczników. W rzeczywistości <header>, <footer> i <nav> kojarzymy ze zmianą filozofii HTML5: mniej anonimowych kontenerów, więcej znaczenia w samej strukturze dokumentu. Z mojego doświadczenia warto to zapamiętać praktycznie: jeśli widzisz semantyczne elementy sekcji strony, bardzo często chodzi właśnie o HTML5 i nowoczesne podejście do budowy dokumentu WWW.