{"id":862,"date":"2026-03-24T11:57:54","date_gmt":"2026-03-24T11:57:54","guid":{"rendered":"https:\/\/webaccessible.cat\/guia-wcag\/idioma-de-la-pagina\/"},"modified":"2026-05-29T16:55:45","modified_gmt":"2026-05-29T16:55:45","slug":"idioma-de-la-pagina","status":"publish","type":"guia_wcag","link":"https:\/\/webaccessible.cat\/es\/guia-wcag\/idioma-de-la-pagina\/","title":{"rendered":"Idioma de la p\u00e1gina"},"content":{"rendered":"<h2>\u00bfQu\u00e9 problema resuelve el atributo lang?<\/h2>\n<p>Los lectores de pantalla usan la s\u00edntesis de voz para leer el contenido. Para pronunciar correctamente las palabras, necesitan saber en qu\u00e9 idioma est\u00e1n escritas. Un lector de pantalla configurado en ingl\u00e9s que lee un texto en catal\u00e1n sin indicaci\u00f3n de idioma intentar\u00e1 pronunciar las palabras catalanas con fonolog\u00eda inglesa. El resultado es completamente incomprensible.<\/p>\n<p>El criterio WCAG 3.1.1 exige que el idioma principal de cada p\u00e1gina pueda ser determinado program\u00e1ticamente. El atributo lang al elemento <code>&lt;html&gt;<\/code> es la manera est\u00e1ndar de cumplir este criterio.<\/p>\n<h2>C\u00f3mo se especifica el idioma<\/h2>\n<p><code>&lt;!-- Catal\u00e0 --&gt;<\/code><br \/>\n<code>&lt;html lang=\"ca\"&gt;<\/code><\/p>\n<p><code>&lt;!-- Castell\u00e0 --&gt;<\/code><br \/>\n<code>&lt;html lang=\"es\"&gt;<\/code><\/p>\n<p><code>&lt;!-- Angl\u00e8s --&gt;<\/code><br \/>\n<code>&lt;html lang=\"en\"&gt;<\/code><\/p>\n<p><code>&lt;!-- Catal\u00e0 de la Comunitat Valenciana --&gt;<\/code><br \/>\n<code>&lt;html lang=\"ca-ES\"&gt;<\/code><\/p>\n<h2>Cambios de idioma dentro del contenido<\/h2>\n<p>Si tu web tiene contenido en m\u00faltiples idiomas dentro de una misma p\u00e1gina, tienes que indicar los cambios de idioma con el atributo lang al elemento que contiene el contenido en idioma diferente:<\/p>\n<p><code>&lt;p&gt;El nostre lema \u00e9s &lt;span lang=\"en\"&gt;accessibility for all&lt;\/span&gt;.&lt;\/p&gt;<\/code><\/p>\n<p>Esto permite al lector de pantalla cambiar autom\u00e1ticamente la pronunciaci\u00f3n cuando cambia el idioma.<\/p>\n<h2>WordPress y el atributo lang<\/h2>\n<p>WordPress gestiona autom\u00e1ticamente el atributo lang si el idioma del lugar est\u00e1 configurado correctamente. Ve a <strong>Ajustes \u2192 General \u2192 Idioma del lugar<\/strong> y selecciona el idioma correspondiente. WordPress a\u00f1adir\u00e1 el atributo lang correcto al <code>&lt;html&gt;<\/code>.<\/p>\n<p>Si el teu tema usa una plantilla personalitzada que no hereta la configuraci\u00f3 d&#8217;idioma de WordPress, potser cal revisar que el fitxer <code>header.php<\/code> inclogui la funci\u00f3 <code>language_attributes()<\/code> de WordPress:<\/p>\n<p><code>&lt;html &lt;?php language_attributes(); ?&gt;&gt;<\/code><\/p>\n<h2>Valor inv\u00e1lido de lang<\/h2>\n<p>Axe-core comprueba dos cosas: que el atributo lang exista (<code>html-has-lang<\/code>) y que el valor sea v\u00e1lido (<code>html-lang-valid<\/code>). Un valor como <code>lang=\"catala\"<\/code> o <code>lang=\"cat\"<\/code> no es v\u00e1lido. Hay que usar los c\u00f3digos BCP 47 est\u00e1ndar: <strong>ca<\/strong> para el catal\u00e1n, <strong>es<\/strong> para el castellano, <strong>en<\/strong> para el ingl\u00e9s, <strong>fr<\/strong> para el franc\u00e9s, etc.<\/p>\n<p>Puedes verificar el valor del lang de tu web con la herramienta de autoevaluaci\u00f3n de webaccessible.cat, que comprueba tanto la existencia como la validez del c\u00f3digo de idioma.<\/p>\n<div class=\"et_pb_section_0 et_pb_section et_pb_section--fixed et_section_regular et_flex_section et-interaction-target-03o12ngdyu\" data-interaction-target=\"03o12ngdyu\"><div class=\"et_pb_row_0 et_pb_row et_flex_row\"><div class=\"et_pb_column_0 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\"><div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module preset--module--divi-text--default\"><div class=\"et_pb_text_inner\"><p>Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.<\/p>\n<\/div><\/div><\/div><div class=\"et_pb_column_1 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\"><div class=\"et_pb_icon_0 et_pb_icon et_pb_module et_flex_module\" data-interaction-trigger=\"4bs8z0k0z5\"><span class=\"et_pb_icon_wrap\"><span class=\"et-pb-icon\">M<\/span><\/span><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Sin el atributo lang, un lector de pantalla configurado en ingl\u00e9s leer\u00e1 el contenido en catal\u00e1n con pronunciaci\u00f3n inglesa, haci\u00e9ndolo incomprensible. Es un error f\u00e1cil de corregir con gran impacto. <\/p>\n","protected":false},"featured_media":0,"template":"","class_list":["post-862","guia_wcag","type-guia_wcag","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/webaccessible.cat\/es\/wp-json\/wp\/v2\/guia_wcag\/862","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webaccessible.cat\/es\/wp-json\/wp\/v2\/guia_wcag"}],"about":[{"href":"https:\/\/webaccessible.cat\/es\/wp-json\/wp\/v2\/types\/guia_wcag"}],"wp:attachment":[{"href":"https:\/\/webaccessible.cat\/es\/wp-json\/wp\/v2\/media?parent=862"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}