Botão de envio do formulário
A Silktide examina os formulários das suas páginas e informa quando algum deles tem campos preenchíveis, mas não tem um botão de envio. Sem um botão, alguns visitantes não têm como enviar o formulário, e outros não conseguem prever quando ele será enviado.
Por que isso é importante
Um botão de envio visível informa duas coisas aos visitantes: como enviar o formulário e que nada acontecerá até que eles escolham fazê-lo. Algumas pessoas que usam só conseguem enviar um formulário ativando um botão — pressionar Enter em um campo não está disponível para todas as pessoas. Além disso, um formulário sem botão geralmente é enviado automaticamente enquanto o visitante digita ou altera uma seleção, uma mudança inesperada de contexto que pode desorientar usuários de e pessoas com deficiências cognitivas, que de repente se veem em uma página diferente no meio de uma tarefa.
Este é o critério de sucesso 3.2.2 da (Ao Receber Entrada), um requisito de — parte do nível de conformidade mais básico.
Como corrigir
Adicione um botão de envio a cada formulário sinalizado, identificando-o explicitamente com type="submit":
<!-- Problema: não há como enviar deliberadamente -->
<form action="/search">
<input type="text" name="q">
</form>
<!-- Correção: um botão de envio explícito -->
<form action="/search">
<input type="text" name="q">
<button type="submit">Pesquisar</button>
</form>
Se o formulário realmente não deve ser enviado para nenhum lugar — por exemplo, um filtro que atualiza os resultados em tempo real e anuncia seu comportamento — você pode o resultado ou excluir o elemento da verificação.
Como a Silktide testa isso
- Encontra todos os elementos
<form>na página, ignorando os que você excluiu da verificação. - Ignora formulários sem campos utilizáveis — formulários que não contêm entradas, áreas de texto, seleções ou botões visíveis quando a página é carregada. Isso ignora formulários de rastreamento e os formulários invisíveis que envolvem a página, gerados por algumas plataformas, que de outra forma seriam falsos positivos.
- Informa cada formulário restante que não contém nenhum elemento com
type="submit".
Solução de problemas
Meu formulário tem um botão, mas ainda assim foi sinalizado
A Silktide procura um type="submit" explícito. Um <button> sem um atributo type envia o formulário na maioria dos navegadores, mas não é reconhecido por esta verificação — e adicionar type="submit" é uma boa prática de qualquer forma, pois torna o comportamento do botão inequívoco. Botões com type="button" nunca enviam o formulário.
O formulário é exibido após uma interação
Os campos são avaliados quando a página é carregada pela primeira vez. Um formulário que começa oculto e é exibido posteriormente, como dentro de um menu pop-up, pode não ser testado; portanto, uma aprovação nesta verificação não garante que todos os formulários da página tenham um botão.