Dzień 7: Określenie używanego języka

Ty wiesz w jakim języku piszesz, więc powiedz o tym swoim czytelnikom... i ich oprogramowaniu.

Kto na tym skorzysta?

  1. Jadzia. Jej program udźwiękawiający (JAWS) musi wiedzieć w jakim języku jest napisana Twoja strona aby wygenerować odpowiedni dźwięk. Jeżeli nie określisz języka jawnie, JAWS próbuje zgadnąć jakiego języka używasz i może się mylić, zwłaszcza kiedy cytujesz fragmenty w innym języku niż reszta strony.
  2. Google skorzysta, nawet jeśli piszesz strony po angielsku, a zwłaszcza jeśli używasz innego języka, np. polskiego. Według Google Zeitgeist, 50% użytkowników poszukuje informacji w językach innych niż angielski i wielu z nich określa w ustawieniach wyszukiwarki szukanie tylko w wybranych językach. Google i tak ma jedne z najlepszych algorytmów automatycznego rozpoznawania języka strony, ale po co mu utrudniać pracę?

Jak to zrobić?

Najpierw dowiedz się jaki jest dwuznakowy kod używanego przez Ciebie języka. Kod dla języka polskiego to "pl", dla angielskiego "en", dla francuskiego "fr", a dla niemieckiego "de". Jeżeli używasz jeszcze innego języka, sprawdź kod tego języka tutaj.

Następnie określ język strony w tagu <html>. Konkretny wpis zależy od wersji HTML jakiej używasz. Sprawdź nagłówek DOCTYPE, a następnie wykonaj jedną z poniższych zmian:

  1. Jeżeli używasz któregokolwiek wariantu HTML 4, dodaj do taga <html> atrybut lang, np.:

    <html lang="pl">

  2. Jeżeli używasz któregokolwiek wariantu XHTML 1.0, ustaw język w następujący sposób (używając tego samego kodu języka w obu miejscach):

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

  3. Jeżeli używasz XHTML 1.1, ustaw język następująco (oczywiście jak zawsze wstaw swój kod języka):

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

Podobnie jak w przypadku nagłówka DOCTYPE, język powinien być określony na każdej stronie.

Dodatkowo, jeżeli używasz więcej niż jednego języka na stronie, możesz określić odpowiedni język dla dowolnego elementu. Na przykład, jeżeli masz stronę napisaną w HTML 4 i głównym używanym językiem jest polski, ale cytujesz fragment artykułu w języku angielskim, możesz to zaznaczyć następująco:

<html lang="pl">
  ...
  <blockquote lang="en">
    ...
  </blockquote>
  ...

Pamiętaj też, że atrybut lang dotyczy zarówno tekstu wewnątrz danego tagu jak i tekstu w innych jego atrybutach (np. title). Problem pojawia się w sytuacji kiedy chcesz określić inny język dla tekstu wewnątrz tagu a inny dla tekstu pozostałych atrybutów, np. kiedy umieszczasz link w tekście polskim i opisujesz go angielskim tytułem artykułu, do którego link ten prowadzi. Można wtedy wykorzystać dodatkowy tag tylko w celu określenia języka, np. tak:

<a lang="en" title="Dive Into Accessibility" href="http://diveintoaccessibility.org/">
<span lang="pl">strona oryginału tego podręcznika</span></a>.

Zobacz także (strony w języku angielskim)