Walidator HTML analizuje strukturę dokumentu i pilnuje, aby elementy były poprawnie zagnieżdżone. Oznacza to, że jeśli otworzysz element wewnątrz innego, to musisz go też zamknąć zanim zamkniesz element zewnętrzny.
Komunikat "End tag p seen, but there were open elements" wskazuje konkretną sytuację: parser zobaczył zamknięcie </p>, ale w tym miejscu "na stosie" nadal znajduje się inny, niezakończony element potomny (np. <b>). To typowy objaw złej kolejności domykania.
Dlatego poprawny jest fragment: <p>Ala ma <b>kota</p></b>. Najpierw otwierasz <p>, potem otwierasz <b>, a następnie błędnie domykasz <p> zanim domkniesz <b>. Prawidłowa kolejność (dla porównania) wyglądałaby jak: <p>Ala ma <b>kota</b></p>.
Pozostałe odpowiedzi nie pasują do tego komunikatu:
- <p>Ala ma kota</p> ma poprawnie otwarty i zamknięty akapit bez dodatkowych, niezakończonych elementów.
- <p>Ala ma kota zawiera brak domknięcia </p>, co może powodować inne komunikaty (często o brakującym znaczniku końcowym lub o tym, że dokument został "naprawiony" przez parser), ale nie jest to klasyczny przykład zamknięcia <p> przy nadal otwartym elemencie potomnym.
- <p>Ala ma <b>kota</b></p> jest poprawnie zagnieżdżone: najpierw zamyka się <b>, dopiero potem <p>.
W praktyce na egzaminie warto zapamiętać zasadę: domykasz w odwrotnej kolejności niż otwierasz (jak nawiasy). Jeśli w środku akapitu otworzysz pogrubienie, to najpierw kończysz pogrubienie, a dopiero potem akapit.