nested-interactive-controls-absent

Los controles interactivos no deben anidarse

automaticWCAG 4.1.2 (A)confianza: highgravedad: seriousrobust

Comprueba que un control interactivo (enlace, botón, control de formulario o rol de widget ARIA) no contenga otro control interactivo.

Ámbito de aplicación. Se aplica a elementos que coinciden con el conjunto de controles interactivos (a[href] nativo, button, input (no hidden), select, textarea; o un rol de widget ARIA explícito: button, link, checkbox, radio, switch, tab, textbox, combobox, listbox, menuitem, menuitemcheckbox, menuitemradio, option, slider, spinbutton, searchbox, treeitem). El contenedor es aplicable independientemente de si él mismo es enfocable; la focalizabilidad solo se usa para decidir si un *descendiente* anida un control interactivo.

Resultado esperado. El elemento no contiene, como descendiente, otro control interactivo *operable* (por ejemplo, un <button> que envuelve un <select>, o un enlace que contiene un checkbox). Los controles interactivos anidados no se anuncian ni se operan de forma fiable mediante tecnología de asistencia; activar el control externo y el interno se vuelve ambiguo, y algunas AT solo exponen uno de los dos.

Ejemplos

pass
<button>Click me</button>

No hay ningún control interactivo anidado.

fail
<button>
<input type="checkbox"> Accept
</button>

Un `<button>` contiene anidado un `<input type="checkbox">`, otro control enfocable.

Ver código fuente