Autor publikacji
Virtual Patriot - Administrator

Dziedziczona wartość atrybutu HTML

Data publikacji
Ostatnio edytowano

Niektóre atrybuty HTML występujące w języku HTML posiadają dodatkowe zdolności. Właśnie takim atrybutem HTML jest atrybut lang, ponieważ wartość domyślna atrybutu lang elementu HTML jest dziedziczona od elementu rodzica.

Za pomocą atrybutu lang możemy określić dodatkową informację dla przeglądarki internetowej o bazowym języku, jaki posiada treść reprezentowana przez zawartość interesującego nas elementu HTML (o czym mogliśmy dowiedzieć się już wcześniej).

Przykład:

<p lang="pl">
  czerwony to <b lang="pl">miłość</b>
</p>

<p lang="pl">
  niebieski to <b lang="pl">wolność</b>
</p>

<p lang="pl">
  szary to <b lang="pl">neutralność</b>
</p>

Treść reprezentowana przez zawartość każdego z zaprezentowanych elementów HTML została napisana za pomocą języka polskiego. Dlatego do każdego z zaprezentowanych elementów HTML został przeze mnie dodany atrybut lang wraz z wartością pl, aby przeglądarka internetowa na pewno wiedziała, jakiego bazowego języka spodziewać się po treści reprezentowanej przez zawartość każdego z zaprezentowanych elementów HTML.

Nasz przykładowy kod HTML możemy nieco uprościć.

Przykład:

<div lang="pl">
  <p>
    czerwony to <b>miłość</b>
  </p>

  <p>
    niebieski to <b>wolność</b>
  </p>

  <p>
    szary to <b>neutralność</b>
  </p>
</div>

Gdy element HTML posiada atrybut lang wraz z określoną przez nas wartością, wtedy wszystkie elementy HTML nieposiadające atrybutu lang oraz znajdujące się w zawartości wspomnianego elementu HTML są traktowane przez przeglądarkę internetową jak elementy HTML posiadające atrybut lang wraz z wartością, która została określona przez nas dla wspomnianego elementu HTML. Innymi słowy wartość atrybutu lang może być dziedziczona przez wszystkie elementy HTML nieposiadające atrybutu lang, które to elementy HTML są elementami potomkami elementu HTML, który posiada atrybut lang wraz z określoną wartością.

W naszym przykładzie każdy element HTML występujący w zawartości elementu div nie posiada atrybutu lang, lecz każdy element HTML występujący w zawartości wspomnianego elementu div jest traktowany przez przeglądarkę internetową jako element HTML posiadający atrybut lang o wartości pl, która to wartość została określona dla atrybutu lang wspomnianego elementu div.

Wspomniane dziedziczenie odbywa się tylko w teorii, a nie w praktyce. Oznacza to, że po wyświetleniu w oknie przeglądarki internetowej naszego przykładowego kodu HTML, nasz przykładowy kod HTML nie zmieni się w żaden sposób (elementy "p" oraz elementy "b" nadal nie będą posiadały swojego atrybutu "lang").