Aunque esta pregunta ya está respondida ( tl; dr: sí, un href
valor vacío es válido), ninguna de las respuestas existentes hace referencia a las especificaciones relevantes.
Una cadena vacía no puede ser un URI. Sin embargo, el href
atributo no solo toma los URI como valor, sino también las referencias de URI. Una cadena vacía puede ser una referencia de URI.
HTML 4.01
HTML 4.01 usa RFC 2396 , donde dice en la sección 4.2. Referencias del mismo documento (énfasis en negrita mío):
Una referencia de URI que no contiene un URI es una referencia al documento actual. En otras palabras, una referencia de URI vacía dentro de un documento se interpreta como una referencia al comienzo de ese documento , y una referencia que contiene solo un identificador de fragmento es una referencia al fragmento identificado de ese documento.
RFC 2396 está obsoleto por RFC 3986 (que actualmente es el estándar URI de IETF ), que esencialmente dice lo mismo .
HTML5
HTML5 utiliza ( URL válida potencialmente rodeada de espacios → URL válida ) la especificación de URL del W3C , que ha sido descontinuada. El estándar URL de WHATWG se debe utilizar en su lugar (consulte la última sección).
HTML 5.1
HTML 5.1 utiliza ( URL válida potencialmente rodeada de espacios → URL válida ) URL estándar de WHATWG (consulte la siguiente sección).
WHATWG HTML
El HTML de WHATWG usa ( URL válida potencialmente rodeada de espacios ) la definición de cadena URL válida del Estándar URL de WHATWG , donde dice que puede ser una cadena de URL relativa con fragmento , que debe ser al menos una cadena de URL relativa , que puede ser una cadena URL relativa a la ruta relativa sin esquema , que es una cadena URL relativa a la ruta que no comienza con una cadena de esquema seguida por :
, y su definición dice (énfasis en negrita mío):
Una cadena de URL relativa a la ruta debe ser cero o más cadenas de segmento de ruta de URL, separadas entre sí por U + 002F (/), y no comenzar con U + 002F (/).