Ir para o conteúdo principal
WBC - GovBR-DS
Copiar página como Markdown para IA

Link

Componente estável e recomendada para novos projetos.
Anatomia, uso, comportamento visual e recomendações conceituais são mantidos pelo Padrão Digital de Governo. Esta página documenta a implementação Web Components e sua API executável.

Visão Geral

Design System

Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o Design System do GovBR.

Exemplo(s)

Desktop (100%)
Tablet - 768px
iPhone (iOS) - 390x844
Android - 360x800
Compartilhar URL
Mudar fundo
Abrir no StackBlitz
Tela cheia
HTML
Controles
JS
CSS
Console
Angular (Somente leitura)
React (Somente leitura)
Vue (Somente leitura)
Acessibilidade
Recolher controles e código
Formatar código
Resetar código para o estado inicial
Copiar para a área de transferência

Propriedades

ariaCurrent

Atributoaria-current
DescriçãoValor canônico de aria-current.
Tipostring
Valor padrãonull

ariaDescribedBy

Atributoaria-describedby
DescriçãoValor canônico de aria-describedby.
Tipostring
Valor padrãonull

ariaExpanded

Atributoaria-expanded
DescriçãoValor canônico de aria-expanded.
Tipostring
Valor padrãonull

ariaHasPopup

Atributoaria-haspopup
DescriçãoValor canônico de aria-haspopup.
Tipostring
Valor padrãonull

ariaLabel

Atributoaria-label
DescriçãoValor canônico de aria-label.
Tipostring
Valor padrãonull

ariaSelected

Atributoaria-selected
DescriçãoValor canônico de aria-selected.
Tipostring
Valor padrãonull

button

Atributobutton
DescriçãoExibe o link com o mesmo visual do componente br-button.
Tipoboolean
Valor padrãofalse

disabled

Atributodisabled
DescriçãoDesativa o link, tornando-o não interativo.
Quando true: remove o href (um <a> sem href sai da ordem de
tabulação e não recebe foco, nem por clique), marca aria-disabled="true"
e bloqueia o clique (sem navegação nem emissão de brNavigate).
Se o link estiver focado no momento da desativação, o foco é removido.
Útil para componentes como br-pagination e br-wizard.
Tipoboolean
Valor padrãofalse

download

Atributodownload
DescriçãoNome sugerido para download. Uma string vazia preserva o nome definido pelo servidor.
Tipostring
Valor padrão---

href

Atributohref
DescriçãoURL de destino do link.
Tipostring
Valor padrão'#'

hreflang

Atributohreflang
DescriçãoIdioma do recurso apontado pelo link.
Tipostring
Valor padrão---

isSpaLinkBehavior Componente mantido por compatibilidade; prefira a alternativa indicada na documentação.

Atributois-spa-link-behavior
DepreciaçãoUse navigationMode="event" e o evento brNavigate.
Descrição
Tipoboolean
Valor padrãofalse

linkAriaCurrent Componente mantido por compatibilidade; prefira a alternativa indicada na documentação.

Atributolink-aria-current
DepreciaçãoUse ariaCurrent.
Descrição
Tipostring
Valor padrão---

linkAriaDescribedby Componente mantido por compatibilidade; prefira a alternativa indicada na documentação.

Atributolink-aria-describedby
DepreciaçãoUse ariaDescribedBy.
Descrição
Tipostring
Valor padrão---

linkAriaExpanded Componente mantido por compatibilidade; prefira a alternativa indicada na documentação.

Atributolink-aria-expanded
DepreciaçãoUse ariaExpanded.
Descrição
Tipostring
Valor padrão---

linkAriaHaspopup Componente mantido por compatibilidade; prefira a alternativa indicada na documentação.

Atributolink-aria-haspopup
DepreciaçãoUse ariaHasPopup.
Descrição
Tipostring
Valor padrão---

linkAriaLabel Componente mantido por compatibilidade; prefira a alternativa indicada na documentação.

Atributolink-aria-label
DepreciaçãoUse ariaLabel.
Descrição
Tipostring
Valor padrão---

linkAriaSelected Componente mantido por compatibilidade; prefira a alternativa indicada na documentação.

Atributolink-aria-selected
DepreciaçãoUse ariaSelected.
Descrição
Tipostring
Valor padrão---

