<a href=annuncio#^> link </a> è un link non funzionante?


12

Quando si utilizzano collegamenti a frammenti di URL vuoti, per inviare un utente nella parte superiore della pagina (ad es. <a href="#">return to top</a>), Questi collegamenti sono considerati interrotti o non validi? Uno dei miei strumenti li sta restituendo tutti come collegamenti non funzionanti.


Quale "strumento" li considera rotti?
Mr White

Un programma PHP che utilizzo per generare una sitemap.
Nathan,

@Su ': perché hai cancellato i miei ringraziamenti? Ero sincero!
Nathan,

4
@Nathan Sono sicuro che lo eri. Ma i siti SE non sono in realtà forum di discussione ed è fondamentalmente una perdita di tempo e spazio. Fai solo la domanda . Mostra il tuo apprezzamento votando / accettando le risposte. La risposta di Jeff è quella "canonica", ma vedi alcuni degli altri per interpretazioni diverse.
Su '17

Risposte:


11

Tecnicamente, "#" è un riferimento URL ben definito che punta all'inizio del documento corrente, quindi non è "rotto" in senso formale. Tuttavia, può essere considerato dannoso per l'accessibilità ed è anche un sintomo comune di collegamenti "falsi", ovvero aelementi che dovrebbero collegarsi a qualcosa di esterno ma che dipendono da JavaScript. (Ai vecchi tempi, <a href="..." onclick="...">era l'unico tipo di elemento che supportava l' onclickattributo, quindi le persone hanno scritto l' href="#"attributo "fittizio" , che non è davvero fittizio.)

Quindi puoi considerare questo come un messaggio di errore errato o come un utile messaggio di avviso che potrebbe essere un po 'mal formulato.


1
Hai una fonte per # essere ben definito e indicando l'inizio del documento (cioè una specifica di W3C)?
SconcertatoGoat

2
@DisgruntledGoat, è specificato nello standard Internet STD 66, "Uniform Resource Identifier (URI): sintassi generica", clausola 4.4. Riferimenti sullo
Jukka K. Korpela,

1
Complimenti per aver fornito una fonte, anche se non vedo nulla che specifichi #da solo si riferisca all'inizio del documento.
SconcertatoGoat

1
Bene, sì, lo standard non è troppo chiaro al riguardo, ma è naturale supporre che un documento di riferimento sia inizialmente posizionato all'inizio. Il suo predecessore RFC 2396 era più esplicito: “4.2. Riferimenti dello stesso documento. Un riferimento URI che non contiene un URI è un riferimento al documento corrente. In altre parole, un riferimento URI vuoto all'interno di un documento viene interpretato come riferimento all'inizio di quel documento e un riferimento contenente solo un identificatore di frammento è un riferimento al frammento identificato di quel documento. "
Jukka K. Korpela,

3

Non credo sia considerato un collegamento interrotto.

Il collegamento interrotto è un collegamento che punta a risorse inesistenti (risposta HTTP 404).


1
Non coprire questa risposta con "Secondo me". Non è una questione di opinione, è un dato di fatto (e tu hai ragione).
msanford,

1
@msanford: hai ragione, ho modificato la mia risposta.
Zistoloen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.