Content languages
É uma boa prática declarar a linguagem primária do documento no elemento
<html>
(principalmente para que os motores de busca, o navegador e os leitores de tela saibam
qual é a linguagem da sua página):
<html lang="pt-BR">
Decompondo o valor do atributo lang, temos um código de duas letras que indica o idioma (pt, de Português), e outro código de duas letras indicando o país (BR, de Brasil). O código do país é opcional. Assim, o lang poderia ter o valor pt, se referindo apenas ao idioma Português.
Tanto o código do idioma como o código do país fazem parte de listas de códigos feitas pela ISO (International Organization for Standardization). O código do país precisa estar no ISO 3166-1 alpha 2. O código do idioma precisa estar no ISO 639-1.
Também é possível especificar o atributo lang em outros elementos da página. Isso é usado quando outros elementos da página estão em outras linguagens. Exemplo:
<p lang="pt-BR">Todo o site está em inglês, exceto esse parágrafo, que está em Português.</p>
A declaração da linguagem é herdada pelos elementos descendentes, a não ser que seja sobrescrita:
<div lang="pt">
<div>
<p>Texto em português.</p>
<p lang="en">English text</p>
</div>
<p>Texto em português.</p>
</div>
É possível adicionar o atributo hreflang para os elementos <a>
e
<area>
que criam links. Eles especificam o idioma do recurso linkado:
<a href="sitequalquer.com/memes" hreflang="pt-BR">Site de memes</a>