É um link quebrado?

12

Ao usar links de fragmentos de URL vazios, para enviar um usuário para o topo da página (por exemplo <a href="#">return to top</a>), esses links são considerados quebrados ou inválidos? Uma das minhas ferramentas é devolvê-las como links quebrados.

Nathan
fonte
Que "ferramenta" os considera quebrados?
precisa saber é o seguinte
Um programa PHP que eu uso para gerar um sitemap.
19413 Nathan
@ Su ': por que você excluiu meus agradecimentos? Eu fui sincero!
19413 Nathan
4
@ Nathan, tenho certeza que você estava. Mas os sites da SE não são realmente fóruns de discussão e é basicamente um desperdício de tempo e espaço. Apenas faça a pergunta . Mostre seu apreço votando / aceitando respostas. A resposta de Jeff é a "canônica", mas veja algumas das outras para diferentes tomadas.
Su

Respostas:

11

Tecnicamente, "#" é uma referência de URL bem definida que aponta para o início do documento atual e, portanto, não é "quebrado" no sentido formal. No entanto, pode ser considerado ruim para a acessibilidade e também é um sintoma comum de links "falsos", ou seja, aelementos que deveriam vincular a algo externo, mas dependem do JavaScript. (Nos tempos antigos, <a href="..." onclick="...">era o único tipo de elemento que suportava o onclickatributo, então as pessoas escreviam o href="#"atributo "fictício" , que não é fictício.)

Portanto, você pode considerar isso como uma mensagem de erro incorreta ou como uma mensagem de aviso útil que pode ser um pouco mal formulada.

Jukka K. Korpela
fonte
1
Você tem uma fonte para # ser bem definida e apontar para o início do documento (isto é, uma especificação w3c)?
usar o seguinte
2
@DisgruntledGoat, está especificado no padrão da Internet STD 66, “URI (Uniform Resource Identifier): sintaxe genérica”, seção 4.4. Do mesmo documento de referência, por exemplo, disponível em tools.ietf.org/html/std66#section-4.4
Jukka K. Korpela
1
Os elogios por fornecer uma fonte, embora eu não veja nada que especifique #por si só, referem-se ao início do documento.
usar o seguinte código
1
Bem, sim, o padrão não é muito claro, mas é natural supor que um documento referenciado esteja inicialmente posicionado no início. Seu antecessor, o RFC 2396, foi mais explícito: “4.2. Referências no mesmo documento. Uma referência de URI que não contém um URI é uma referência ao documento atual. Em outras palavras, uma referência URI vazia em um documento é interpretada como uma referência ao início desse documento, e uma referência que contém apenas um identificador de fragmento é uma referência ao fragmento identificado desse documento. ”
Jukka K. Korpela
3

Eu não acho que é considerado um link quebrado.

Link quebrado é um link que aponta para recursos não existe (resposta HTTP 404).

Zistoloen
fonte
1
Não proteja esta resposta com "Na minha opinião". Não é uma questão de opinião, é uma questão de fato (e você está correto).
msanford
1
@ msanford: Você está certo, eu editei minha resposta.
Zistoloen 17/01