<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.