Botón de envío del formulario
Silktide examina los formularios de tus páginas e informa de cualquiera que tenga campos rellenables pero ningún botón de envío. Sin él, algunas personas visitantes no tienen forma de enviar el formulario y otras no pueden predecir cuándo actuará.
Por qué es importante
Un botón de envío visible comunica dos cosas a quienes visitan la página: cómo enviar el formulario y que no ocurrirá nada hasta que lo decidan. Algunas personas que usan solo pueden enviar un formulario activando un botón: pulsar Intro en un campo no está disponible para todo el mundo. Además, un formulario sin botón a menudo se envía automáticamente mientras la persona escribe o cambia una selección, un cambio de contexto inesperado que puede desorientar a quienes usan y a personas con discapacidades cognitivas, que de pronto se encuentran en otra página a mitad de tarea.
Esto corresponde al criterio de conformidad 3.2.2 (, «Al recibir entradas»), un requisito de , parte del nivel de conformidad más básico.
Cómo solucionarlo
Añade un botón de envío a cada formulario señalado, marcado explícitamente con type="submit":
<!-- Problema: no hay forma deliberada de enviar -->
<form action="/search">
<input type="text" name="q">
</form>
<!-- Solución: un botón de envío explícito -->
<form action="/search">
<input type="text" name="q">
<button type="submit">Buscar</button>
</form>
Si el formulario realmente no debe enviarse a ningún sitio —por ejemplo, un filtro que actualiza los resultados en tiempo real y anuncia su comportamiento— puedes el hallazgo o excluir el elemento de la comprobación.
Cómo lo comprueba Silktide
- Encuentra cada elemento
<form>de la página, omitiendo cualquiera que hayas excluido de la comprobación. - Ignora los formularios sin campos utilizables: formularios que no contienen elementos input visibles, áreas de texto, select o botones cuando la página se carga. Esto evita contar los formularios de seguimiento y los formularios invisibles que envuelven la página que generan algunas plataformas, que de otro modo serían falsos positivos.
- Informa de cada formulario restante que no contenga ningún elemento con
type="submit".
Resolución de problemas
Mi formulario tiene un botón, pero aun así fue señalado
Silktide busca un type="submit" explícito. Un <button> sin atributo type sí envía el formulario en la mayoría de los navegadores, pero esta comprobación no lo reconoce, y añadir type="submit" es una buena práctica de todos modos, ya que hace inequívoco el comportamiento del botón. Los botones con type="button" nunca envían.
El formulario se muestra tras interactuar
Los campos se evalúan cuando la página se carga por primera vez. Un formulario que empieza oculto y se muestra más tarde, como dentro de un menú emergente, puede que no se pruebe; por tanto, aprobar aquí no garantiza que todos los formularios de la página tengan un botón.