Pregunta

¿Cuál es la diferencia entre las 2 líneas que se muestran a continuación:?

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

<meta http-equiv="content-language" content="en-GB" />

Si yo no tenía la etiqueta meta, lo que sería la consecuencia?

¿La meta uno afecta a los lectores de pantalla y el de arriba no? Estoy un poco confundido en cuanto a qué es exactamente lo que hacen.

Gracias de antemano por cualquier ayuda

Saludos

Salta.

¿Fue útil?

Solución

Sumérjase en la accesibilidad de La identificación de su página de lenguaje recomienda añadir tanto como sea posible para manejar la mayor cantidad de lectores de pantalla como puede, dependiendo de su tipo de documento:

  

Si está utilizando cualquier variante de HTML 4,   cambiar su tarjeta a dicha (uso   su propio código de idioma si no se   Inglés):

     

<html lang="en">

     

Si estás usando cualquier variante del XHTML   1.0, cambiar su tarjeta a dicha (use su código de idioma en tanto   lugares):

     

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

     

Si estás usando XHTML 1.1, cambiar su    etiquetas en esta (otra vez, insertar su   propio código de idioma):

     

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

El mismo artículo también hace referencia a ISO 639.2 para determinar lo que el valor de xml: lang debe ser, aunque la especificación XML hace referencia a un documento separado, RFC4646 mejor práctica actual -. Etiquetas para la identificación de Idiomas , lo que parece indicar que su valor de "en-GB" es válido

Estadísticas Web de creación (2005) tienen la siguiente decir al respecto:

  

El siguiente es el valor Content-Language   (Utilizado en el atributo http-equiv).   Casi como muchas personas lo utilizan como   especificar el atributo lang en el html   elemento. En la especificación HTML5 actualmente   el atributo http-equiv sólo   permitido para el caso de ajuste   la codificación de caracteres, que no puede   Realmente dejarse caer, como el gráfico anterior   demuestra. Sin embargo,   http-equiv = "Content-Language" es   con el apoyo de al menos un navegador, y   como vemos aquí, que es ampliamente utilizado -   quizá http-equiv no se debe quitar   después de todo.

Además, un hilo en conversaciones webproworld sobre la diferencia entre usar http-equiv = contenido en idioma y el nombre = lenguaje para describir el lenguaje del documento e implica que ambos son necesarios.

Por último, consulte la HTML técnicas para Web Content Accessibility Guidelines 1.0 documento en el W3C para algunos más recomendaciones, específicamente la identificación de la primaria idioma.

En conclusión se ve como los lectores de pantalla están mirando lang atributos más que en lengua meta de contenido de información, pero la mayoría de las recomendaciones que he visto aconsejar el uso de los metadatos de todos modos. Especialmente las estadísticas de Google parecen pertinentes, por lo que tal vez debería dejar en tanto.

Otros consejos

Creo que una de las ventajas de la versión <meta> es que se pueden especificar varios idiomas, como en <meta http-equiv="Content-Language" content="en-GB, fr" />, por ejemplo. Echar un vistazo a este para un examen más a fondo de el tema.

Content-Language no es conforme en XHTML5 .

A pesar de que no le permiten especificar más de un idioma, no deberías hacer eso (que no ayuda a nadie). Debe utilizar atributos xml:lang en elementos específicos en lugar, por ejemplo.

<p xml:lang="en">Hello <span xml:lang="de">Welt!</span></p>

W3C I18N FAQ también es claramente contra <meta>:

  

La cabecera HTTP o información de elemento meta no son relevantes aquí. Por extensión, debe especificar el idioma de procesamiento de textos del contenido en su conjunto mediante el uso de la lang y / o atributos xml:lang en la etiqueta html .

Por lo que yo sé, meta http-equiv Sólo se requiere (en su caso) para Los documentos HTML (XHTML) No, porque XHTML permite especificar el idioma con xml:. Lang

Por lo tanto, no hay diferencia, la segunda línea es redundante.

El HTTP / 1.0 RFC 1945 dice que el campo de cabecera Content-Language "representa las lenguas de la audiencia".

  

El Content-Language entidad de cabecera   campo describe lo natural   idioma (s) de la audiencia   para la entidad cerrada. Tenga en cuenta que   esto puede no ser equivalente a toda la   lenguas utilizadas dentro de la entidad.

HTML 4 y XHTML1.x tratar la etiqueta meta http-equiv como la misma información incrustada en el documento HTML en lugar de la cabecera HTTP.

Por otro lado, xml:. Lang y el html lang atribuyen identificar el idioma del documento, o el fragmento contenido dentro del elemento sobre el que aparece el atributo

Así, supongamos que tiene un documento que fue principalmente en francés con el propósito de la enseñanza del francés a personas de habla inglesa, el contenido en idioma sería es-ES, en-US (por ejemplo), mientras que el atributo xml: lang sería fr-FR.

No obstante , HTML 5 cambios de esto, y la meta http-equiv = "Content-Language" se considera HTML no conformes que, no obstante define el idioma predeterminado para todo el documento y sólo admite un único lenguaje tan efectiva es idéntica a xml: lang en el elemento html. No puedo decir que entiendo el razonamiento detrás de este cambio, pero Daniel Glazman e Ian Hickson discutirlo en el hilo a partir de http://lists.w3.org/Archives/Public/public-html/2008Nov/0083.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top