Przejdź do głównej treści
  1. Strona główna
  2. Technik informatyk
  3. INF.03
  4. Pytanie

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Tworzenie stron WWW Systemy CMS i narzędzia webowe

W kodzie HTML5 znajduje się fragment, który zawiera błąd walidacji. Jakiego rodzaju jest to błąd?
<h6>tekst</h6>
<p>pierwsza <b>linia</b><br>
<p>Druga linia</p>

W tym zadaniu chodziło o rozpoznanie typowego błędu związanego z poprawnym zamykaniem znaczników HTML, a dokładniej – ze znacznikiem <p>. W przedstawionym kodzie rzeczywiście pierwszy znacznik <p> nie został zamknięty przed pojawieniem się kolejnego bloku <p>, co powoduje naruszenie struktury dokumentu. Według specyfikacji HTML5, element <p> nie powinien być zagnieżdżany ani przerwany przez inny blokowy element (w tym przypadku przez drugi <p>). Przeglądarki zwykle próbują automatycznie domykać taki znacznik, ale nie jest to dobra praktyka – takie poleganie na mechanizmach autokorekty może później prowadzić do trudnych do wykrycia błędów wizualnych albo nieprzewidywalnych efektów w stylach CSS. Z mojego doświadczenia wynika, że konsekwentne zamykanie znaczników nie tylko poprawia czytelność kodu, ale i ułatwia pracę zespołową oraz skalowanie projektu. Przykład: jeśli piszesz większy artykuł i zapomnisz zamknąć <p>, cała dalsza część tekstu może zostać potraktowana jako jeden paragraf. To potrafi solidnie namieszać, nawet w prostych stronach! Branża webowa od lat promuje zasadę – pisz zgodnie ze specyfikacją, a będziesz miał mniej problemów później. Zawsze lepiej przejrzeć strukturę dokumentu dwa razy, niż potem szukać błędów na produkcji. Przy pracy z edytorami kodu warto korzystać z funkcji podświetlania składni lub walidatorów HTML, które od razu wyłapują takie potknięcia.
W pytaniu pojawia się kilka typowych nieporozumień dotyczących składni HTML5, które często się przewijają podczas nauki. Jednym z nich jest przekonanie, że znaczniki HTML powinny być pisane wielkimi literami – to nieprawda. Współczesny HTML, zgodnie ze standardem HTML5, jest case-insensitive, ale powszechną best practice jest używanie małych liter dla lepszej czytelności i zgodności z narzędziami walidującymi. Wielkie litery to już raczej relikt epoki XHTML, a nawet tam nie były konieczne. Kolejna sprawa to rzekomy brak nagłówka szóstego poziomu – <h6> – co nie ma pokrycia w rzeczywistości. <h6> to absolutnie poprawny i często używany element HTML, szczególnie przy rozbudowanej hierarchii nagłówków w dużych dokumentach. Pominięcie lub zakwestionowanie istnienia tego znacznika może świadczyć o powierzchownym zapoznaniu się ze strukturą HTML. Inna wątpliwość dotyczy znacznika <br> i jego zamykania. W HTML5 nie jest wymagane samo-domykanie tego znacznika (czyli <br />), ponieważ parsery przeglądarek rozumieją zarówno wersję z ukośnikiem, jak i bez niego – to różnica względem XHTML, gdzie domknięcie było obowiązkowe. Często spotykam się też z mylnym przeświadczeniem, że pojedyncze <br> bez ukośnika powoduje błąd – to nieprawda. Prawdziwym źródłem problemu w tym kodzie jest nieuwzględnienie zamknięcia pierwszego paragrafu przed rozpoczęciem kolejnego bloku <p>. To właśnie ten aspekt narusza poprawną strukturę dokumentu HTML5 i prowadzi do niezgodności z walidacją. Moim zdaniem, zrozumienie, które elementy muszą być jawnie domykane, a które mogą być samo-domykające się, to klucz do uniknięcia niepotrzebnych błędów i frustracji podczas kodowania stron internetowych.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wyślemy tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.