Fallo común Fallos comunes WCAG 2.2
F37Fallo del criterio de conformidad 3.2.2 debido a abrir una ventana nueva sin aviso previo cuando cambia la selección de un botón de opción, una casilla de verificación o una lista desplegable
En resumen
Este fallo se produce cuando el simple hecho de marcar un botón de opción, una casilla de verificación o una opción de una lista desplegable abre una ventana nueva sin haber avisado antes. Quien navega con teclado o lector de pantalla puede provocar el cambio sin querer al recorrer las opciones y perder el contexto. Use un botón de envío para iniciar el cambio de contexto o indique con claridad qué va a ocurrir.
Aplicabilidad
HTML
Descripción
Este documento describe un fallo que se produce cuando cambiar la selección de un botón de opción, una casilla de verificación o un elemento de una lista desplegable provoca que se abra una ventana nueva. Es posible usar scripts para crear un elemento input que provoque un cambio de contexto (enviar el formulario, abrir una página nueva, una ventana nueva) cuando se selecciona el elemento. En su lugar, quien desarrolla puede usar un botón de envío (véase Proporcionar un botón de envío para iniciar un cambio de contexto) o indicar claramente la acción esperada.
Ejemplos
El siguiente ejemplo falla el criterio de conformidad porque procesa el formulario cuando se selecciona un botón de opción en lugar de usar un botón de envío.
<script>
function goToMirror(theInput) {
var mirrorSite = "https://download." + theInput.value + "/";
window.open(mirrorSite);
}
</script>
<form name="mirror_form" id="mirror_form" action="" method="get">
<p>Please select a mirror download site:</p>
<p>
<input type="radio" onclick="goToMirror(this);" name="mirror"
id="mirror_belnet" value="belnet.be" />
<label for="mirror_belnet">belnet (<abbr>BE</abbr>)</label><br />
<input type="radio" onclick="goToMirror(this);" name="mirror"
id="mirror_surfnet" value="surfnet.nl" />
<label for="mirror_surfnet">surfnet (<abbr>NL</abbr>)</label><br />
<input type="radio" onclick="goToMirror(this);" name="mirror"
id="mirror_puzzle" value="puzzle.ch" />
<label for="mirror_puzzle">puzzle (<abbr>CH</abbr>)</label><br />
<input type="radio" onclick="goToMirror(this);" name="mirror"
id="mirror_voxel" value="voxel.com" />
<label for="mirror_voxel">voxel (<abbr>US</abbr>)</label><br />
</p>
</form>
Pruebas
Procedimiento
- Localizar cada formulario de la página.
- Para cada control de formulario que sea un botón de opción, una casilla de verificación o un elemento de una lista desplegable, comprobar si al cambiar la selección del control se abre una ventana nueva.
- Para cada ventana nueva resultante del paso 2, comprobar si se avisa al usuario de antemano.
Resultados esperados
Si la comprobación n.º 3 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.
Fuente y licencia
Traducción al español, no oficial, realizada por ADDAW a partir de la técnica F37 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.