Dette må du vite om HTML 5

HTML 5 er et stort løft med mye å ta tak i for webutviklere.

Det fleste av dagens websider er basert på oppmerkingsspråket HTML (HyperText Markup Language). Men dagens HTML-versjon, HTML 4.01, ble utgitt så tidlig som julaften 1999. Mye har skjedd på weben siden den tid, og mange mener at tiden er overmoden for å fornye spesifikasjonen.

Blant dem som tidlig kom til denne konklusjonen, var personer i Apple, Mozilla og Opera. Allerede i 2004 dannet disse menneskene arbeidsgruppen Web Hypertext Application Technology Working Group (WHATWG), som senere har utgitt flere forslag til utvidelser av HTML og DOM , blant annet Web Forms 2.0 og Web Applications 1.0, også kalt HTML5.

I mars i fjor ble det klart at også W3C, som står bak de fleste webstandardene, også mener at HTML, samt det relaterte XHTML-språket, bør fornyes. Et par måneder senere ble det kjent at det videre arbeidet skulle baseres på HTML5-spesifikasjonen til WHATWG, men også at den nye versjonen av HTML skulle få versjonsnummeret 5.

Det første utkastet til HTML 5-spesifikasjonen ble utgitt i januar i år, og denne uken ble et nytt arbeidsutkast publisert.

    Les også:

Selv om HTML 5-spesifikasjonen fortsatt bare et utkast, kan man ganske trygt gå ut fra at det meste som står der, vil bli med i en endelig utgave av standarden. Derfor kan det være fornuftig allerede nå å sette seg inn i de viktigste endringene i forhold til dagens HTML-spesifikasjon.

For endringene er mange. En rekke elementer og attributter forsvinner, en rekke nye tagger og attributter innføres. I tillegg kommer det en håndfull nye programmeringsgrensesnitt (API-er).

HTML 5 støtter en egen HTML-syntaks som er kompatibel med HTML 4 og XHTML 1. I tillegg kan XML benyttes som syntaks for HTML 5.

HTML 5 på dagens stadium inkluderer en rekke nye elementer, blant annet en serie elementer, for eksempel section, header, footer og nav, som kan brukes til strukturere HTML-dokumenet i ulike typer seksjoner.

Det er også blitt laget egne elementer for spesielle typer innhold, slik som time, datagrid, datalist, audio og video. Dessuten er canvas-elementet en del av HTML 5. Dette støttes allerede av enkelte nettlesere som benyttes til å lage dynamisk punktgrafikk, for eksempel kurver og spill.

Skjemaene i HTML blir mer fleksible ved å at input-elementet støtter flere ulike typer. Dette inkluderer datetime, week, number, range, email og url.

En rekke av elementene knyttet til skjemaer, slik som input, select, textarea og button, får nå en ny attributt som kalles form. Denne gjør det gjør det mulig for kontroller å bli assosiert med mer enn et enkelt skjema.

Script-elementet har fått et nytt attributt som kalles async. Den skal kunne påvirke lastingen og kjøringen av skripts. I tillegg kommer det en del nye, globale attributter, blant annet draggable, som kan brukes sammen med det nye programmeringsgrensesnittet for dra- og slipp-funksjonalitet.

En rekke elementer forsvinner med HTML 5. Det betyr ikke at nettlesere skal slutte å støtte dem, men at utviklere som tar i bruk HTML 5 skal begynner å benytte bedre metoder for presentasjonen av innholdet, for eksempel stilsett (CSS).

Dette inkluderer elementer som center, font, strike og u. I tillegg er alle støtte for rammer (frames) fjernet, bortsett fra iframe-elementet. Det betyr at elementene frame, frameset og noframes ikke lenger skal benyttes. Årsaken til dette er at man mener bruken av disse elementene påvirker brukervennligheten og tilgjengeligheten for sluttbrukerne på en negativ måte.

Bruken av en mengde attributter reduseres med HTML 5, i mange tilfeller fordi man kan gjøre det samme med CSS. Dette gjelder blant annet flere tilfeller av border, height, width, bgcolor, background, align, valign, type og size.

Dessuten skal man ikke lenger benytte name-attributtet sammen med elementene img, form og a. I stedet bør man bruke id-attributtet.

HTML 5 inkluderer en rekke nye API-er, blant annet ett for å lage 2D-grafikk sammen med det nevnte canvas-elementet og et for å spille av video og lyd sammen med de nye video- og audio-elementene.

Nytt er også API-et for lokal lagring av data. Dette støtter både en SQL-database og oppslag basert på nøkkel og verdi. Relatert til dette er et API for offline webappikasjoner.

Inkludert er også et API som lar webapplikasjoner registrere seg selv for visse protokoller eller MIME-typer, et API for redigering av innhold i kombinasjon med den nye, globale contenteditable-attributten og det nevnte API-et for dra- og slipp-funksjonalitet.

Dessuten skal det blant annet gjøres mulig å sende meldinger på tvers av dokumenter og å varsle brukeren om ny informasjon, for eksempel om nye e-postmeldinger i en e-postapplikasjon.

Dessuten inkluderer HTML 5 et eget API for nettverksstøtte og et API for å lese av og legge til sider i historikken, slik at ikke funksjonaliteten til tilbake-knappen ødelegges. Dette krever dog visse sikkerhetsrestriksjoner.

HTML 5 har også utvidet HMTLDocument-grensesnittet fra DOM Level 2 HTML på en rekke områder. Det er nå mulig å velge elementer etter klassenavn gjennom getElementsByClassName()-metoden, det lenge benyttede innerHTML er nå en del av standarden, activeElement og hasFocus kan brukes til henholdsvis å bestemme hvilket element som for øyeblikket er fokusert og om dokumentet har fokus.

Også HTMLElement-grensesnittet har HTML 5 fått støtte for getElementsByClassName() og innerHTML. Den sistenevnte er også definert for å fungere i en XML-kontekst.

classList returnerer et objekt som gir tilgang til metoder for å manipulere klassene til et element. Tilsvarende har elementene a, area og link et tilsvarende attributt som kalles relList, som tilbyr den samme funksjonaliteten til rel-attributten.

W3C har på denne siden publisert en oppdatert oversikt over disse og en rekke andre forskjeller mellom HTML 4 og HTML 5.

Det er ikke blitt offentliggjort noen tidsplan for når HTML 5 skal bli ferdig. Og selv om enkelte nettleserprodusenter allerede har begynt å implementere deler av utkastet til HTML 5-spesifikasjonen, viser historikken at det kan ta mange år før alle de viktigste nettleserne kan vise til god støtte av nye standarder. Enda lenger tid vil det ta dersom man også skal ta hensyn til at svært mange nettleserbrukere ikke er så opptatt av å benytte en oppdatert nettleser.

    Les også:

Til toppen