Addaw, ir a inicio Donar

Técnica Scripts de cliente WCAG 2.2

SCR34Calcular el tamaño y la posición de forma que se escalen con el tamaño del texto

En resumen

Cuando un script coloca o dimensiona elementos con valores fijos en píxeles, al aumentar el tamaño del texto el contenido puede recortarse o desaparecer. Esta técnica propone calcular el tamaño y la posición a partir de las propiedades offsetHeight, offsetWidth, offsetLeft y offsetTop de los elementos, de modo que la maquetación se adapte al texto ampliado. Beneficia a quienes amplían el texto hasta el 200 % por baja visión.

Aplicabilidad

Scripts del lado del cliente.

Descripción

El objetivo de esta técnica es calcular el tamaño y la posición de los elementos de forma que se escalen adecuadamente cuando se escala el tamaño del texto.

En JavaScript hay cuatro propiedades que ayudan a determinar el tamaño y la posición de los elementos:

  • offsetHeight (la altura del elemento en píxeles)
  • offsetWidth (la anchura del elemento en píxeles)
  • offsetLeft (la distancia del elemento al borde izquierdo de su elemento padre (offsetParent) en píxeles)
  • offsetTop (la distancia del elemento al borde superior de su elemento padre (offsetParent) en píxeles)

Calcular la altura y la anchura con offsetHeight y offsetWidth es sencillo, pero al calcular la posición izquierda y superior de un objeto como valores absolutos es necesario tener en cuenta el elemento padre. La función calculatePosition que se muestra a continuación recorre todos los nodos padre de un elemento para obtener el valor final. La función recibe dos parámetros: objElement (el nombre del elemento en cuestión) y la propiedad de desplazamiento (offsetLeft u offsetTop):

Ejemplos

Calcular el tamaño y la posición de los elementos de forma que se escalen adecuadamente cuando se escala el tamaño del texto

function calculatePosition(objElement, strOffset {
  var iOffset = 0;
	if (objElement.offsetParent) {
    do {
      iOffset += objElement[strOffset];
      objElement = objElement.offsetParent;
    } while (objElement);
  }
  return iOffset;
}

El siguiente ejemplo ilustra el uso de la función anterior para alinear un objeto debajo de un objeto de referencia, a la misma distancia del borde izquierdo:

// Get a reference object
var objReference = document.getElementById('refobject');
// Get the object to be aligned
var objAlign = document.getElementById('lineup');
objAlign.style.position = 'absolute';
objAlign.style.left = calculatePosition(objReference, 'offsetLeft') + 'px';
objAlign.style.top = calculatePosition(objReference, 'offsetTop')
 + objReference.offsetHeight + 'px'; 

Pruebas

Procedimiento

  1. Abrir una página diseñada para ajustar el tamaño de los contenedores cuando cambia el tamaño del texto.
  2. Aumentar el tamaño del texto hasta el 200 % con el ajuste de tamaño del texto del navegador (no con la función de zoom).
  3. Examinar el texto para asegurarse de que el tamaño del contenedor se ajusta para dar cabida al tamaño del texto.
  4. Asegurarse de que ningún texto queda «recortado» o ha desaparecido como consecuencia del aumento del tamaño del texto.

Resultados esperados

  • Las comprobaciones n.º 3 y n.º 4 son verdaderas.

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 SCR34 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