KWALIFIKACJA INF3 - STYCZEŃ 2017

PYTANIE NR 12.
W kodzie źródłowym zapisanym w języku HTML wskaż błąd walidacji dotyczący tego fragmentu.
Ilustracja przedstawia fragment kodu HTML, który jest tematem pytania egzaminacyjnego związanego z kwalifikacją zawodową
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Błąd walidacji "znacznik zamykający /b niezgodny z zasadą zagnieżdżania" oznacza, że kolejność domykania tagów jest błędna (np. zamyka się </b> po zamknięciu elementu, w którym <b> został otwarty).
W HTML <br> jest elementem pustym, a <h6> jest poprawnym nagłówkiem.

Pełne wyjaśnienie:

Walidator HTML sprawdza nie tylko to, czy tagi "mają parę", ale też czy są poprawnie zagnieżdżone. Zasada zagnieżdżania (stack) wymaga, aby element otwarty jako ostatni był zamknięty jako pierwszy. Jeśli w fragmencie kodu otwarto np. <p>…<b>… a potem zamknięto </p> przed </b>, walidator zgłosi problem typu: "end tag for <b> violates nesting rules" – czyli "znacznik zamykający </b> niezgodny z zasadą zagnieżdżania".

Odpowiedź "Znacznik zamykający /b niezgodny z zasadą zagnieżdżania." pasuje właśnie do takiej sytuacji: tag <b> został otwarty w pewnym kontekście, ale zamknięto go w niewłaściwym miejscu, po domknięciu innego elementu nadrzędnego lub po domknięciu elementu, w którym <b> nie powinien już "żyć". To jest typowy błąd struktury dokumentu, a nie błąd pojedynczego znaku.

Pozostałe odpowiedzi są niepoprawne w typowych warunkach walidacji HTML5:

  • "Znacznik br nie został poprawnie zamknięty." – w HTML5 <br> jest elementem pustym (void), więc nie ma osobnego tagu zamykającego </br>. Zapis <br> jest poprawny; w XHTML spotykało się <br />, ale to inny reżim składni.
  • "Znacznik br nie może występować wewnątrz znacznika p." – element <br> standardowo bywa używany w treści akapitów, więc samo umieszczenie <br> w <p> nie jest z definicji błędem walidacji; błąd musiałby wynikać z innego kontekstu lub niepoprawnej struktury.
  • "Nieznany znacznik h6." – <h6> jest prawidłowym elementem HTML (nagłówki od <h1> do <h6>). Walidator nie powinien uznać go za "nieznany", o ile dokument jest walidowany jako HTML, a nie inny język.

Wskazówka egzaminacyjna: gdy w odpowiedziach pojawia się sformułowanie o zagnieżdżaniu, szukaj w kodzie miejsc, gdzie zamknięto element "za wcześnie" lub "za późno" (kolejność </...> nie odpowiada kolejności <...>).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
To błąd kolejności otwierania i zamykania tagów. Jeśli otworzysz <p>, potem <b>, to musisz zamknąć najpierw </b>, a dopiero potem </p>. Inaczej walidator zgłosi naruszenie reguł zagnieżdżania.
Walidator "śledzi stos" otwartych elementów. Gdy napotka </b>, sprawdza, czy ostatnio otwarty element to <b>. Jeśli wcześniej zamknięto element nadrzędny albo kontekst się zmienił, pojawi się komunikat o naruszeniu zagnieżdżania.
Nie. <br> jest elementem pustym (void), więc nie ma tagu </br>. W HTML5 poprawny jest zapis <br>. Zapis <br /> bywa spotykany, ale pochodzi z praktyk XHTML i nie jest wymagany w HTML.
Bo <br> często kojarzy się z "domknięciami" (np. z XHTML: <br />), a błędy zagnieżdżania są mniej intuicyjne. W zadaniach egzaminacyjnych warto zawsze sprawdzić kolejność </...>, a nie tylko obecność tagów.
Zwykle tak, bo <p> zawiera treść tekstową (phrasing content), a <br> jest elementem do łamania linii w tekście. Błąd walidacji pojawia się dopiero, gdy <p> zawiera elementy niedozwolone albo gdy złamane są reguły struktury dokumentu.
Walidacja to sprawdzenie, czy kod jest zgodny ze specyfikacją HTML: poprawna składnia, struktura i dozwolone elementy. Pomaga uniknąć problemów z renderowaniem, poprawia kompatybilność przeglądarek, ułatwia SEO i zwiększa szanse na poprawną dostępność (a11y).
Tak. Nagłówki w HTML mają poziomy od <h1> do <h6>. <h6> to najniższy poziom nagłówka. Błąd "nieznany znacznik" dotyczyłby raczej literówki (np. <h7>) albo walidacji w innym języku niż HTML.
Sprawdź, czy tagi zamykają się w odwrotnej kolejności do otwierania. Jeśli widzisz układ typu <p> ... <b> ... </p> ... </b>, to prawie na pewno jest to błąd zagnieżdżania, bo </b> powinno pojawić się przed </p>.
Najczęściej używa się W3C Markup Validator (validator.w3.org) lub walidatorów wbudowanych w IDE (np. wtyczki do Visual Studio Code). Kluczowe jest czytanie pełnego komunikatu i wskazanej linii, a potem analiza struktury DOM.
Przeglądarki często "naprawiają" HTML automatycznie, ale mogą zmienić strukturę DOM inaczej, niż zakłada autor. Błędne zagnieżdżanie (</b> w złym miejscu) może spowodować, że formatowanie obejmie zły fragment tekstu lub że elementy zostaną przeniesione w DOM.
info

To pytanie poprawnie rozwiązuje 47% zdających egzamin. trudne

Źródła:

  • WHATWG HTML Living Standard – Void elements (np. &lt;br&gt;) i składnia HTML, https://html.spec.whatwg.org/multipage/syntax.html#void-elements - dostęp 2026-02-27
  • W3C Markup Validation Service – W3C Validator (narzędzie i opis walidacji), https://validator.w3.org/ - dostęp 2026-02-27
  • MDN Web Docs – &lt;br&gt;: The Line Break element, https://developer.mozilla.org/en-US/docs/Web/HTML/Element/br - dostęp 2026-02-27

Materiały:

  • Dokumentacja WHATWG HTML Living Standard (sekcje o elementach i modelach treści)
  • Dokumentacja W3C Markup Validation Service (opis typowych błędów)
  • Ćwiczenia: walidacja własnych stron w validator.w3.org i interpretacja komunikatów

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego