Kielimerkkaus, luku 4 Ongelmia kielimerkkauksen käytössä:

Lisää teknisiä ongelmia: entä kun määritteissä ja sisällössä on eri kieltä?

HTML-spesikaation lang-määritettä koskeva kohta sanoo, että tämä määrite ilmoittaa elementin sisällön ja määritteiden kielen. XML-spesifikaation kuvaus xml:lang-määritteestä esittää samanlaisen periaatteen hiukan toisin sanoin.

Tätä lienee tulkittava niin, että se vaikuttaa myös määritelistassa taaksepäin, joten esimerkiksi
<a href="foo.html" title="Hello world" lang="en">
ilmoittaa, että myös teksti "Hello world" on englantia. Aika näyttää, tulevatko selaimet ja muut ohjelmat toimimaan tämän mukaan. Ei ole vaikeaa kuvitella, että huolimattoman ohjelmoinnin takia tapahtuu toisin.

Tästä seuraa ongelma: Entäs jos meillä on esimerkiksi linkki, jonka linkkiteksti on suomea mutta title-määrite englantia, koska linkki viittaa englanninkieliseen dokumenttiin? Tilanne ei ole mitenkään keinotekoinen, vaan usein on hyödyllistä antaa title-määritteellä vihje siitä, mihin linkki viittaa, ja vihjeen englanninkielisyys on lisävihje. Mutta jos kirjoitamme suomenkieliseen dokumenttiin esimerkiksi
<a href="http://www.faqs.org/rfcs/rfc3066.html" lang="en" title="Tags for the Identification of Languages">RFC 3066</a>
niin silloin kyllä ohjelmille kerrotaan oikein, mikä on title-määritteen kieli (ja tämän ansiosta puhesyntetisaattori voisi lukea sen oikein) mutta samalla väitetään, että merkkijono RFC 3066 on englantia. Tästä taas seuraisi, että puhesyntetisaattori tekisi merkkauksen pohjalta tulkittuna oikein lukiessaan linkin nimen englanniksi, siis suunnilleen "aar ef sii thrii ou siks siks", ja tämä olisi aika häiritsevää.

Jos riski tuntuu todelliselta, niin sen voisi periaatteessa välttää käyttämällä lisämerkkausta, jossa elementin sisällä kerrotaan sisällön kieli:
<a href="http://www.faqs.org/rfcs/rfc3066.html" lang="en" title="Tags for the Identification of Languages"><span lang="fi">RFC 3066</span></a>
Eri asia sitten on, moniko jaksaa niin tehdä. Helpointa tällaisessa tilanteessa on jättää lang-määrite kokonaan pois.


Kirjoittamisen ajankohta: 2002-06-23. Päivitetty viimeksi 2007-12-03. Teknisiä korjauksia 2017-12-11.
Tämä sivu kuuluu Jukka "Yucca" Korpelan avoimeen tietosivustoon Datatekniikka ja viestintä.