Riktlinje nr 81 Prio 2

Utveckla webbplatsen enligt en standard, snarare än för en webbläsare

Följ en webbstandard när ni utvecklar er webbplats, så kan ni vara mer säkra på att koden kommer att fungera även i kommande webbläsare. Samtidigt underlättar ni för dem som använder webbplatsen med andra verktyg än de vanligaste.


Rekommendationer för att välja standardLänk hit

  • Använd HTML version 4.01 eller HTML5. HTML version 5 är den mest moderna versionen, men stöds ännu inte fullt ut i alla verktyg. Version 4.01 är sedan länge en stabil rekommendation.
  • Använd XHTML endast om det finns särskilda skäl till detta. Se blogginlägget HTML eller XHTML?

Att välja en standard är viktigare än vilken standard ni väljerLänk hit

Oftast är det mindre viktigt vilken standard ni väljer. Det viktiga är att ni väljer en standard att följa, eftersom ni då enkelt kan kontrollera att era sidmallar följer kraven.

Ofta påverkar publiceringsverktyget vilka standarder man kan välja mellan. Utvärdera därför vilka möjligheter som finns att följa olika standarder när ni ska välja publiceringsverktyg.

HTML5 är en ny standard

HTML5 blev, efter flera års arbete, en ”W3C Recommendation” i oktober 2014. Det innebär att specifikationen är en färdig webbstandard. Standarden stöds redan till största del av de senaste webbläsarna, och skall även kunna fungera med äldre versioner till viss del.

HTML 4.01 finns i två varianter

Det flesta webbläsare kan tolka HTML 4.01 på det sätt som standarden avser.

Strict eller transitional?
HTML 4.01 finns i två undervarianter, ”strict” och ”transitional”:

  • ”Strict” innebär att man inte får använda några av de presentationselement som tidigare gjorde det möjligt att blanda innehåll och      presentationsinformation. Om ni beställer HTML-mallar från en extern leverantör bör ni i kravställningen begära att mallarna ska validera mot  undertypen ”Strict”. Då vet ni att mallarna inte blandar innehåll med presentationsinformation.
  • ”Transitional” tillåter vissa presentationelement. Detta gör det  svårare att testa om din webbplats blandar innehåll med presentation. Det behöver dock inte påverka tillgängligheten, så länge ni inte använder några presentationselement.

Anpassa till tidigare versioner av webbläsare, men till en gräns

Utveckla inte bara för de allra senaste versionerna av webbläsare. Webbläsare utvecklas nämligen snabbt. Tillverkarna blir visserligen allt bättre på att följa standarder, men ta det säkra före det osäkra och se till att sidorna fungerar även i tidigare versioner.

Ni är däremot inte skyldiga att stödja webbläsare som kraftigt avviker från standarden, till exempel äldre webbläsare. Dessa kan fortfarande visa innehållet, men presentationen och funktionerna kanske inte fungerar som ni avsett. Det är sällan kostnadseffektivt att göra anpassningar för dessa webbläsare eller tillhandahålla specialversioner av innehållet för specifika webbläsare.


MätbarhetLänk hit

