Anders, september 2018.

Anders är en webbutvecklare och hårdrockare som gillar brädspel, kaffe och öl.

Detta är ett arkiverat inlägg, som importerats hit för referens. Det kan se konstigt ut och innehålla utdaterad information eller inaktuella åsikter.

Riktig XHTML

I förra veckan gjorde jag något som jag skjutit på mycket länge; jag lade till en kodsnutt som ser till att serva madr webbapps webbsidor som application/xhtml+xml istället för text/html. Det är inget som (tyvärr) hör till vanligheten idag bland utvecklare, men likväl är det påbjudet om man likt mig använder XHTML som Doctype.

Riktig XHTML godtas av alla webbläsare utom ni-vet-vilken och Safari (v2). För att dessa inte skall flippa ur kan något liknande

  1. if (strpos($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml')) {
  2. header('Content-type: application/xhtml+xml; charset=utf-8');
  3. } else {
  4. header('Content-type: text/html; charset=utf-8');
  5. }

appliceras för att skapa bakåtkompabilitet.

Det skulle dock dröja ytterligare en vecka innan jag dessutom degraderade mig till 1.0 Strict istället för 1.1. Detta på grund av ett sidospår i en felsökning på PHPportalen. Som jag blev påmind om får inte XHTML 1.1 köras som annat än application/xhtml+xml, och erbjuder verkligen inga fördelar alls förutom Ruby - som jag personligen inte kikat så mycket på ännu och därför inte behöver.

Jag började validera i XHTML 1.1 ifjol, på tiden jag inte visste bättre och bara såg det högre versionsnumret. Att jag inte degraderade mig tidigare beror enbart på lathet. Men som de säger, bättre sent än aldrig.

Då alla webbläsare inte stödjer riktig XHTML kommer jag köra på 1.0 strict i fortsättningen. Det borde även alla andra, som likt mig validerar i XHTML 1.1 och inte kör det korrekt.

Jag har dessvärre inga hänvisningar för vidare läsning om detta, men Google är allas vän.