SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
10.03.2025

Abrindo Link em Nova Aba com Botão HTML: Uma Solução

Resposta Rápida

Para abrir uma página da web em uma nova janela do navegador usando um botão HTML, utilize o atributo onclick juntamente com a função window.open():

<button onclick="window.open('https://www.exemplo.com', '_blank')">Abrir em Nova Aba</button>

Certifique-se de especificar a URL como o primeiro argumento da função window.open() e '_blank' como o segundo argumento. Isso permitirá que o link se abra em uma nova aba.

Soluções para Várias Situações

No mundo do HTML, existem inúmeras soluções para diferentes tarefas. Vamos explorar as mais significativas:

Usando Ancoragem para Compatibilidade entre Navegadores

Para garantir um comportamento consistente entre diferentes navegadores, é recomendável usar um botão dentro de uma tag <a>:

<a href="https://www.exemplo.com" target="_blank">
  <button type="button">Abrir em Nova Aba</button>
</a>

Essa abordagem combina a funcionalidade do navegador para abrir links em uma nova janela com o elemento do botão.

Usando Formulários para Acessar Links

Uma maneira semântica de abrir links em uma nova aba é usando formulários com o atributo target="_blank":

<form action="https://www.exemplo.com" target="_blank" method="get">
  <button type="submit">Abrir em Nova Aba</button>
</form>

Esse método é especialmente adequado para enviar dados de formulário, em conformidade com seu principal propósito.

Prevenindo Comportamento Padrão

Adicionar return false após chamar window.open() no atributo onclick desativa o comportamento padrão do botão:

<button onclick="window.open('https://www.exemplo.com', '_blank'); return false;">Abrir em Nova Aba</button>

Considerando a Experiência do Usuário

Links corretamente implementados que abrem em uma nova aba ajudam a evitar confusões entre os usuários. Para melhorar a legibilidade para leitores de tela, é essencial seguir os princípios de acessibilidade e usar os atributos apropriados.

Visualização

Aqui está um exemplo visual onde a casa representa o contexto atual e o sino ilustra a ação do usuário:

Link Regular:      [🔔] -> Abre a porta para o cômodo atual 🏠  
Link em uma nova aba:  [🔔🆕] -> Leva você a uma nova realidade 🌍  

O botão HTML atua como um meio de transporte:

<button onclick="window.open('http://exemplo.com', '_blank');">
  Clique no botão para viajar
</button>

Assim, você entra em um novo espaço sem sair de sua casa atual.

Quando Usar _blank Pode Ser Inadequado

Apesar dos benefícios que _blank oferece, seu uso excessivo pode prejudicar a experiência do usuário devido ao número excessivo de abas abertas. É importante evitar o uso desnecessário dessa funcionalidade para prevenir problemas de desempenho.

Alternativas Sem Usar JavaScript

Se o JavaScript não estiver acessível, você pode utilizar o atributo download no HTML5 para baixar recursos em uma nova janela:

<a href="https://www.exemplo.com/documento.pdf" download>
  Baixar Documento
</a>

Garantindo Acessibilidade

É recomendável adicionar o atributo rel="noopener noreferrer" a elementos com o atributo target="_blank" para aumentar a segurança e a acessibilidade:

<a href="https://www.exemplo.com" target="_blank" rel="noopener noreferrer">
  Ir para Exemplo
</a>

Recursos Úteis

  1. O atributo target na tag <a> no W3Schools — Informações detalhadas sobre como usar o atributo 'target' para abrir links em uma nova aba.
  2. Elemento Ancla – MDN — Descrição abrangente da tag de âncora e seus atributos na Mozilla Developer Network.
  3. Can I Use... — Um banco de dados contendo informações sobre o suporte a vários elementos HTML5 nos navegadores.
  4. Guia de Uso do ARIA — Este guia descreve as melhores práticas para criar links acessíveis com o atributo 'target="_blank"'.
  5. WebAIM: Arquivo de Discussões por E-mail — Discussão sobre questões de acessibilidade relacionadas à abertura de links em novas abas.

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!