Pytanie sprawdza, czy rozumiesz, że walidacja HTML obejmuje nie tylko składnię (np. domknięcie znaczników), ale też model treści, czyli to, jakie elementy mogą być zagnieżdżone w innych.
Odpowiedź zawierająca fragment z <style> wewnątrz <p> jest błędna, ponieważ element <p> (akapit) ma model treści ograniczony do treści frazowej (tekst, elementy typu <span>, <em> itp.). Element <style> jest elementem metadanych i służy do definiowania reguł stylów, a nie do bycia częścią treści akapitu. W praktyce przeglądarka może "poradzić sobie" z takim kodem, ale walidator ma obowiązek wskazać niepoprawne zagnieżdżenie.
Pozostałe przykłady są poprawne z punktu widzenia HTML:
- Wariant z class oraz id mieści się w typowym użyciu: atrybuty identyfikują element do stylowania lub skryptów.
- Wariant z atrybutem style (styl inline) jest formalnie dopuszczalny: reguła CSS jest przypisana bezpośrednio do elementu.
- Wariant z samym class również jest poprawny: klasa może być potem użyta w arkuszu stylów.
Typowy błąd na egzaminie polega na myśleniu: "skoro <style> dotyczy wyglądu tekstu w <p>, to mogę go tam wstawić". Walidator rozdziela jednak warstwę treści od metadanych i wymusza poprawną strukturę dokumentu.
Wskazówka praktyczna: jeśli potrzebujesz stylów, umieszczaj je w sekcji <head> albo w zewnętrznym pliku CSS, a w treści używaj klas/identyfikatorów do powiązania elementów z regułami.