Pixel Pete saysTrue XHTML is served as application/xhtml+xml — and that triggers strict XML parsing.
Here's the twist most people miss: an XHTML page served as text/html is parsed as HTML (lenient). Only application/xhtml+xml triggers the strict XML parser. So "XHTML" pages on the early web were usually just HTML in disguise — they never got the strictness they claimed, because changing the MIME type would have broken them.
Power-ups you unlock
MIME type decides the parser, not the doctype
text/html → lenient HTML parsing
application/xhtml+xml → strict XML parsing
Most "XHTML" pages were served as text/html
Quirks Mode attacks — common mistakes
Believing the doctype alone enforces strictness
Serving real XHTML as text/html and expecting XML mode
Switching MIME type without fixing all errors first
Boss battleExplain why an XHTML page served as text/html never got strict parsing.
Example code
<!doctype html><html><head><meta charset="utf-8"></head>
<body style="background:#06040d;color:#e6e0ff;font-family:monospace;padding:20px"><pre>served as text/html → parsed as HTML (lenient)
served as application/xhtml+xml → strict XML (one error fails)</pre></body></html>