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?
Kommentarer
bza
(http://bza.no/)
1. desember, 14:30
Jeg bruker konsekvent både lang og hreflang attributtene. Når det gjelder filmtitler vil jeg påstå at det i man i mange tilfeller ikke trenger å bruke lang-attributten ettersom tittelen kan tolkes som et egennavn på filmen og dermed kan presenteres på flere språk under originaltittel.
bza
(http://bza.no/)
1. desember, 14:30
Christian
2. desember, 19:34
Du har forsåvidt rett i at man kan presentere filmens orginaltittel på flere språk (om jeg forstår deg riktig), men om tittelen gjengis på orginalspråket bør dette markeres, spesielt med tanke på skjermlesere.
Skulle gjerne vært flinkere med språk her selv, men for å komme skrittet videre nå må jeg tweake publiseringsløsningen min litt ;)