En resumen
Qué se comprueba
que la página declare su idioma y que el código declarado sea válido.
Dónde se declara
en el atributo lang de la etiqueta html, y de ahí lo heredan los demás elementos.
Por qué importa
es el criterio 3.1.1 de las WCAG 2.2, de nivel A, el más básico de los tres niveles de conformidad.
Severidad en Wakaris
Importante. Falla en el 2,3 % de las páginas analizadas, según el propio catálogo de Wakaris.

Qué es y qué mide este hallazgo
Una página web no lleva escrito en ningún sitio en qué idioma está, salvo que alguien lo diga explícitamente. Ese "decirlo" es el atributo lang. La documentación de MDN lo define como el atributo global que ayuda a definir el idioma de un elemento, y precisa que su valor es una única etiqueta de idioma del estándar BCP 47: es, es-ES, en-GB. La recomendación del consorcio W3C es ponerlo siempre en la etiqueta html, porque desde ahí lo heredan todos los demás elementos del documento.
Este hallazgo agrupa dos comprobaciones distintas sobre esa declaración. La primera es de presencia: si la página declara idioma o no lo declara en absoluto. La segunda es de validez: si el código que ha puesto existe de verdad en el registro de subetiquetas de idioma. Son cosas separadas porque fallan por motivos separados, y porque una página puede tener el atributo puesto y aun así no servir de nada.
Cómo se mide
Wakaris lee el HTML de la URL que le indiques y devuelve las dos comprobaciones por separado, con el valor exacto que ha encontrado declarado. Esa es la vía directa: no hay que instalar nada ni crear cuenta, y el informe señala si el problema es que falta la declaración o que el código es incorrecto, que es la diferencia entre añadir una línea y corregirla.
La primera evidencia es binaria y responde a "¿hay idioma declarado?". La segunda es un recuento, lo que indica que no se limita a mirar la etiqueta que abre el documento: cuenta cuántos códigos de idioma no son válidos, y un documento puede declarar idioma en varios elementos a la vez. Aquí conviene una advertencia de honestidad: el catálogo de Wakaris no documenta si el recuento incluye los atributos lang de elementos interiores ni cómo trata el caso de lang="", que según MDN significa "idioma explícitamente desconocido". Tampoco hay un umbral escalonado: uno o veinte códigos inválidos producen el mismo hallazgo con la misma severidad.
Por qué importa
El motivo principal es la lectura en voz alta. MDN dice que el propósito de estos requisitos es, sobre todo, permitir que las tecnologías de asistencia como los lectores de pantalla invoquen la pronunciación correcta. El W3C lo formula al revés en su explicación del criterio: con el idioma declarado, los lectores de pantalla pueden cargar las reglas de pronunciación correctas, los navegadores visuales pueden mostrar caracteres y alfabetos correctamente, y los reproductores pueden mostrar los subtítulos como toca. Sin declaración, cada uno adivina.
La lista de beneficiados que da el W3C es más amplia de lo que parece: quien usa lector de pantalla, quien tiene dificultad para leer con fluidez y precisión, quien usa software de texto a voz por una discapacidad cognitiva o del lenguaje, y quien depende de los subtítulos. Y hay usos que no son de accesibilidad: el W3C enumera que la declaración de idioma gobierna la separación de palabras al final de línea, la elección automática de tipografía, el estilo de las comillas generadas, la corrección ortográfica en las herramientas de edición y el reconocimiento de la página por las herramientas de traducción.
Causas comunes
La primera causa es una plantilla heredada. Muchos temas y maquetas se escribieron con la etiqueta html pelada, sin atributo, y nadie lo ha tocado desde entonces porque no rompe nada visible: la página se ve exactamente igual con idioma declarado y sin él.
La segunda es una plantilla en un idioma y un contenido en otro. Es el caso más habitual en la práctica: una maqueta descargada declara lang="en" por venir de un ejemplo en inglés, se rellena con texto en español y nadie cambia el atributo. Aquí el hallazgo de presencia no salta —hay idioma declarado, y es válido— pero el resultado para quien escucha la página es peor que no declarar nada, porque el sintetizador aplica reglas de pronunciación inglesas a un texto español.
La tercera es un código inventado o mal formado. Valores como español, ES_es o sp no existen en el registro de subetiquetas; MDN es explícita en que si la etiqueta no es válida según BCP 47, queda marcada como inválida. La cuarta, más rara, son las páginas montadas por trozos, donde una parte inyecta su propio atributo con otro valor.
Cómo solucionarlo
Es probablemente el arreglo más rentable de la familia de accesibilidad: una línea, sin riesgo y sin efecto visual. Wakaris te dice si lo que falta es la declaración o si el código es inválido, y ese dato decide cuál de los dos pasos te toca.
Si falta, añade el atributo en la etiqueta que abre el documento: <html lang="es">. En un gestor de contenidos se configura una vez en los ajustes del sitio o en la plantilla base, no página a página. Si el código está mal, sustitúyelo por una etiqueta del registro de subetiquetas del IANA, la lista a la que remite el W3C: usa la forma corta (es) salvo que necesites una variante regional (es-MX, pt-BR).
Dos avisos finales. El W3C dice que nunca se use un elemento meta con http-equiv="Content-Language" para indicar el idioma de la página: la declaración en la propia página manda sobre la cabecera HTTP. Y si tu web mezcla idiomas, el idioma de las partes es otro criterio, con su propio atributo en cada fragmento.
Comparación de una etiqueta html sin atributo lang, con un código inválido y con el código es correcto
Brief para generar la imagen
Ilustración editorial para una guía técnica de Wakaris. Tema: Comparación de una etiqueta html sin atributo lang, con un código inválido y con el código es correcto. Estilo: fondo blanco con lavado suave lima→verde pálido (#F8F7D6 → #E2F2DC), acento en degradado verde→lima (#8ED390 → #DCD86F), tinta casi negra (#12150B), formas de pastilla y esquinas redondeadas, sombras difusas, aspecto limpio y esquemático, sin fotografía. Formato: 16:9, 1440 píxeles de ancho. Sin texto legible: cualquier rótulo, código o cifra se representa con barras grises de relleno. El significado lo lleva el pie de foto, no la imagen. Sin logotipos reales ni marcas de terceros. Sin personas reconocibles. Etiquetas: idioma, documento, comparación, etiqueta, html, atributo, lang, código

Pregúntale a tu IA
Si quieres profundizar en tu caso concreto, copia uno de estos dos prompts y pégalo en la IA que uses. Elige según tu situación.
Ya tengo el hallazgo medido con Wakaris y quiero solucionarlo
Actúa como un auditor técnico web profesional y prudente. Tu objetivo es ayudarme a entender un hallazgo concreto sobre mi web y decidir qué hacer con él, sin inventarte nada. Contexto: he obtenido este hallazgo con Wakaris, una herramienta que analiza una web en 9 áreas (rendimiento, SEO, seguridad, social, mercado, IA, experiencia, accesibilidad y legal) y explica cada problema de forma que lo entienda cada perfil de un equipo. El hallazgo es: Idioma del documento. Comprueba dos cosas: que mi página declare en qué idioma está escrita, y que el código de idioma declarado exista de verdad. Referencia: se declara con el atributo lang en la etiqueta html y el código sigue el estándar BCP 47 (por ejemplo "es" o "es-ES"). Pega aquí el resultado de Wakaris: si te dice que falta la declaración o que el código es inválido, qué valor ha encontrado y en qué página. Si no lo tienes, dímelo y te diré cómo obtenerlo antes de seguir. Reglas que debes seguir en todo momento: 1. No asumas nada sobre mi web. Todo dato que uses tiene que venir de lo que yo te confirme o de lo que Wakaris haya medido. Si no lo sabes, pregúntamelo antes de afirmarlo. 2. Antes de darme conclusiones, hazme SIEMPRE estas preguntas, juntas y en lenguaje sencillo, para saber si este hallazgo me afecta de verdad y por dónde: a) ¿En qué idioma está escrito el contenido de tu web? b) ¿En qué plataforma está? (WordPress, Shopify, web a medida, otra; o no lo sé) c) ¿La plantilla o el tema que usas lo compraste o descargaste hecho, o lo programó alguien para ti? d) ¿Tu web tiene versiones en varios idiomas, o partes en un idioma distinto del principal (citas, nombres, un formulario, un menú)? e) ¿Puedes editar la plantilla base del sitio, o solo el contenido de las páginas? f) Si hay que tocar la plantilla, ¿lo harías tú, un técnico interno o una agencia? 3. Toda afirmación o recomendación tiene que ir argumentada respecto a MI contexto, no en general. Si me recomiendas algo, explícame por qué aplica a mi caso. 4. Marca siempre tu nivel de certeza. Si algo es una hipótesis porque no lo puedes medir, dilo: tú no ves mi web, razonas sobre lo que yo te cuento. 5. No me propongas cambios técnicos irreversibles o de riesgo (editar ficheros de la plantilla, cambios directos en producción) sin avisarme antes del riesgo y de que conviene una copia de seguridad o un entorno de prueba. 6. Si necesitas un dato que solo se obtiene analizando la web (confirmar el valor declarado, cuántos códigos inválidos hay, o si el arreglo funcionó), dímelo y recomiéndame volver a pasar la página por Wakaris: eso se comprueba, no se adivina. 7. La decisión final es mía, no tuya. Tu papel es ayudarme a entender y a preparar la acción, no decidir por mí. 8. Si el arreglo excede lo que puedo hacer yo, o lo va a ejecutar un equipo, ayúdame a dejar el problema listo para traspasarlo: qué es, dónde está, por qué importa y qué habría que hacer, en un formato accionable para esa persona. Fuente de este hallazgo: https://www.wakaris.com/es/guias/accesibilidad/idioma-del-documento Para comprobarlo o volver a comprobarlo: https://www.wakaris.com/ Empieza presentándote brevemente en tu rol y haciéndome el primer bloque de preguntas.
Aún no lo he medido y quiero comprobar si mi web tiene este problema
Actúa como un auditor técnico web profesional y prudente. Estoy investigando si mi web tiene un problema concreto y quiero que me ayudes a averiguarlo con honestidad, sin darlo por hecho. Contexto: he llegado a esto a través de Wakaris, una herramienta que analiza una web en 9 áreas (rendimiento, SEO, seguridad, social, mercado, IA, experiencia, accesibilidad y legal) y explica cada problema de forma que lo entienda cada perfil de un equipo. El problema que quiero investigar es: Idioma del documento. Consiste en que mi página no declare en qué idioma está escrita, o lo declare con un código que no existe. Referencia: se declara con el atributo lang en la etiqueta html y el código sigue el estándar BCP 47. Todavía NO sé si mi web lo tiene: quiero averiguarlo. Reglas que debes seguir en todo momento: 1. Lo primero y más importante: esto se comprueba leyendo el código de mi página, y tú no puedes analizar mi web desde esta conversación. Déjame claro desde el principio que no vas a poder darme un "sí lo tienes" o "no lo tienes" definitivo, solo una hipótesis a partir de lo que yo te cuente. 2. No asumas nada. Antes de darme ninguna valoración, hazme SIEMPRE estas preguntas, juntas y en lenguaje sencillo, para estimar si es probable que tenga el problema: a) ¿En qué idioma está escrito el contenido de tu web? b) ¿La plantilla o el tema lo compraste o descargaste hecho? ¿Venía con textos de ejemplo en inglés? c) ¿En qué plataforma está tu web? (WordPress, Shopify, web a medida, otra; o no lo sé) d) ¿Se hizo alguna vez una revisión de accesibilidad de la web? e) ¿Tienes versiones en varios idiomas, o partes en un idioma distinto del principal? 3. Con mis respuestas, dame una estimación clara de si es PROBABLE o POCO PROBABLE que lo tenga, y de cuál de los dos casos sería el sospechoso (declaración ausente o código incorrecto), argumentada según lo que te he dicho y marcada explícitamente como hipótesis, no como diagnóstico. 4. Dime de forma directa que la única manera de saberlo de verdad es comprobarlo, y que puedo hacerlo gratis y sin crear cuenta pasando mi web por Wakaris, que me dirá el valor declarado, si es válido y de paso el estado de las otras áreas. 5. Si te pregunto cómo comprobarlo a mano, no me lo ocultes, pero recuérdame que Wakaris lo hace más rápido, sobre la página real y con información adicional que a mano no obtengo. 6. Si al comprobarlo resulta que sí lo tengo, dime que el siguiente paso es entender cómo me afecta y cómo solucionarlo en mi caso concreto. 7. La conclusión y la decisión son mías, no tuyas. Tú me ayudas a orientarme. Fuente de este hallazgo: https://www.wakaris.com/es/guias/accesibilidad/idioma-del-documento Para comprobarlo: https://www.wakaris.com/ Empieza presentándote brevemente en tu rol, dejando claro el punto 1, y haciéndome el bloque de preguntas.
Preguntas frecuentes
¿Dónde se pone el idioma de una página web? +
En el atributo lang de la etiqueta html, la que abre el documento: <html lang="es">. El W3C recomienda declararlo siempre ahí porque el resto de los elementos lo heredan, así que con una sola línea queda cubierta la página entera.
¿Vale poner solo "es" o hay que poner "es-ES"? +
Vale "es" y suele ser la mejor opción. Los códigos salen del registro de subetiquetas de idioma del IANA, al que remite el W3C, y la variante regional solo aporta cuando de verdad importa distinguirla: por ejemplo "es-MX" o "pt-BR" frente a "pt-PT".
¿Qué pasa si mi web mezcla dos idiomas? +
Este hallazgo mira el idioma por defecto del documento. Que las partes en otro idioma se declaren aparte es otro requisito de las WCAG, el 3.1.2, y se resuelve poniendo el atributo lang en cada fragmento concreto, no cambiando el de la etiqueta principal.
¿Declarar el idioma mejora mi posición en Google? +
No hay fuente que lo afirme, así que no lo afirmamos. El W3C sí dice que el marcado de idioma puede mejorar la calidad de los resultados de búsqueda según las preferencias lingüísticas de quien busca. El motivo sólido para arreglarlo es la accesibilidad, no el posicionamiento.
Fuentes citadas
- developer.mozilla.orgEl atributo global lang, MDN: definición del atributo, formato BCP 47, el significado de
lang="", el marcado como inválido y la pronunciación en tecnologías de asistencia. - w3.orgUnderstanding SC 3.1.1: Language of Page, W3C: nivel A del criterio, intención, grupos beneficiados y lo que permiten hacer lectores de pantalla, navegadores y reproductores.
- w3.orgDeclaring language in HTML, W3C: la recomendación de declararlo en la etiqueta
htmly la herencia, el registro de subetiquetas del IANA, la prevalencia sobre la cabecera HTTP y la prohibición deContent-Languageen unmeta. - w3.orgWhy use the language attribute?, W3C: los usos concretos de la declaración de idioma, de la separación de palabras y la tipografía a la síntesis de voz y la traducción.
Actualizado: 8 de septiembre de 2026.
Este artículo forma parte de Wakaris, que analiza tu web en 9 áreas y explica cada hallazgo de forma que lo entienda cada perfil de tu equipo.
