En af hovedårsagerne til, at udviklere muligvis ikke overgår til HTML5 endnu, er den opfattede mangel på støtte til ældre browsere. Dette er faktisk usant, og selvom der muligvis er behov for noget jiggery-pokery for korrekt bagudkompatibilitet, er det stadig muligt.
Naturligvis med ældre browsere mener jeg Internet Explorer, da alle de andre store spillere opdaterer regelmæssigt, og deres brugere har tendens til at følge trop: browsere som Firefox, Safari og Opera har understøttet HTML5 i et stykke tid. Nogle udviklere kan beslutte at stoppe med at støtte IE6, men for nogle er det ikke en mulighed, og i hvert fald understøtter hverken IE7 eller IE8 heller HTML5. IE9 vil, men det kører kun på Windows Vista og Windows 7, så de andre versioner vil stadig eksistere i lang tid fremover, som vi har set med IE6.
Så hvad skal der gøres for at få HTML5 til at fungere i Internet Explorer?
hvordan man fortæller, om nogen har blokeret dit nummer på Android
Ukendte elementer
Først og fremmest gengiver IE ikke nogen elementer, som den ikke genkender, så den ignorerer HTML5 strukturelle elementer fuldstændigt som header
, footer
, article
, section
, og nav
, alle hoveddele af et HTML5-sted. Dette kan afhjælpes ved at fortælle IE om disse elementer ved hjælp af JavaScript. Den bedste måde at gøre dette på er at inkludere HTML5 shiv script, oprettet af Remy Sharp. Dette praktiske script opretter alle de relevante HTML5-elementer, som IE nu vil vide om, når de gengiver siden.
Et problem med dette er, at det ikke fungerer for brugere, der har JavaScript slået fra. Desværre er der ingen vej uden om dette, så udvikleren skal tage en beslutning om enten at bruge HTML5 eller forblive med HTML 4.01.
Styling
De fleste browsere har interne typografiark, der blandt andet gælder display:block
for at blokere niveauelementer. Mens nogle af de nyere browsere nu gør dette for de relevante HTML5-elementer, gør nogle ikke, og dette skal tilføjes for alle browsere. Det er kun tricket ved at tilføje følgende styling:
article, aside, figure, footer, header, hgroup,
menu, nav, section { display:block; }
Formelementer
Og hvad med nogle af de nye elementer i sig selv, som f.eks nye inputtyper - hvordan gengives disse på ældre browsere?
Fin faktisk. Da HTML5-specifikationen blev udvidet i en bagudkompatibel måde alle inputtyper, der ikke genkendes, behandles simpelthen som text
og vil blive gengivet som sådan.
hvordan man kan se alle de billeder, som nogen kan lide på instagram
Multimedia
Som jeg tidligere har diskuteret, video og lydelementer er designet til at give et fald tilbage til Flash, hvilket fungerer fint på Internet Explorer.
Flytningen til HTML5 vil stadig være en gradvis, og nogle vil ikke se eller have behov for at bruge nogen af de nye funktioner, den giver, men når de gør det, kan de være (relativt) sikre i den viden, at ældre browsere vil gengive deres websteder helt fint.