Gostaria de criar um botão HTML que funciona como um link. Então, quando você clica no botão, ele é redirecionado para uma página. Eu gostaria que fosse o mais acessível possível.
Também gostaria que não houvesse caracteres extras ou parâmetros no URL.
Como posso conseguir isso?
Com base nas respostas postadas até agora, atualmente estou fazendo o seguinte:
<form method="get" action="/page2">
<button type="submit">Continue</button>
</form>
mas o problema é que, no Safari e no Internet Explorer , ele adiciona um caractere de ponto de interrogação ao final do URL. Preciso encontrar uma solução que não adicione caracteres ao final da URL.
Existem duas outras soluções para fazer isso: usar JavaScript ou estilizar um link para parecer um botão.
Usando JavaScript:
<button onclick="window.location.href='/page2'">Continue</button>
Mas isso obviamente requer JavaScript e, por esse motivo, é menos acessível aos leitores de tela. O objetivo de um link é ir para outra página. Portanto, tentar fazer um botão agir como um link é a solução errada. Minha sugestão é que você use um link e estilize-o para parecer um botão .
<a href="/link/to/page2">Continue</a>
GET
que ela falhe. Eu ainda acho que usar um link faz sentido com a ressalva de que ele não reagirá à "barra de espaço" quando ativo, como o botão. Além disso, alguns estilos e comportamentos serão diferentes (como arrastáveis). Se você deseja a experiência "link do botão" verdadeira, ter redirecionamentos do lado do servidor para concluir o URL ?
para removê-lo também pode ser uma opção.
?
no URL. Isso é causado pelo formuláriotype="GET"
, altere paratype="POST"
e?
no final do URL desaparece. Isso ocorre porque o GET envia todas as variáveis na URL, daí o?
.