Addaw, ir a inicio Donar

Fallo común Fallos comunes WCAG 2.2

F1Fallo del criterio de conformidad 1.3.2 debido a cambiar el significado del contenido al posicionar la información con CSS

En resumen

Este fallo se produce cuando se usa el posicionamiento CSS, en lugar de marcado estructural, para colocar visualmente el contenido en un orden distinto al del código fuente y ese orden visual cambia el significado. Las tecnologías de asistencia leen el contenido en el orden determinado por software, así que la persona recibe una secuencia distinta y confusa. Revíselo siempre que maquete columnas o reordene elementos con CSS.

Aplicabilidad

Todas las tecnologías que admiten CSS.

Descripción

Este documento describe la condición de fallo que se produce cuando se utiliza CSS, en lugar de marcado estructural, para modificar la disposición visual del contenido y la disposición modificada cambia el significado del contenido. Mediante las propiedades de posicionamiento de CSS, el contenido puede mostrarse en cualquier posición de la ventana gráfica del usuario. El orden en que los elementos aparecen en pantalla puede ser distinto del orden en que se encuentran en el documento fuente. Las tecnologías de asistencia se basan en el código fuente o en otro orden determinado por software para presentar el contenido en la secuencia correcta. Por tanto, es importante no depender de CSS para posicionar visualmente el contenido en una secuencia concreta si esa secuencia da lugar a un significado distinto del que tiene el orden de lectura determinado por software.

Ejemplos

El siguiente ejemplo muestra cómo se ha usado CSS de forma indebida para crear un conjunto de columnas. Además, el texto aparece visualmente en el navegador en un orden distinto al del marcado.

En este ejemplo se define una clase para cada objeto que se posiciona. Cuando se aplican las hojas de estilo, el texto aparece en dos columnas. Los elementos de las clases "menu1" (Products, «Productos») y "menu2" (Locations, «Ubicaciones») aparecen como encabezados de columna. "Telephones, Computers, and Portable MP3 Players" («Teléfonos, Ordenadores y Reproductores MP3 portátiles») se listan bajo Products, y "Idaho" y "Wisconsin" se listan bajo Locations (obsérvese el orden distinto de Idaho y Wisconsin en el orden del código fuente).

Como no se han utilizado los elementos estructurales adecuados, cuando no se aplican las hojas de estilo todo el texto aparece en una sola línea en el orden del código fuente: "Products Locations Telephones Computers Portable MP3 Players Wisconsin Idaho."

Este es el contenido HTML:

<div class="box">      
     <span class="menu1">Products</span>       
     <span class="menu2">Locations</span>       
     <span class="item1">Telephones</span>       
     <span class="item2">Computers</span>       
     <span class="item3">Portable MP3 Players</span>       
     <span class="item5">Wisconsin</span>       
     <span class="item4">Idaho</span>
</div>

Estos son los estilos del contenido anterior:

.menu1 { 
     position: absolute; 
     top: 3em; 
     left: 0em;     
     margin: 0px; 
     font-family: sans-serif;     
     font-size: 120%; 
     color: red; 
     background-color: white 
}        
.menu2 { 
     position: absolute; 
     top: 3em; 
     left: 10em;     
     margin: 0px; 
     font-family: sans-serif;     
     font-size: 120%; 
     color: red; 
     background-color: white 
}      
.item1 { 
     position: absolute; 
     top: 7em; 
     left: 0em; 
     margin: 0px 
}      
.item2 { 
     position: absolute; 
     top: 8em; 
     left: 0em; 
     margin: 0px 
}      
.item3 { 
     position: absolute; 
     top: 9em; 
     left: 0em; 
     margin: 0px 
}      
.item4 { 
     position: absolute; 
     top: 7em; 
     left: 14em; 
     margin: 0px 
}      
.item5 { 
     position: absolute; 
     top: 8em; left: 14em; 
     margin: 0px 
}      
#box { 
     position: absolute; 
     top: 5em; 
     left: 5em 
}

Una solución mejor para este contenido sería utilizar elementos con más significado, como una tabla o una lista de definiciones.

Pruebas

Procedimiento

Para el contenido que utiliza CSS para el posicionamiento:

  1. Identificar los elementos de contenido que utilizan CSS para el posicionamiento.
  2. Comprobar que el orden de lectura del contenido es correcto y que el significado del contenido se conserva en relación con la página o el contexto circundante, mediante uno de los métodos siguientes:
    • Inspección del código: revisar el código HTML para determinar la secuencia lógica de lectura.
    • Inspección del árbol de accesibilidad: examinar el árbol de accesibilidad para confirmar el orden de lectura.
    • Prueba con tecnología de asistencia: usar un lector de pantalla para comprobar cómo se lee en voz alta el contenido.
    • Prueba visual sin posicionamiento CSS: eliminar los estilos de posicionamiento y observar la secuencia visual de lectura.

Resultados esperados

  • Si alguna de las opciones de la comprobación n.º 2 es falsa, se da esta condición de fallo y el contenido falla el criterio de conformidad.

Cómo lo comprobamos en ADDAW

Este fallo es uno de los que buscamos en cada auditoría de accesibilidad de ADDAW: lo documentamos con capturas y el código afectado, indicamos el criterio que incumple y la técnica suficiente con la que se corrige. Los informes siguen la metodología del Observatorio de Accesibilidad y la norma UNE-EN 301 549.

Solicitar una auditoría

Fuente y licencia

Traducción al español, no oficial, realizada por ADDAW a partir de la técnica F1 del documento «Techniques for WCAG 2.2» del W3C (versión del repositorio público del W3C a 22/10/2026). Copyright © W3C® (MIT, ERCIM, Keio, Beihang). Se publica conforme a la licencia de documentos del W3C. El texto normativo de referencia es el original en inglés; si detecta un error en la traducción, escríbanos.

Financiado por la unión europea Gobierno de españa red.es Plan de recuperación transformación y resilencia kit digital