Хотя на этот вопрос уже дан ответ ( tl; dr: yes, пустое href
значение допустимо), ни один из существующих ответов не ссылается на соответствующие спецификации.
Пустая строка не может быть URI. Однако href
атрибут принимает в качестве значения не только URI, но и ссылки на URI. Пустая строка может быть ссылкой на URI.
HTML 4.01
HTML 4.01 использует RFC 2396 , где говорится в разделе 4.2. Ссылки на тот же документ (жирный шрифт):
Ссылка URI, которая не содержит URI, является ссылкой на текущий документ. Другими словами, пустая ссылка URI в документе интерпретируется как ссылка на начало этого документа , а ссылка, содержащая только идентификатор фрагмента, является ссылкой на идентифицированный фрагмент этого документа.
RFC 2396 устарел в RFC 3986 (который в настоящее время является стандартом URI IETF ), что по сути говорит то же самое .
HTML5
HTML5 использует ( действительный URL-адрес, возможно, окруженный пробелами → действительный URL-адрес ) спецификации URL- адреса W3C , которая была прекращена. Вместо этого следует использовать стандарт URL-адреса WHATWG (см. Последний раздел).
HTML 5.1
HTML 5.1 использует ( действительный URL-адрес, возможно, окруженный пробелами → действительный URL-адрес ) стандарта URL WHATWG (см. Следующий раздел).
WHATWG HTML
HTML-код WHATWG использует ( действительный URL-адрес, возможно, окруженный пробелами ) определение допустимой строки URL-адреса из стандарта URL-адреса WHATWG , в котором говорится, что это может быть строка относительного URL-адреса с фрагментом , которая должна по крайней мере быть строкой относительного URL-адреса , которая может быть строкой путь-относительная схема-меньше-URL , которая является строкой путь-относительный-URL , которая не начинается со строки схемы, за которой следует :
, и ее определение гласит (выделено жирным шрифтом мое):
Строка относительного-пути-URL-адреса должна содержать ноль или более строк сегмента-пути-URL, отделенных друг от друга U + 002F (/), и не должна начинаться с U + 002F (/).