Fecha de publicación: 2007/11/06
El atributo lang sirve para definir el idioma del contenido de un elemento.
Hay que definirlo en primer lugar en el elemento HTML, para definir el idioma del documento:
<html lang="es">
Y una vez definido el idioma principal del documento, en todos aquellos elementos en los que su contenido sea distinto a dicho idioma principal:
<a lang="en">
<p lang="fr">
<span lang="zh">
También puede añadirse una variante de idioma, poniendo tras el valor de idioma una abreviatura de país, por ejemplo inglés de Estados Unidos:
<p lang="en-us">
El atributo hreflang sirve para definir el idioma del destino de un enlace (elemento A):
<a hreflang="en">
La referencia WAI WCAG 1.0 en su punto 4.3, y la norma UNE 139803 en su punto 4.4.4 requieren la presencia del atributo lang allí donde sea necesario para poder cumplir la prioridad 1 (A) de accesibilidad.
WAI WCAG 1.0:
4.3 Identify the primary natural language of a document. [Priority 3]
For example, in HTML set the "lang" attribute on the HTML element. In XML, use "xml:lang". Server operators should configure servers to take advantage of HTTP content negotiation mechanisms ([RFC2068], section 14.13) so that clients can automatically retrieve documents of the preferred language.
UNE 139803:
4.4.4 Se debe especificar el idioma principal de la página Web
Nota – Se deben tener en cuenta las recomendaciones recogidas en el informe RFC 3066 de la IETF (The Internet Engineering Task Force – http://www.ietf.org) y las normas internacionales de códigos de idiomas (ISO 639) y países (ISO 3166).
EJEMPLO: Se debe usar el atributo "lang" en la etiqueta "html", en HTML o XHTML, marcando el idioma correspondiente, por ejemplo con "es" para español, "ca" para catalán, [...] "gl" para gallego, "en" para inglés, "fr" para francés, etc. También debe usarse para indicar las variaciones idiomáticas cuando sea apropiado, por ejemplo: "es-mx" para el español de México, "es-cl" para el de Chile, etc.