Técnica CSS WCAG 2.2
C18Usar margin y padding de CSS en lugar de imágenes espaciadoras
Nombre oficial en el W3C: Usar márgenes y relleno de CSS en lugar de imágenes espaciadoras para el control de la maquetación
En pocas palabras
Hace años se usaban imágenes invisibles de 1 píxel para separar elementos o sangrar textos. Hoy el espacio se crea con las propiedades margin y padding de CSS. Así la página no se llena de imágenes vacías que estorban a los lectores de pantalla.
Por qué es importante
Una imagen espaciadora no muestra nada, pero sigue siendo una imagen. Un lector de pantalla (programa que lee en voz alta lo que hay en la pantalla) la detecta. Si no tiene el texto alternativo vacío, el lector de pantalla puede anunciarla como «imagen» o leer el nombre del archivo, como «spacer.gif».
Además, estas imágenes fijan el espacio en píxeles. Cuando alguien amplía el texto, la separación no se adapta y la maquetación se descuadra.
Cómo se hace
- Elimine las imágenes que solo sirven para dejar hueco, como
<img src="blanco.gif" width="20">. - Use
marginpara dejar espacio por fuera de un elemento. Por ejemplo, para separar dos bloques de noticias. - Use
paddingpara dejar espacio por dentro. Por ejemplo, entre el borde de una celda y su texto. - Para sangrar un párrafo, use
margin-leftotext-indent, no una imagen delante del texto. - Si por algún motivo queda una imagen decorativa, póngale
alt=""para que el lector de pantalla la ignore.
Cómo comprobarlo
- Abra las herramientas del navegador (tecla F12) y busque elementos
imgmuy pequeños o transparentes. - Revise si alguna imagen sirve solo para separar o sangrar contenido.
- Compruebe que los espacios de la página se crean con
marginopaddingen la hoja de estilos. - Recorra la página con un lector de pantalla. No debe anunciar imágenes vacías ni nombres de archivo.
Ejemplo
Tabla de horarios separada del resto y con aire en sus celdas, sin ninguna imagen espaciadora.
<style>
table.horario { margin: 1.5em 0; }
table.horario td, table.horario th { padding: 0.5em 1em; }
</style>
<table class="horario">
<tr><th>Día</th><th>Horario</th></tr>
<tr><td>Lunes</td><td>9:00 a 14:00</td></tr>
</table>
Ver el texto completo del W3C (traducción al español)
Esta es una traducción no oficial al español de la técnica C18 de Techniques for WCAG 2.2, del W3C. Puede contener errores. El único documento oficial y normativo es la versión original en inglés, publicada en el sitio web del W3C.
Aplicabilidad
CSS
Descripción
Quienes diseñan webs usan a veces imágenes espaciadoras (normalmente GIF transparentes de 1 por 1 píxel) para controlar mejor la maquetación, por ejemplo en tablas o para sangrar un párrafo. Sin embargo, las hojas de estilo en cascada (CSS) permiten un control suficiente de la maquetación para sustituir las imágenes espaciadoras. Las propiedades CSS de márgenes y relleno pueden usarse por sí solas o combinadas para controlar la maquetación. Las propiedades de margen («margin-top», «margin-right», «margin-bottom», «margin-left» y la abreviada «margin») pueden usarse en cualquier elemento que se muestre como bloque; añaden espacio en el exterior del elemento. Las propiedades de relleno («padding-top», «padding-right», «padding-bottom», «padding-left» y la abreviada «padding») pueden usarse en cualquier elemento; añaden espacio en el interior del elemento.
Ejemplos
El siguiente ejemplo consta de dos partes: el código CSS, que especifica un margen en todos los lados de la tabla y un relleno para las celdas de la tabla; y el código HTML de la tabla, que no contiene imágenes espaciadoras y no está anidada dentro de otra tabla.
El CSS
table { margin: .5em; border-collapse: collapse; }
td, th { padding: .4em; border: 1px solid #000; }
El HTML
<table>
<caption>Books in the category 'Web development'</caption>
<thead>
<tr>
<th>Title</th>
<th>Author</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>How to Think Straight About Web Standards</td>
<td>Andrew Stanovich</td>
<td>1 April 2007</td>
</tr>
</tbody>
</table>
Recursos
Cómo lo comprobamos en ADDAW
En cada auditoría de ADDAW revisamos esta técnica página a página y le entregamos los errores con capturas y la forma de corregirlos.
Basado en la técnica C18 del W3C (WCAG 2.2). Explicación y ejemplos: ADDAW. Traducción no oficial del texto del W3C © W3C, licencia de documentos del W3C. ¿Ha visto un error? Escríbanos.