Hopp til innholdet

cjohansen.no

Markér språk i HTML

Å markere innhold med riktig språk er noe mange (inkludert meg selv) får nesten riktig, men de aller færreste virkelig gjør bra. Samtidig er det essensiell informasjon når brukeren din ikke er et menneske som leser innholdet. Velkommen til cjohansen.nos julekalender-luke nummer 1!

Aktuelle elementer

Språk kan settes på de aller fleste elementer med lang-attributtet. Noen unntak finnes det: <applet>, <base>, <basefont>, <br />, <frame>, <frameset>, <iframe>, <param> og <script>. Flesteparten av disse bruker du nok ikke alikevel.

I tillegg har vi attributtet hreflang som kan brukes med <a>- og <link>-elementer.

Bruksområder

Skjermlesere

Språk er viktig informasjon for skjermlesere. En skjermleser er en type nettleser som brukes av blinde og andre som ikke kan lese tekst fra skjerm. Den fungerer ved at nettleseren leser tekst på siden høyt for brukeren. Å angi riktig språk er dermed essensiell informasjon for å få innholdet lest opp på en forståelig måte. Engelsk innhold lest med fransk aksent vil typisk ikke være spesielt nyttig.

Søkemotorer

Språk er også viktig for søkemotorer, og ikke minst søkemotorenes brukere. Ved å fortelle søkemotorene hvilket språk sidene dine er i hjelper du dem også å indeksere innhold for "Søk på sider på norsk" og lignende, et verktøy som kan hjelpe de av brukerne dine som aktivt leter etter innhold på ditt språk.

XHTML og HTML

I XHTML er det xlm:lang-attributtet som angir språk, selvom W3C anbefaler å bruke både xml:lang og lang til å angi språk med XHTML. Jeg går ut ifra at dette er av bakoverkompatibilitetsspørsmål. Ved forskjeller skal XHTML "savvy" klienter gi presendes til xml:lang-attributtet.

Bruk

Språk må angis for html-elementet. Dette er språket for hele siden din.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="no" lang="no">

Eller for et HTML-dokument:

<html lang="no">

lang-attributtet kan også angis for ethvert element, for eksempel lenker. Her på bloggen bruker jeg det aktivt til for eksempel filmnavn som stort sett er engelske:

<a href="#" lang="en">Futurama: Bender's big score</a>

I tillegg kan vi med lenker si noe om hvilket språk siden vi lenker til er på. Dette er et klart forbedringspunkt for meg ihvertfall. Når jeg lenker til imdb burde jeg helt klart gjøre:

<a href="http://www.imdb.com/[...]" lang="en" hreflang="en">Bender's big score</a>

Dette angir at siden vi lenker til er på engelsk.

To gode grunner for å markere språk er allerede gitt - noen som har noen flere?

Muligens relatert

2006 - 2012 Christian Johansen Creative Commons Lisens