Técnica CSS WCAG 2.2
C22Usar CSS para controlar la presentación visual del texto
En resumen
Esta técnica muestra cómo dar formato al texto real con propiedades CSS (fuente, tamaño, color, alineación, interlineado, espaciado...) en lugar de recurrir a imágenes de texto. Así el usuario puede ampliar el texto, cambiar sus colores o aplicar sus propias hojas de estilo desde el navegador. Resulta útil para encabezados, botones y banners, y beneficia a cualquier persona que necesite adaptar la presentación del contenido.
Aplicabilidad
Todas las tecnologías compatibles con CSS.
Descripción
El objetivo de esta técnica es demostrar cómo puede usarse CSS para controlar la presentación visual del texto. Esto permitirá a los usuarios modificar, a través del agente de usuario, las características visuales del texto para adaptarlas a sus necesidades. Las características del texto incluyen aspectos como el tamaño, el color, la familia tipográfica y la posición relativa.
CSS beneficia a la accesibilidad principalmente al separar la estructura del documento de su presentación. Las hojas de estilo se diseñaron para permitir un control preciso, fuera del marcado, del espaciado entre caracteres, la alineación del texto, la posición de los objetos en la página, la salida de audio y voz, las características de las fuentes, etc. Al separar el estilo del marcado, los autores pueden simplificar y limpiar el marcado de su contenido, haciéndolo al mismo tiempo más accesible.
El texto dentro de las imágenes presenta varios problemas de accesibilidad, entre ellos la imposibilidad de:
- escalarse según la configuración del navegador
- mostrarse en los colores especificados en la configuración del navegador o en las reglas de las hojas de estilo definidas por el usuario
- respetar la configuración del sistema operativo, como el alto contraste
Es mejor usar texto real para la parte textual de estos elementos, y una combinación de marcado semántico y hojas de estilo para crear la presentación visual adecuada. Para que esto funcione bien, elija fuentes que probablemente estén disponibles en el sistema del usuario y defina fuentes alternativas para los usuarios que quizá no tengan la primera fuente especificada. Los equipos y agentes de usuario más modernos suelen suavizar o aplicar antialiasing a todo el texto, por lo que es probable que sus encabezados y botones se vean bien en estos sistemas sin necesidad de recurrir a imágenes de texto.
Las siguientes propiedades CSS son útiles para dar estilo al texto y evitar la necesidad de incluir texto en imágenes:
- La propiedad
font-familyse usa para mostrar la parte de código en una familia tipográfica monoespaciada. - La propiedad
text-alignse usa para mostrar el texto a la derecha de la ventana gráfica. - La propiedad
font-sizese usa para mostrar el texto en un tamaño mayor. - La propiedad
font-stylese usa para mostrar el texto en cursiva. - La propiedad
font-weightse usa para establecer el grosor con que deben mostrarse los caracteres del texto. - La propiedad
colorse usa para mostrar el color del texto o de los contenedores de texto. - La propiedad
line-heightse usa para mostrar la altura de línea de un bloque de texto. - La propiedad
text-transformse usa para controlar si las letras del texto van en mayúsculas o minúsculas. - La propiedad
letter-spacingse usa para controlar el espaciado entre las letras del texto. - La propiedad
background-imagepuede usarse para mostrar texto sobre un fondo no textual. - El pseudoelemento
::first-linepuede usarse para modificar la presentación de la primera línea de un bloque de texto. - El pseudoelemento
::first-letterpuede usarse para modificar la presentación de la primera letra de un bloque de texto. - Los pseudoelementos
::beforey::afterpueden usarse para insertar contenido no textual decorativo antes o después de los bloques de texto.
Ejemplos
Usar font-family de CSS para controlar la familia tipográfica del texto
El componente HTML
<p>The JavaScript method to convert a string to uppercase is <code>toUpperCase()</code>.</p>
El componente CSS
code { font-family:"Courier New", Courier, monospace }
Usar text-align de CSS para controlar la posición (alineación) del texto
El componente HTML
<p class="right">This text should be to the right of the viewport.</p>
El componente CSS
.right { text-align: right; }
Usar font-size de CSS para controlar el tamaño del texto
El componente HTML
<p>09 <strong class="largersize">March</strong> 2008</p>
El componente CSS
strong.largersize { font-size: 1.5em; }
Usar color de CSS para controlar el color del texto
El estilo utilizado en este ejemplo no se emplea para transmitir información, estructura ni relaciones.
El componente HTML
<p>09 <em class="highlight">March</em> 2008</p>
El componente CSS
.highlight{ color: red; }
Usar font-style de CSS para poner el texto en cursiva
El estilo utilizado en este ejemplo no se emplea para transmitir información, estructura ni relaciones.
El componente HTML
<p>The article is available in the
<a href="https://www.example.com" class="featuredsite">Endocrinology Blog</a>.
</p>
El componente CSS
.featuredsite{ font-style:italic; }
Usar font-weight de CSS para controlar el grosor de la fuente del texto
El estilo utilizado en este ejemplo no se emplea para transmitir información, estructura ni relaciones.
El componente HTML
<p>This deal is available <span class="highlight">now!</span></p>
El componente CSS
.highlight { font-weight:bold; color:#990000; }
Usar text-transform de CSS para controlar las mayúsculas y minúsculas del texto
El estilo utilizado en este ejemplo no se emplea para transmitir información, estructura ni relaciones.
El componente HTML
<p>09 <span class="caps">March</span> 2008</p>
El componente CSS
.caps { text-transform:uppercase; }
Usar line-height de CSS para controlar el espaciado entre las líneas de texto
La propiedad line-height de CSS se usa para mostrar el párrafo con una altura de línea equivalente al doble de la altura de la fuente.
El componente HTML
<p>Concern for man and his fate must always form the chief interest of all technical
endeavors. Never forget this in the midst of your diagrams and equations.</p>
El componente CSS
p { line-height:2; }
La propiedad line-height de CSS se usa para mostrar el texto con una altura de línea inferior a la altura de la fuente. La segunda línea de texto se sitúa después de la primera y visualmente parece formar parte de ella, aunque ligeramente desplazada hacia abajo.
El componente HTML
<h1 class="overlap"><span class="upper">News</span>
<span class="byline">today</span>
</h1>
El componente CSS
.overlap { line-height:0.2;}
.upper { text-transform:uppercase; }
.byline {
color:red;
font-style:italic;
font-weight:bold;
padding-left:3em;
}
Usar letter-spacing de CSS para espaciar el texto
La propiedad letter-spacing de CSS se usa para mostrar las letras del encabezado más separadas entre sí.
El componente HTML
<h1 class="overlap"><span class="upper">News</span><br>
<span class="byline">today</span>
</h1>
El componente CSS
.overlap { line-height:0.2em; }
.upper { text-transform:uppercase; }
.byline {
color:red;
font-style:italic;
font-weight:bold;
padding-left:3em;
letter-spacing:-0.1em;
}
La propiedad letter-spacing de CSS se usa para mostrar las letras de la segunda línea de texto más juntas entre sí.
El componente HTML
<h1 class="upper2">News</h1>
El componente CSS
.upper2 { text-transform:uppercase; letter-spacing:1em; }
Usar background-image de CSS para superponer texto e imágenes
La propiedad font-style de CSS se usa para mostrar el componente textual de un banner y la propiedad background-image se usa para mostrar una imagen detrás del texto.
El componente HTML
<div id="banner"><span id="bannerstyle1">Welcome</span>
<span id="bannerstyle2">to your local city council</span>
</div>
El componente CSS
#banner {
color:white;
background-image:url(banner-bg.gif);
background-repeat:no-repeat;
background-color:#003399;
width:29em;
}
#bannerstyle1 {
text-transform:uppercase;
font-weight:bold;
font-size:2.5em;
}
#bannerstyle2 {
font-style:italic;
font-weight:bold;
letter-spacing:-0.1em;
font-size:1.5em;
}
Usar ::first-line de CSS para controlar la presentación de la primera línea de texto
El pseudoelemento ::first-line de CSS se usa para mostrar la primera línea de texto con una fuente más grande y de color rojo.
El componente HTML
<p class="startline">Once upon a time...<br />
...in a land far, far away...</p>
El componente CSS
.startline::first-line { font-size:2em; color:#990000; }
Usar ::first-letter de CSS para controlar la presentación de la primera letra del texto
El pseudoelemento ::first-letter de CSS se usa para mostrar la primera letra con un tamaño de fuente mayor, en rojo y alineada verticalmente en el centro.
El componente HTML
<p class="startletter">Once upon a time...</p>
El componente CSS
.startletter::first-letter { font-size:2em; color:#990000; vertical-align:middle; }
Pruebas
Procedimiento
- Comprobar si se han usado propiedades CSS para controlar la presentación visual del texto.
Resultados esperados
- La comprobación n.º 1 es verdadera.
Recursos
Cómo lo comprobamos en ADDAW
En las auditorías de accesibilidad de ADDAW revisamos cada criterio de conformidad siguiendo este catálogo de técnicas: comprobamos si la web aplica una técnica suficiente y documentamos cada fallo común con capturas y el código afectado, para que el equipo de desarrollo sepa exactamente qué corregir. Los informes siguen la metodología del Observatorio de Accesibilidad y la norma UNE-EN 301 549.
Fuente y licencia
Traducción al español, no oficial, realizada por ADDAW a partir de la técnica C22 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.