Znaczniki <header>, <article>, <section>, <footer> są charakterystyczne dla języka
A. HTML 5
B. HTML 4.01 Transitional
C. HTML 4.01 Strict
D. XHTML 1.1
Pytanie z egzaminu CKE, styczeń 2018 (arkusz E.14-X-18.01).
Znaczniki <header>, <article>, <section> i <footer> są elementami semantycznymi wprowadzonymi w HTML 5, więc odpowiedź HTML 5 jest właściwa. Ich zadaniem nie jest tylko zrobienie jakiegoś bloku na stronie, bo do tego wcześniej często używało się po prostu <div>. One opisują znaczenie fragmentów dokumentu. <header> zwykle zawiera nagłówek strony albo sekcji, np. logo, tytuł i menu. <article> nadaje się do samodzielnej treści, takiej jak wpis na blogu, news albo komentarz. <section> grupuje powiązane tematycznie części strony, a <footer> zawiera stopkę, dane kontaktowe, prawa autorskie albo linki pomocnicze. Moim zdaniem to jedna z ważniejszych zmian w HTML5, bo poprawia czytelność kodu dla programisty, wyszukiwarek i technologii wspomagających, np. czytników ekranu. W praktyce dobra strona nie powinna być zbudowana z samych divów, jeśli można użyć bardziej trafnego znacznika semantycznego. To jest też zgodne z dobrymi praktykami nowoczesnego front-endu: struktura dokumentu ma mówić, czym jest dany fragment, a nie tylko jak wygląda.
Jeśli wybrana została odpowiedź związana z XHTML 1.1 albo HTML 4.01, to najpewniej pojawiło się pomieszanie starszych standardów HTML z nowszą semantyką dokumentu. XHTML 1.1 był bardzo rygorystyczną odmianą opartą na składni XML, więc wymagał poprawnego domykania znaczników, małych liter w nazwach elementów i ogólnie bardziej formalnego zapisu. Nie wprowadzał jednak takich elementów jak <header>, <article>, <section> czy <footer>. W tamtych czasach strukturę strony budowało się najczęściej za pomocą <div> oraz identyfikatorów lub klas, na przykład div id=header, div class=content, div id=footer. To działało wizualnie, ale semantycznie było dużo uboższe. HTML 4.01 Strict i HTML 4.01 Transitional również należą do starszej generacji standardów. Wersja Strict ograniczała elementy prezentacyjne i promowała oddzielenie struktury od wyglądu, czyli używanie CSS zamiast znaczników typu font. Transitional była bardziej łagodna, bo dopuszczała starsze, przejściowe rozwiązania przydatne przy migracji dawnych stron. Żadna z nich nie miała jednak natywnych znaczników sekcyjnych znanych z HTML5. Typowy błąd myślowy polega na tym, że ktoś widzi nazwę header albo footer i zakłada, że skoro takie nazwy były używane w klasach CSS od dawna, to musiały być też prawdziwymi znacznikami HTML. A to nie to samo. Dopiero HTML5 uporządkował ten temat i dał oficjalne elementy semantyczne, które są dziś normalnym standardem przy tworzeniu czytelnych i dostępnych stron WWW.