KWALIFIKACJA INF3 - TEST WIEDZY NR 2

PYTANIE NR 22.
Przy walidacji strony według standardu HTML5 natknąłeś się na błąd związany z meta tagiem dla zgodności z Internet Explorer. Jakie rozwiązanie jest zgodne z aktualnymi standardami?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Błąd walidacji wynika z tego, że http-equiv="X-UA-Compatible" nie jest standardową dyrektywą HTML5.
Dlatego, aby uzyskać zgodność ze specyfikacją i "czystą" walidację, należy usunąć ten meta tag i polegać na standardowym renderowaniu w nowoczesnych przeglądarkach.

Pełne wyjaśnienie:

Komunikat walidatora o złej wartości X-UA-Compatible oznacza, że użyto niestandardowej dyrektywy w atrybucie http-equiv elementu <meta>. Ten zapis był historycznie wprowadzony przez Microsoft, aby sterować trybem renderowania w Internet Explorer (np. wymuszać użycie najnowszego silnika).

W walidacji HTML5 liczy się zgodność z tym, co dopuszcza specyfikacja. Skoro X-UA-Compatible nie jest częścią standardu, walidator będzie zgłaszał błąd niezależnie od tego, czy ustawisz content na IE=edge, czy na inną wartość. Z perspektywy współczesnego web developmentu (a dodatkowo po wycofaniu Internet Explorera) najbezpieczniejszym i zgodnym z aktualnymi standardami rozwiązaniem jest usunięcie takiego meta tagu i poleganie na standardowym renderowaniu.

Dlaczego pozostałe propozycje nie rozwiązują problemu:

  • "Dodać DOCTYPE HTML5" to dobra praktyka w ogóle, ale nie usuwa przyczyny błędu: obecności niestandardowego http-equiv. Dokument może mieć poprawny DOCTYPE, a walidator i tak zgłosi X-UA-Compatible.
  • "Zastosować polyfill" dotyczy brakujących funkcji JS/CSS w starszych przeglądarkach. Polyfill nie zmienia faktu, że sam wpis <meta http-equiv="X-UA-Compatible" ...> jest niestandardowy, więc błąd walidacji pozostanie.
  • "Zmienić encoding na UTF-8" odnosi się do kodowania znaków i ewentualnych problemów z polskimi znakami, a nie do listy dozwolonych wartości http-equiv. Nie ma związku z X-UA-Compatible.

W praktyce: jeśli naprawdę musisz wspierać system legacy, możesz świadomie zostawić taki wpis, ale wtedy akceptujesz brak pełnej zgodności walidacji. Na egzaminie, gdy pytanie dotyczy zgodności z HTML5 i standardów, właściwą odpowiedzią jest usunięcie rozwiązania niestandardowego.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
To informacja, że walidator HTML5 nie uznaje wartości X-UA-Compatible w atrybucie http-equiv elementu <meta> za zgodną ze specyfikacją. Jest to dyrektywa historyczna, związana z Internet Explorer, a nie standard HTML5.
Bo problemem nie jest brak wartości content, tylko to, że samo http-equiv="X-UA-Compatible" jest niestandardowe w HTML5. Nawet z poprawnym składniowo content walidator nadal zgłosi, że nazwa dyrektywy nie jest dozwolona.
Najprościej usuń wpis <meta http-equiv="X-UA-Compatible" ...>. To eliminuje źródło komunikatu walidatora i jest zgodne z aktualnymi standardami. W nowoczesnych przeglądarkach ten meta tag i tak nie ma praktycznego znaczenia.
Zwykle nie. Dyrektywa była tworzona pod Internet Explorer, który dziś nie jest wspierany w typowych zastosowaniach. W nowych projektach lepiej trzymać się standardów HTML5, testować w aktualnych przeglądarkach i stosować progressive enhancement zamiast zależności od IE.
Tylko gdy masz realny wymóg utrzymania środowiska legacy opartego o Internet Explorer i akceptujesz, że kod nie będzie w 100% zgodny z HTML5. Wtedy traktujesz komunikat walidatora jako świadomy kompromis, a nie coś do "naprawy" przez dopisywanie wartości.
Walidacja mówi, czy kod jest zgodny ze specyfikacją (np. HTML5). Kompatybilność mówi, czy dana przeglądarka poprawnie interpretuje funkcje. Coś może działać w jednej przeglądarce, a nadal być niezgodne ze standardem. Dlatego zawsze sprawdzaj oba aspekty osobno.
http-equiv służy do przekazywania dyrektyw podobnych do nagłówków HTTP (tzw. pragma). W HTML5 dopuszczalne są tylko określone nazwy dyrektyw zdefiniowane w specyfikacji. Wpisy niestandardowe (jak X-UA-Compatible) mogą generować błędy walidacji.
DOCTYPE wpływa na tryb interpretacji dokumentu (np. tryb standardowy), ale nie zmienia listy dozwolonych wartości http-equiv. Jeśli w kodzie pozostanie <meta http-equiv="X-UA-Compatible">, walidator nadal zgłosi błąd niezależnie od tego, jaki DOCTYPE ustawisz.
Polyfill pomaga dodać brakujące funkcje w starszych przeglądarkach (zwykle przez JavaScript), ale nie "legalizuje" niestandardowych elementów/atrybutów w HTML5. Możesz używać polyfilli i jednocześnie mieć kod w pełni zgodny z walidacją, ale polyfill nie naprawi błędu X-UA-Compatible.
Wybieraj odpowiedzi zgodne ze specyfikacją i dobrymi praktykami: usuwanie przestarzałych rozwiązań, poprawna semantyka HTML5, rozróżnienie "zgodne ze standardem" vs "hack pod konkretną przeglądarkę". Gdy pytanie dotyczy walidacji, priorytetem jest standard, nie legacy.
info

Statystycznie 61% uczniów zna prawidłową odpowiedź. średnie

Źródła:

  • W3C Markup Validation Service – dokumentacja komunikatu/zasady dla http-equiv (informacja, że X-UA-Compatible nie jest zarejestrowaną dyrektywą pragma): https://validator.w3.org/ (sekcja pomocy/komunikatów walidatora) - dostęp 2026-03-01
  • WHATWG HTML Living Standard – element meta i atrybut http-equiv (lista/zasady dla pragma directives): https://html.spec.whatwg.org/multipage/semantics.html#the-meta-element - dostęp 2026-03-01
  • Microsoft Learn – opis nagłówka/meta X-UA-Compatible (kontekst historyczny i działanie w IE): https://learn.microsoft.com/ - wyszukiwanie hasła "X-UA-Compatible" (artykuł dokumentacyjny) - dostęp 2026-03-01

Materiały:

  • Dokumentacja W3C/WHATWG dotycząca elementu &lt;meta&gt; i http-equiv
  • Dokumentacja W3C Markup Validation Service (komunikaty błędów)
  • Materiały o progressive enhancement i wspieraniu starszych przeglądarek

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego