Att förstå HTML: webbens grundstomme
Html är språket som används för att skapa strukturen och innehållet på internet. Allt du ser på webbsidor är resultatet av html. Språket har ofta missförståtts och underskattats. Det är dags att gå in närmare på varför det är avgörande att använda det korrekt.
Vad är html?
Html är ett kodspråk som utgör själva stommen eller skelettet i alla webbplatser. Det uppfanns tidigt 90-tal av Tim Berners-Lee (grundaren av W3C). HT ”hyper text” representerar text som man kan klicka på och komma till en annan plats. ML ”markup language” är en generell term som kan översättas till ”märkspråk”, av vilka det finns flera till exempel xml, Markdown och yaml.
Html har särskilda element för olika ändamål, som listor, rubriker, länkar, formulär och mycket annat.
Ett exempel på korrekt html med en rubrik och en länk:
<h2>Hello</h2>
<a href="sida.html">World</a>
Webbläsarna är för snälla
Originalspecifikationen för html innehöll inga regler för hur ogiltig html skulle hanteras. Därför gjorde webbläsarna ett medvetet val att försöka tolka koden, trots att den innehöll fel. Det var ett marknadsföringsval: om tillverkarna hade slagit på regler för ”strict parsing” skulle de flesta webbplatser helt enkelt sluta att fungera. Vem skulle välja att använda en webbläsare där många sidor inte visas ut alls? En sådan produkt skulle snabbt dö ut.
Andra kodspråk fungerar inte så. Där kan det komma långa listor med alla kompileringsfel och koden ”bygger inte”, som det heter, och felen måste åtgärdas innan de kan skickas till webbläsaren.
Allt detta, i kombination med att ingångströskeln är låg (det är gratis, inga särskilda program eller licenser behövs), har misstolkats till att betyda att html är mycket enkelt. Det finns videos och artiklar som menar att html går att lära sig på fem minuter! Det är naturligtvis inte sant. Den som spelat Othello minns kanske sloganen ”a minute to learn, a lifetime to master”. Ungefär så är det.
Här är samma kod igen, fast nu med ogiltig html.
<h2>Hello
<a href="sida.html"><button>World</button></a>
Html kan vara ogiltigt på olika sätt:
- Otillåtna attribut
- Attribut som saknas
- Ej unika ID:n
- Ogiltiga värden till attributen
- Ej stängda taggar (som i exemplet ovan)
- Ej tillåtna element inuti element (som i exemplet ovan)
Men vad får det för konsekvenser?
- Det kan bli layoutproblem och att delar ser trasiga ut.
- Funktioner beter sig inte som förväntat.
- Indexering i sökmotorer kan försämras.
- Tillgänglighet påverkas negativt.
- Det medför också bristfälligt (och ofta obefintligt) samspel med digitala hjälpmedel.
- Dålig kod tar längre tid att rendera ut.
Ramverk och html
På tech-fronten är det mycket nytt, som alltid. Ständigt kommer nya ramverk, paket och bibliotek. De är ofta lightning fast och erbjuder lösningar på olika problem och effektivisering av arbetsflöden. Men kvalitetssäkrar de bristfällig html? Det gör de inte.
Html har utvecklats genom åren
Den första versionen av html innehöll 18 element och var anpassad för de behov som fanns vid den tiden, främst för att strukturera och publicera vetenskapliga uppsatser och avhandlingar. Sedan dess har html utvecklats genom olika versioner, från HTML2 på 90-talet till HTML5 som lanserades 2014. Nya element har introducerats samtidigt som vissa element har tagits bort: Vem minns inte klassiker som <blink>
och <marquee>
?
Hurdan är kvaliteten på webben 2024?
Om nu html är så enkelt, då är väl kvaliteten hög där ute på webben? Låt oss titta under huven på några kända stora sajter.
Om testerna
Dessa tester är gjorda i maj 2024 med W3 Validator. Observera att en validator inte kan bedöma om rätt element har använts: en <div>
får godkänt trots att den kanske skulle ha varit en <button>
. Det kan med andra ord fortfarande finnas problem och brister i koden. Testerna är alltså också för snälla – men de ger en indikation.
Webbplats | Antal fel |
---|---|
aftonbladet.se | 109 |
klart.se | 110 |
sas.se | 123 |
zalando.se | 131 |
xxl.se | 178 |
tradera.com | 241 |
pricerunner.se | 245 |
hitta.se | 381 |
expressen.se | 738 |
Webbplats | Antal fel |
---|---|
sr.se | 0 |
arbetsformedlingen.se | 0 |
systembolaget.se | 0 |
start.stockholm | 0 |
1177.se | 0 |
Hur många fel har just er webbplats?
Gå in på W3 Validator och testa idag. Det är helt gratis såklart. Föreslå till IT-ansvarig eller produktägare att åtgärda felen. Gör sedan testet igen om några månader. Det är väldigt tillfredställande att se antalet fel minska.
Hur många html-element kan du?
Det finns idag ca 140 st olika html-element. Hur många kan du? Vågar du göra detta quiz? Fuska inte 🙂 Länk till quizzet