linkRole

Atributolink-role
DescriçãoEncaminhamento de role para o elemento âncora interno.
Tipostring
Valor padrão---
Atributonavigation-mode
DescriçãoControla como o componente integra a navegação mantendo href real no elemento navegável.
- native (padrão): preserva o comportamento do navegador, conforme HTML/W3C.
- event: emite brNavigate; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.
Cliques com modificadores, botão do meio ou target diferente de _self permanecem nativos.
Tipo"event" | "native"
Valor padrão'native'

referrerPolicy

Atributoreferrer-policy
DescriçãoPolítica de referrer usada ao buscar o destino.
Tipo"" | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"
Valor padrão---

rel

Atributorel
DescriçãoRelação entre o documento atual e o destino (rel).
Quando target="_blank", noopener e noreferrer são sempre incluídos
(mesmo que rel seja definido) para mitigar tabnabbing e vazamento de window.opener.
Tipostring
Valor padrão---

target

Atributotarget
DescriçãoDefine como o link será aberto.
- _self: abre no mesmo contexto de navegação
- _blank: abre em nova aba ou janela
- _parent: abre no contexto pai
- _top: abre no contexto de nível superior
Tipo"_blank" | "_parent" | "_self" | "_top"
Valor padrão---

type

Atributotype
DescriçãoTipo MIME informativo do recurso apontado.
Tipostring
Valor padrão---

Eventos

EventoDescriçãoDepreciaçãoPropagação
brNavigateEvento cancelável emitido em navigation-mode="event" para cliques primários sem modificadores em links _self. Chame event.preventDefault() no listener para impedir a navegação nativa e entregar event.detail.href ao roteador da SPA.---true
brSpaNavigate Componente mantido por compatibilidade; prefira a alternativa indicada na documentação.Use brNavigate.true

Dependências

Usado por

Gráfico

Eventos nativos

Elemento HTML de referência

br-link encapsula <a href>. O host decora a âncora; navigationMode="event" adiciona navegação coordenada pelo Design System.

Como ouvir os eventos

const link = document.querySelector('br-link');

link.addEventListener('click', (event) => {
console.log(event.target === link);
});

Eventos nativos suportados

EventoQuando ocorreBubblesComposedCancelableHostObservações
clickativação da âncoraSimSimSimSimPreserva cliques com modificadores e navegação nativa.
focus / blurentrada ou saída de focoNãoSimNãoSimPara delegação, prefira focusin/focusout.

Eventos não aplicáveis ou não suportados

EventoSituaçãoMotivoAlternativa
input / changeNão aplicávelLink não é controle de valor.Ouça click ou brNavigate.

Eventos customizados do componente

EventoQuando ocorreDetailBubblesComposedCancelable
brNavigateclique simples em navigationMode="event"destino e metadados de navegaçãoSimSimSim
brSpaNavigatealias depreciado com isSpaLinkBehaviordestino e evento de origemSimSimSim

Valor e estado após o evento

Consulte href, target, rel, download, hreflang, referrerPolicy, type, navigationMode e disabled no host. Cancelar brNavigate impede a ação coordenada.

Frameworks

HTML usa addEventListener; React usa onClick ou ref para brNavigate; Angular usa (click)/(brNavigate); Vue usa @click/@brNavigate.

Acessibilidade

Com href, Enter ativa a âncora. Um link desabilitado perde href e sai da tabulação.

Evidência de teste

_tests/link.e2e.tsx cobre navegação, cancelamento, modificadores, foco e disabled em Chromium headless. A matriz completa de flags e três engines permanece pendente.

Migração de Navegação

is-spa-link-behavior e brSpaNavigate continuam disponíveis como aliases depreciados para compatibilidade.

Agora, use navigation-mode="event" e trate brNavigate.

<!-- Antes -->
<br-link href="/perfil" is-spa-link-behavior>Perfil</br-link>

<!-- Agora -->
<br-link href="/perfil" navigation-mode="event">Perfil</br-link>
document.addEventListener('brNavigate', (event) => {
event.preventDefault();
router.navigate(event.detail.href);
});

Sem navigation-mode="event", o link usa o modo native e preserva a navegação normal do navegador. Quando navigation-mode="event" e o alias são informados juntos, o modo canônico prevalece.