[css4-images] support for SVG Paint Servers without element()

Hi,

After reading a very early proposal from Rober O'Callahan this weekend [1], I wonder why CSS4 Images [2] can't have real support for SVG Paint Servers. Right now paint sources (alias SVG paint servers) can just be referenced by ID with the 'element()' function. This leads to the obvious problem that an author must add the paint source in the same document. The paint source can not be shared between different documents in one single XML/SVG file for instance.

One issue in the current draft asks if we might want to support external resources (in form of urls) as well. From an author point of view: of course! But then the encapsulation with 'element()' is just additional noise: 'element(url(image.svg#gradient1))'.

I could imagine that media fragments might be a problem from a specification point of view, since they don't not support SVG fragment identifiers [3] IIRC (I might be wrong, but the spec mentions this issue). At least in many browser implementations this seems not to be a problem at all. See the support of SVG stacks [4]. Just WebKit lacks support for them.

As conclusion, I wonder why CSS4 Images can't support SVG fragment identifiers directly:

background-image: url(image.svg#gradient1);

Greetings,
Dirk

[1] http://people.mozilla.com/~roc/SVG-CSS-Effects-Draft.html
[2] http://dev.w3.org/csswg/css4-images/#element-notation
[3] http://www.w3.org/TR/media-frags/
[4] http://simurai.com/post/20251013889/svg-stacks

Received on Sunday, 14 October 2012 01:51:39 UTC