Является ли <a href= Организации##> ссылка </a> неработающей ссылкой?

12

При использовании пустых ссылок на фрагменты URL-адресов, чтобы отправить пользователя в начало страницы (например <a href="#">return to top</a>), считаются ли эти ссылки неработающими или недействительными? Один из моих инструментов возвращает их как неработающие ссылки.

Натан
источник
Какой «инструмент» считает их сломанными?
MrWhite
PHP-программа, которую я использую для создания карты сайта.
Натан
@ Су ': почему вы удалили мое спасибо? Я был искренен!
Натан
4
@ Натан, я уверен, что ты был. Но сайты SE на самом деле не являются дискуссионными форумами, и это пустая трата времени и места. Просто задайте вопрос . Покажите свою признательность путем голосования / принятия ответов. Ответ Джеффа - «канонический», но посмотрите другие, чтобы узнать другие варианты.
Su '17

Ответы:

11

Технически, «#» - это четко определенная ссылка на URL, указывающая на начало текущего документа, поэтому она не является «сломанной» в формальном смысле. Однако его можно расценивать как плохое для доступности , а также является распространенным симптомом «поддельных» ссылок, то есть aэлементов, которые должны ссылаться на что-то внешнее, но зависят от JavaScript. (В очень старые времена <a href="..." onclick="...">был единственный вид элемента, который поддерживал onclickатрибут, поэтому люди писали href="#"атрибут «фиктивный» , который на самом деле не фиктивный.)

Таким образом, вы можете рассматривать это как неправильное сообщение об ошибке или как полезное предупреждающее сообщение, которое может быть немного плохо сформулировано.

Юкка К. Корпела
источник
1
Есть ли у вас источник для #, который четко определен и указывает на начало документа (то есть спецификацию w3c)?
Рассерженная шлюха
2
@DisgruntledGoat, он указан в интернет-стандарте STD 66, «Универсальный идентификатор ресурса (URI): общий синтаксис», пункт 4.4. Ссылка на тот
Юкка К. Корпела
1
Престижность за предоставление источника, хотя я не вижу ничего, что #само по себе указывает на начало документа.
Рассерженная шлюха
1
Ну, да, стандарт не слишком ясен по этому поводу, но естественно предположить, что ссылочный документ изначально позиционируется в начале. Его предшественник RFC 2396 был более точным: «4.2. Ссылки на тот же документ. Ссылка URI, которая не содержит URI, является ссылкой на текущий документ. Другими словами, пустая ссылка URI в документе интерпретируется как ссылка на начало этого документа, а ссылка, содержащая только идентификатор фрагмента, является ссылкой на идентифицированный фрагмент этого документа ».
Юкка К. Корпела
3

Я не думаю, что это считается неработающей ссылкой.

Неработающая ссылка - это ссылка, которая указывает на то, что ресурсы не существуют (404 HTTP-ответа).

Zistoloen
источник
1
Не застрахуйте этот ответ «По моему мнению». Это не вопрос мнения, это факт (и вы правы).
msanford
1
@msanford: Вы правы, я отредактировал свой ответ.
Зистолоен