W3C home > Mailing lists > Public > www-svg@w3.org > March 2012

Re: Case-Sensitivity & SVG-in-HTML5

From: Mike Bostock <mbostock@cs.stanford.edu>
Date: Tue, 13 Mar 2012 12:42:50 +0100
Message-ID: <CAM36=qpKcOaiFrUEiDD16EmC=K0EKsH-U2PtLAT03yDj+BOUgw@mail.gmail.com>
To: Vincent Hardy <vhardy@adobe.com>
Cc: Dirk Schulze <vbs85@gmx.de>, "www-svg@w3.org" <www-svg@w3.org>
Bumping this to see if there's any update regarding selectors for
SVG's camelCase elements. The bug I filed against WebKit has
languished, I think in part because the desired fix was unclear?


If I understand correctly, the desired fix is that
querySelectorAll("clipPath") (and querySelector and
getElementsByTagName) should match <svg:clipPath> elements, but that
querySelectorAll("clippath") should not, even if the SVG is embedded
in an HTML document.

If someone of Great Influence™ could comment on the above bug and help
instigate forward progress, that would be much appreciated!


On Mon, Oct 31, 2011 at 6:21 PM, Vincent Hardy <vhardy@adobe.com> wrote:
> Hello,
> @mike: thanks for having sent the description.
> Looking at the test case you have on different browsers, I see that IE 10
> returns 'textpath' and 'textPath' (so it treats the inline SVG as HTML
> elements) and FireFox seems to be doing the right thing in the version I
> look at (version 6.0 only returns a match on 'textPath' but not on
> 'textpath').
> It seems to me that there are two possible avenues:
> a. get the browser implementations to implement the specs. as they are
> (Dirk's references). That would mean getting a WebKit fix and reporting the
> issue with IE (the IE issue is less of a problem because you can get the
> elements, where the WebKit bug is really limiting).
> b. if an other behavior is desired, it should be brought up with the DOM
> Core group, as Dirk suggests.
> Cheers,
> Vincent
> From: Dirk Schulze <vbs85@gmx.de>
> Date: Mon, 31 Oct 2011 09:50:04 -0700
> To: Mike Bostock <mbostock@cs.stanford.edu>
> Cc: "www-svg@w3.org" <www-svg@w3.org>
> Subject: Re: Case-Sensitivity & SVG-in-HTML5
> Like described on the webkit bug report, the current DOM specification just
> expects HTML elements to be case insensitive [1]. SVG elements are not in
> the HTML namespace and therefor should be case sensitive:
> """
> Element nodes in the HTML namespace whose local name is localName converted
> to ASCII lowercase.
> Element nodes, not in the HTML namespace, whose local name is localName.
> """
> This is an implementation problem of WebKit and Opera (at least the last
> time I tested Opera Next with HTML5 parser) that this doesn't work for camel
> case local names. Firefox on the other side did not implement it correctly
> either, since elements can be lowercase and uppercase there. This problem
> does only occur on HTML5 and not on XHTML, since XHTML is case sensitive as
> well and the behavior is clear. If you want elements of all namespaces to be
> case insensitive for HTML documents, you should send the request to the DOM
> WG (and maybe whatwg mailing list), since it does not only affect SVG.
> Greetings,
> Dirk
> [1] http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-document-getelementsbytagname
> Am 28.10.2011 um 19:50 schrieb Mike Bostock:
> Vincent asked me to send a summary of the case-sensitivity problem
> with SVG-in-HTML; I brought this up at SVG Open last week. This bug
> occurs when attempting to select camelCase elements via JavaScript,
> either using the Selectors API or getElementsByTagName.
> The problem is trivial to reproduce: if you have an element with a
> camelCase local name, such as an SVGTextPathElement, it is impossible
> to select that element by tag name using querySelector,
> querySelectorAll, or getElementsByTagName.
> Test case here:
>  http://bl.ocks.org/1322814
> This bug affects other case-sensitive namespaces as well, such as
> MathML. You can still select these elements using an alternative
> means, such as by class or wildcard.
> The WebKit bug is here:
>  https://bugs.webkit.org/show_bug.cgi?id=46800
> This bug does not occur on Firefox; you can select using a
> case-matching selector, such as "textPath".
> Personally, I would prefer for the selectors to be case-insensitive if
> the containing document is case-insensitive (HTML5 doctype, in this
> case). Or even everything to be case-insensitive in this case, which
> differs from the proposal. [1] But at the least it should be possible
> to select if your selector is case-matching.
> Mike
> [1]
> http://dev.w3.org/SVG/proposals/svg-html/svg-html-proposal.html#make_tokeniser_case-preserving
Received on Tuesday, 13 March 2012 11:43:39 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 8 March 2017 09:47:27 UTC