För att kontrollera om en sida följer den standard ni valt för uppmärkningskod kan ni använda W3C:s valideringsverktyg: [http://validator.w3.org]. Verktyget kan utgå från länkar till sidor eller uppladdad HTML-kod för sidor som ännu inte är publikt tillgängliga. För att kontrollera stilmallar finns ett motsvarande verktyg från W3C: [http://jigsaw.w3.org/css-validator/].

Nya webbläsare tillkommer hela tiden, vilket gör det ännu viktigare att utveckla enligt en standard. Det finns fortfarande skillnader i hur väl webbläsarna stöder och tolkar de olika standarderna. Därför bör ni testa webbplatsen i så många som möjligt av de webbläsare som personer i era målgrupper använder.

I första hand bör ni testa webbplatsen i en av de webbläsare som har bäst stöd för standarder. Därefter kan ni göra anpassningar för andra webbläsare. Ibland får man göra avkall på utseendet för att webbplatsens information och tjänster ska vara tillgängliga för alla användare.



Kommentarer (8)

  • Pär Lannerö skriver:

    Jag ser att ni skriver att det är viktigare att följa en standard än vilken standard man följer. Det låter vettigt. Men ändå: Varför nämns HTML 4.01 och inte XHTML 1.1?

  • Magnus Sandberg skriver:

    När jag läser texten under HTML 5 i denna riktlinje uppfattar jag det som att det är möjligt att använda HTML5 och följa denna vägledning. Det viktiga är att HTML:en validerar enligt w3c:s validator (HTML 5 experimental) trots att HTML5 inte är en färdig standard än.

    Har jag uppfattat det rätt då?

    Jag antar att samma sak i så fall gäller CSS3 dvs att den också är ok att använda. Stämmer det?

    • BjornHagstrom skriver:

      Från Tommy Olsson: Det är rätt uppfattat. Man bör dock hålla koll på HTML5-arbetsgruppens jobb för att se vilka områden som "rör på sig" och vilka som är någotsånär färdiga. Vissa bitar kan det vara bäst att avvakta med, andra är fullt körbara.

      Validering är ett kvalitetsmått, inte ett självändamål. Om man vet vad man gör kan det vara okej att ha vissa typer av valideringsfel. Det betyder dock inte att alla fel är acceptabla!

      Slutligen behöver man ta hänsyn till vilka HTML5-specifika elementtyper webbläsarna har stöd för. Den egna webbplatsens accessloggar kan användas för att ta fram hyfsat pålitlig statistik över vilka webbläsare besökarna använder. Om en stor del kör IE8 bör man t.ex. undvika att använda sådana element som kräver JavaScript(!) för att kunna formges med CSS (exempelvis <nav>, <section>, <article>, etc.).

    • BjornHagstrom skriver:

      Mer från Tommy: Det gäller samma sak för CSS3 som för HTML5: man kan använda valda delar av det förutsatt att 1) man gör det som ”progressiv förbättring” – dvs inte förlitar sig på det – och 2) att man håller koll på W3C:s arbete eftersom vissa moduler förändras nu och då.
       
      Vissa delar av CSS3 är bra implementerade i flera olika webbläsare, men enbart med ”vendor prefix”. Då gäller det att 1) använda alla tillverkares prefix och 2) avsluta med den prefixlösa varianten. Nu när Opera (och Firefox?) börjar implementera stöd för vissa properties med -webkit-prefix är den inbördes ordningen dessutom viktig. Jag rekommenderar denna:
       
      #foo {
        -webkit-transform: …;
        -moz-transform: …;
        -ms-transform: …;
        -o-transform: …;
        transform: …;
      }

  • Johan skriver:

    Jag är lite nyfiken på följande kommentar angående html5:
    "Dessutom saknas till stor del support för tillgänglighet."

    Vad menas rent konkret med detta? Det går ju t.ex. utmärkt att validera en html5-sida med WCAG v2 AA standarden. Menas att stödet från skärmläsare m.m. är dåligt?
    Utveckla gärna detta resonemang lite.

    • BjornHagstrom skriver:

      Från Tommy Olsson: Det är nog ett lite olyckligt uttryck att säga att det "till stor del" saknas support för tillgänglighet i HTML5. Man har tagit bort ett antal i mitt tycke värdefulla attribut och även gjort t.ex. alt-attributet ickeobligatoriskt. Men sanningen att säga har stödet för dessa attribut i webbläsare och hjälpmedel varit bristfälligt eller obefintligt, så i praktiken blir det inte någon större skillnad. Det sorgliga är att nu *kan* inte ens hjälpmedlen lägga till funktioner för vissa saker eftersom attributen som behövs är borttagna.

      Följsamhetsnivå AA i WCAG innebär att man inte utestänger någon och inte orsakar onödigt stora problem för någon. Det innebär dock inte att man erbjuder superhög tillgänglighet för alla användargrupper. AA ska ses som en miniminivå eller "skamgräns", tycker jag, inte som ett mål man kan yvas och vara stolt över. Att uppnå AA kan liknas vid att stava rätt och ha hygglig grammatik: det är något som bör vara självklart för en yrkesperson, men inget man ska förvänta sig att få "stinkin' badges" för. 🙂

  • […] riktlinje vi har hittat är från  webbriktlinjer.se  och där står det “Bakåtkompatibilitet – Det finns ingen skyldighet att stödja […]