form-control-programmatic-label-present
Los controles de formulario deben tener una etiqueta programática
Comprueba que los controles de formulario tengan una etiqueta programática mediante <label>, aria-label, aria-labelledby, title o placeholder.
Ámbito de aplicación. Se aplica a los elementos <input>, <select> y <textarea> incluidos en el árbol de accesibilidad, excluyendo los tipos de input hidden, submit, reset, button e image, que toman su nombre de un atributo value o alt en lugar de una etiqueta. Un control con un rol de widget ARIA explícito queda fuera del alcance: button, checkbox, combobox, listbox, textbox, slider y el resto de ROLE_OWNED_ELSEWHERE tienen cada uno su propia regla de nomenclatura, y role="presentation"/"none" elimina un control salvo que siga siendo enfocable con tabulación.
Resultado esperado. Cada control aplicable tiene una etiqueta programática mediante uno de los mecanismos que resuelve helpers.getLabelMethod, en su orden de prioridad: un <label> asociado, aria-labelledby, aria-label, title y luego placeholder. Cualquiera de los cinco satisface esta regla. Si los dos mecanismos más débiles son una etiqueta principal adecuada es una cuestión distinta, planteada por form-control-programmatic-label-quality.
Ejemplos
<label for="email">Full name</label><input id="email" type="text">
La asociación `<label for>` le da al input una etiqueta programática.
<input type="text">
No hay `<label>`, `aria-label` ni `aria-labelledby`: nada programático nombra el campo.