There is currently a level of ambiguity between Drupal-implementation and browser-implementation of
the standard regarding empty URI refences. This might be an issue. At the very least it should be clear
why the current implementation is considered the best one (it might already be, but I'm just not in the know.)
RFC 2396 states:
4.2. Same-document References
A URI reference that does not contain a URI is a reference to the
current document. In other words, an empty URI reference within a
document is interpreted as a reference to the start of that document,
and a reference containing only a fragment identifier is a reference
to the identified fragment of that document.
For example in CVS HEAD common.inc function link_page() on line 1138:
array_unshift($links, l(t("home"), "", array("title" => t("Return to the main page."))));
Results in the situation defined by the quoted RFC statement:
<a href="" title="Return to the main page.">home</a>
This might be just semantics, but it seems that at least Opera interprets that statement to the
letter and indeed refers to the same document. However, experiences with other browsers indicate that
the usual behavior is that browsers interpret the empty URI as a reference to the base URI.
It is not altogether clear to me what is the proper way. It looks like on drupal.org the problem has been circumvented by having "./" as the reference instead of an empty reference.
What do you think? Is this something that should be addressed in Drupal or is there something fundamental I'm missing?