values not language have does content codigo change attribute html http-headers markup lang

html - not - ¿Cuál es la diferencia entre el atributo lang y la etiqueta<meta http-equiv="Content-Language" content="en-US">?



lang list (3)

Me preguntaba ¿cuál es la importancia de usar el atributo "lang" y cómo eso difiere del uso de la etiqueta meta "Content-Language"?

Considera el siguiente código:

<html lang="en"> <head> <meta http-equiv="Content-Language" content="en-US"> </head>...

Mi suposición es que el navegador está leyendo el valor de la metaetiqueta, pero el DOM está relacionado con el atributo "lang". ¿Es esto correcto? ¿Hay algún matiz que desconozco?


El atributo lang (en el elemento HTML) especifica el idioma del documento (a menos que se anule con otro atributo lang que puede cambiar el idioma de una sección del documento).

El encabezado HTTP Content-Language especifica el idioma de la audiencia prevista. Esto no es lo mismo que el idioma en el que está escrito el documento. Por ejemplo, parte de un curso de francés podría consistir en una página escrita en francés, pero Content-Language sería como estaba destinado a los hablantes de inglés que están aprendiendo francés.

De la especificación :

El campo de encabezado de entidad Content-Language describe el / los idioma / s natural / es de la audiencia prevista para la entidad adjunta. Tenga en cuenta que esto puede no ser equivalente a todos los idiomas utilizados en el cuerpo de la entidad.

Meta HTTP-equiv es el encabezado HTTP del pobre. Tiene todo el significado del encabezado HTTP real, pero menos respeto (y soporte).

Como regla general, Content-Language es de mayor interés para los motores de búsqueda y el atributo lang es de más interés para los lectores de pantalla.


Significan lo mismo: establecer el idioma del contenido en cuestión, sin embargo, el atributo lang tiene una precedencia más alta. Ver 8.1.2 Herencia de códigos de idioma . Manejan diferentes casos de uso: el atributo lang se puede configurar <i lang=la>exempla gratis</i> en un elemento individual, mientras que el encabezado Content-Language se puede configurar globalmente por el servidor para aplicarlo a un conjunto completo de documentos .

Sus ejemplos muestran dos formas equivalentes de establecer el idioma del elemento html , pero dado que el atributo lang tiene prioridad, el valor será "en" y no "en-US" .