- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Tue, 8 May 2012 15:47:48 +0200
- To: www-style list <www-style@w3.org>
The CSS2.1 Core Grammar currently specifies that the only way to get a URL token is with the literal characters "u", "r", and "l" (case-insensitive. If you escape any of them, you'll instead get a FUNCTION token. This doesn't match reality - IE, FF, and Opera all allow the characters to be escaped and still invoke the normal URL token parsing. Here's a testcase of several things that help distinguish between the two: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1519 IE, FF, and Opera all return results consistent with always using the special "unquoted url" production. I propose we change the Core Grammar as follows: 1. Import the U, R, and L productions from Appendix G. 2. Change the URI token production to: {U}{R}{L}\({w}{string}{w}\) |{U}{R}{L}\({w}([!#$%&*-\[\]-~]|{nonascii}|{escape})*{w}\) (We may need to do the same for the leading "u" on the UNICODE-RANGE token. I haven't tested to see yet.) ~TJ
Received on Tuesday, 8 May 2012 13:48:38 UTC