- From: Anne van Kesteren <annevk@opera.com>
- Date: Thu, 04 Sep 2008 15:05:33 +0200
- To: "HTML WG" <public-html@w3.org>
Hi, Apparently there are some differences between browsers in the handling of percent escaped characters in fragment identifiers. I made a few tests to figure out the different behavior: http://tc.labs.opera.com/html/navigation/fragids/ I was able to test in Opera 9.5, Firefox 3.0, and Internet Explorer 6.0. Results: IE does not handle pct-encoded in fragment which is in violation of RFC 3986. It does nothing special with either the name or id attributes; simple literal matching. Firefox does handle pct-encoded in fragment. It also handles pct-encoded in the name attribute. It effectively performs pct-encoded handling in fragment and name attributes and after that performs literal matching. Thus a fragment of ? and a name attribute of %3FC match and vice versa. Likewise, a fragment of %253F does not match a name attribute of %3FC. The id attribute is not affected by pct-encoded handling. So a fragment of ? does not match an id attribute of %3F. Opera does handle pct-encoded in fragment. It does not have special handling of attributes. This is the behavior prescribed by HTML5 but breaks sites. Eg, http://www.readynas.com/forum/faq.php The test suite assumes Firefox is correct as that seems the most "sensible" behavior if you want to be compliant with RFC 3986 and compatible with the Web. I suggest we change HTML5 to perform pct-encoded handling for name attributes. I have not checked whether this affects the usemap attribute. Kind regards, -- Anne van Kesteren <http://annevankesteren.nl/> <http://www.opera.com/>
Received on Thursday, 4 September 2008 13:06:09 UTC