Addaw, ir a inicio Donar

Técnica CSS WCAG 2.2

C38Usar width, max-width y flexbox de CSS para ajustar las etiquetas y los campos de entrada

En resumen

Esta técnica explica cómo combinar las propiedades CSS width y max-width con flexbox para que las etiquetas y los campos de los formularios se recoloquen y cambien de tamaño según el espacio disponible, sin provocar desplazamiento horizontal a 320 píxeles CSS ni con zoom al 400 %. Es útil en formularios de diseños adaptables y beneficia a quienes usan zoom o móviles (criterio 1.4.10 Reajuste de elementos).

Aplicabilidad

CSS y HTML.

Descripción

El objetivo de esta técnica es poder presentar etiquetas y campos de entrada sin introducir una barra de desplazamiento horizontal a una anchura equivalente a 320 píxeles CSS en el caso de contenido pensado para desplazarse verticalmente. Cuando el espacio de la ventana gráfica es limitado y la etiqueta y el campo de entrada no pueden situarse uno junto al otro en horizontal, pasan a alinearse en vertical. Para ello se utilizan las propiedades CSS width, max-width y flexbox, que se adaptan al espacio disponible.

Los diseños adaptables pueden añadir o quitar columnas o bloques de la disposición, y cada parte de la disposición puede ser más ancha o más estrecha en distintos puntos. Esta técnica garantiza que las etiquetas y los campos de entrada no se salgan de su área de disposición, incluso en diseños de una sola columna, donde provocarían desplazamiento horizontal.

El planteamiento básico para ajustar las etiquetas y los campos de entrada consiste en:

  1. Definir el tamaño de las regiones de la disposición mediante propiedades de flexbox y consultas de medios (media queries) para tamaños concretos de la ventana gráfica, de modo que se agranden, se reduzcan o se ajusten en varias líneas según el espacio disponible y respondan a los niveles de zoom;
  2. Colocar las regiones de la disposición dentro del contenedor flexbox como una fila de elementos flexbox adyacentes, que pueden pasar a nuevas filas cuando sea necesario, de forma muy parecida a como se ajustan las palabras de un párrafo.
  3. Definir las propiedades width y max-width de las etiquetas y los campos de entrada, de modo que se agranden o se reduzcan en el espacio disponible y respondan a los niveles de zoom.

Todas las etiquetas y campos de entrada requieren cierto cuidado en el diseño: hay que asegurarse de que el tamaño original se ajusta al mayor de los espacios disponibles para obtener buenos resultados visuales en una amplia gama de tamaños de ventana gráfica y niveles de zoom. Para obtener ayuda sobre flexbox, consulte el artículo de MDN sobre Flexbox.

Ejemplos

Ajustar etiquetas, campos de entrada y disposición flexbox con HTML y CSS.

El siguiente ejemplo utiliza HTML y CSS para ajustar etiquetas y campos de entrada dentro de contenedores de distintas anchuras, incluida la ventana gráfica. Las regiones de la disposición cambian de tamaño cuando se modifica la ventana gráfica. A continuación, las etiquetas y los campos de entrada ajustan su tamaño para caber dentro de los contenedores de las regiones de la disposición.

El nivel de zoom puede aumentarse hasta el 400 % sin que haga falta desplazamiento horizontal. Este ejemplo concreto utiliza un tamaño en porcentaje para width y max-width en las etiquetas y los campos de entrada. Se aplica max-width para corregir, de forma compatible con todos los navegadores, que los elementos se salgan de la rejilla, ya que los elementos reemplazados, como select, tienen un dimensionado intrínseco.

<style>
/* Fitting Inputs Styling */
.form-group {
  display: flex;
  flex-flow: row wrap;
  margin: 0 -1rem 1rem -1rem;
}
[class*="form-col"] {
  flex: 0 1 100%;
  padding: 0 1rem;
}
@media (min-width: 576px) {
  .form-col-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .form-col-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .offset-form-col-4 {
    margin-left: 33.33333%;
  }
}
input {
  display: block;
  width: 100%;
}
label, select {
  display: block;
  width: 100%;
  max-width: 100%;
}
</style>
<div class="form-group">
  <div class="form-col-4">
    <label for="fname">First Name</label>
  </div>
  <div class="form-col-8">
    <input type="text" id="fname" autocomplete="given-name">
  </div>
</div>
<div class="form-group">
  <div class="form-col-4">
    <label for="lname">Last Name</label>
  </div>
  <div class="form-col-8">
    <input type="text" id="lname" autocomplete="family-name">
  </div>
</div>
<div class="form-group">
  <div class="form-col-4">
   <label for="favorite-fruit">Favorite fruit</label>
  </div>
  <div class="form-col-8">
    <select id="favorite-fruit">
      <option>Banana</option>
      <option>Pineapple</option>
      <option>Strawberry</option>
    </select>
  </div>
</div>
<div class="form-group">
  <div class="offset-form-col-4 form-col-8">
    <button type="submit">Submit</button>
  </div>
</div>

Ejemplo práctico: Usar etiquetas y campos de entrada ajustables para el reajuste (reflow)

Pruebas

Procedimiento

  1. Mostrar la página web en un agente de usuario capaz de hacer zoom al 400 % y establecer las dimensiones de la ventana gráfica (en píxeles CSS) en 1280 de ancho y 1024 de alto.
  2. Ampliar con zoom al 400 %.
  3. Para el contenido que se desplaza verticalmente, todas las etiquetas y campos de entrada caben en su espacio disponible sin desplazamiento horizontal.

Nota: si el navegador no es capaz de ampliar al 400 %, puede reducir la anchura del navegador proporcionalmente. Por ejemplo, con un zoom del 300 %, la ventana gráfica debería tener 960 px de ancho.

Resultados esperados

La comprobación n.º 3 es verdadera.

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.

Solicitar una auditoría

Fuente y licencia

Traducción al español, no oficial, realizada por ADDAW a partir de la técnica C38 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