W XHTML 1.1 dokument jest traktowany jako aplikacja XML, więc kluczowe jest spełnienie wymagań formalnych pozwalających na walidację względem zdefiniowanej gramatyki dokumentu. Tę gramatykę opisuje DTD (Document Type Definition) – zbiór reguł mówiących, jakie elementy i atrybuty są dozwolone oraz w jakiej strukturze mogą wystąpić.
Dlatego w XHTML 1.1 deklaracja DOCTYPE nie może być "skrótowa". W pokazanym fragmencie użyto deklaracji <!DOCTYPE html>, która jest charakterystyczna dla HTML5. Taki DOCTYPE nie zawiera odniesienia do DTD, a więc nie spełnia wymogu XHTML 1.1 polegającego na wskazaniu identyfikatora publicznego i systemowego (URI do DTD). W konsekwencji walidator nie ma podstaw, by sprawdzać zgodność jako XHTML 1.1 – dokument będzie interpretowany według innych reguł niż XHTML 1.1.
Dlaczego pozostałe odpowiedzi są niepoprawne?
- Stwierdzenie o braku znaczników heading, article, nav, aside, footer nie dotyczy XHTML 1.1. Część z tych elementów to semantyka kojarzona z HTML5, a nie wymóg XHTML 1.1. Ich brak nie jest powodem niezgodności z XHTML 1.1 w tym kodzie.
- Teza, że element blockquote nie może być użyty wewnątrz td, jest błędna. Komórka tabeli zawiera treść przepływową (flow), w której elementy blokowe takie jak cytat blokowy mogą występować, o ile spełniona jest ogólna poprawność składni.
- Brak znacznika meta (np. informacji o kodowaniu) nie jest tutaj główną przyczyną wskazanej niezgodności. W kontekście pytania decydujący jest DOCTYPE bez odwołania do DTD, bo to bezpośrednio łamie wymaganie XHTML 1.1 dotyczące deklaracji typu dokumentu.
Wskazówka egzaminacyjna: jeżeli w pytaniu pojawia się "XHTML 1.1" i w kodzie widzisz <!DOCTYPE html>, to najczęściej jest to sygnał pomylenia HTML5 z XHTML. Wtedy szukaj odpowiedzi związanej z DTD/DOCTYPE, a nie z brakującymi tagami "nowoczesnego HTML".