KWALIFIKACJA INF3 - STYCZEŃ 2022

PYTANIE NR 12.
Wskaż kod HTML5, który zostanie zakwalifikowany przez walidator jako błędny.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź zawiera element <style> wewnątrz <p>. Akapit (<p>) powinien zawierać treści "tekstowe/frasowe", a <style> nie jest takim elementem, więc narusza model treści i walidator zgłosi błąd. Pozostałe przykłady używają dozwolonych atrybutów (class, id, style) przy zachowaniu poprawnej struktury.

Pełne wyjaśnienie:

Pytanie dotyczy tego, co walidator HTML5 uzna za błąd struktury, czyli naruszenie reguł zagnieżdżania elementów (modelu treści). W HTML element <p> (akapit) ma ściśle określone, jakie elementy mogą być jego potomkami: zasadniczo ma przenosić treść tekstową i elementy "frasowe" (używane wewnątrz zdań).

Odpowiedź z fragmentem <p class="stl"><style>...</style>tekst</p> jest błędna, ponieważ wstawia <style> jako dziecko akapitu. Element <style> służy do definiowania reguł CSS i nie jest zwykłą treścią tekstową akapitu. To narusza model treści <p>, więc walidator (w typowej konfiguracji sprawdzania poprawności HTML) wskaże błąd.

Pozostałe trzy odpowiedzi są poprawnymi fragmentami HTML z punktu widzenia walidacji, bo:

  • Wariant z id używa atrybutu globalnego (identyfikator elementu) i nie zmienia struktury zagnieżdżania.
  • Wariant z atrybutem style to tzw. styl inline; jest dozwolony jako atrybut i nie wprowadza niedozwolonych elementów potomnych.
  • Wariant z samym class również używa atrybutu globalnego (klasy CSS) i zachowuje prawidłową, prostą strukturę akapitu.

W praktyce: jeśli chcesz dodać CSS, lepiej umieścić reguły w zewnętrznym pliku .css (zalecane) lub w <style> w miejscu przewidzianym na metadane/styl, zamiast w środku akapitu. Walidator pomaga wykryć takie błędy, nawet jeśli przeglądarka spróbuje je "naprawić" podczas parsowania.

Dodatkowe pytania

Dodatkowe pytania (FAQ):

Walidator sprawdza, czy kod jest zgodny ze specyfikacją HTML: poprawność składni, dozwolone atrybuty oraz reguły zagnieżdżania elementów.

Błąd oznacza naruszenie tych reguł (np. niedozwolony element wewnątrz innego), nawet jeśli przeglądarka spróbuje stronę wyświetlić.

Element <p> jest akapitem i powinien zawierać treści tekstowe oraz elementy "frasowe".

<style> służy do deklarowania CSS i ma inny model treści, więc jako dziecko <p> łamie reguły zagnieżdżania. Walidator zgłosi to jako błąd struktury dokumentu.

Do <p> można dodać atrybuty globalne, np. class i id, bo są przewidziane dla większości elementów HTML.

Często spotyka się też atrybut style (styl inline), choć w praktyce lepiej przenosić reguły do CSS, aby kod był czytelniejszy i łatwiejszy w utrzymaniu.

Nie. Atrybut style dodaje pojedyncze deklaracje CSS bezpośrednio do konkretnego elementu (inline).

Element <style> zawiera blok reguł CSS, które mogą dotyczyć wielu elementów. Różnią się więc zakresem działania i miejscem, w którym powinny się pojawić w dokumencie.

Jeśli walidator wskazuje, że dany element "nie jest dozwolony jako dziecko" innego elementu, to problem dotyczy modelu treści (zagnieżdżania).

Jeśli komunikat mówi o "nieznanym atrybucie" lub "złej wartości atrybutu", to błąd dotyczy atrybutów. W takich zadaniach szukaj niedozwolonych potomków, nie samej obecności class/id.

Najczęściej przy zadaniach z tworzenia stron: poprawne znaczniki, struktura dokumentu, formularze, listy, tabele oraz osadzanie stylów i skryptów.

Walidacja pomaga wychwycić błędy, które nie zawsze są widoczne "na oko", a obniżają jakość rozwiązania i mogą powodować problemy w późniejszej rozbudowie strony.

Częsty błąd to mylenie tego, co przeglądarka "toleruje", z tym, co jest formalnie poprawne w standardzie. Uczniowie też czasem uznają, że każdy element da się wstawić w dowolne miejsce.

Druga pułapka to skupienie się na atrybutach (class/id/style), gdy problemem jest niedozwolony element potomny.

Najlepszą praktyką jest plik zewnętrzny .css podłączony w dokumencie (łatwiejsze cache’owanie i utrzymanie).

Jeśli musisz użyć <style>, rób to w miejscu do tego przeznaczonym przez strukturę dokumentu, a nie wewnątrz elementów takich jak <p>. Unikniesz błędów walidacji i chaosu w kodzie.

Nie. Przeglądarki mają mechanizmy "naprawiania" HTML podczas parsowania i mogą poprawiać błędną strukturę, aby coś wyświetlić.

Walidator ocenia zgodność ze specyfikacją, więc może zgłosić błąd, mimo że strona wygląda poprawnie. Na egzaminie liczy się zgodność i poprawność kodu.

Ćwicz na krótkich fragmentach kodu: zmieniaj zagnieżdżanie i sprawdzaj komunikaty w walidatorze. Zapisuj typowe reguły: co może być dzieckiem czego (np. listy, tabele, formularze, akapity).

Najlepszy efekt daje łączenie teorii (modele treści HTML) z praktyką (walidacja własnych stron).

info

Statystycznie 40% uczniów zna prawidłową odpowiedź. trudne

Eksperci podkreślają: "Poprawna odpowiedź zawiera element &lt;style&gt; wewnątrz &lt;p&gt;."

Źródła:

  • WHATWG HTML Living Standard – The p element (content model i ograniczenia zagnieżdżania), https://html.spec.whatwg.org/multipage/grouping-content.html#the-p-element - accessed 2026-03-01
  • WHATWG HTML Living Standard – The style element (przeznaczenie i model treści), https://html.spec.whatwg.org/multipage/semantics.html#the-style-element - accessed 2026-03-01
  • W3C Nu HTML Checker (Validator) – dokumentacja narzędzia walidującego HTML, https://validator.w3.org/nu/ - accessed 2026-03-01

Materiały:

  • Dokumentacja HTML Living Standard (modele treści elementów)
  • Dokumentacja narzędzia W3C Markup Validation Service / Nu HTML Checker
  • Kursy HTML/CSS z naciskiem na semantykę i walidację

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego