RE: CSS3-UI pointer-events draft appears to be problematic in several areas

If it matters, I figured I would make a small testcase based on what was put into the CSS3 specs.  However, I wanted to clarify things first as I wasn't sure I misunderstood something (or someone else misunderstood something).

Should I ask in the css3 mailing list instead?




From: kevinar18@hotmail.com
To: www-svg@w3.org; schepers@w3.org; tantek@cs.stanford.edu; patd@microsoft.com
Date: Mon, 15 Nov 2010 21:52:32 -0500
Subject: CSS3-UI pointer-events draft appears to be problematic in several  areas








I apologize for the long delay in reviewing this, but I finally got around to it after Patrick Dengler's post.

First, off, these are only my views on the issue... so I really need some input to see if my reasoning is wrong or not.
Second, I apologize for the the aggressive sounding tone; I really don't mean it to be that way ... and I appreciate the effort people put into working out the details ... however, I just want to get to the heart of the issue quickly, so I really hope the original author(s) won't feel offended by it. :)



1. Background: Here is the draft version: http://dev.w3.org/csswg/css3-ui/#pointer-events

2. Problem 1: for the SVG tag, almost all pointer-events properties mean the same thing for the svg tag: "none"!  So, why even mention them in CSS3?

Fact 1: By default, the svg tag does not trigger pointer events (it's basically pointer-events:none)
Fact 2: If you change the pointer-events property on the svg tag to something else, like "visible", "visiblePainted", "visibleFill", the svg tag still does not trigger events.
Fact 3: The only thing the pointer-events property affects is the svg tag's children in the DOM; no matter what you set it to, the svg tag will NEVER trigger events.
When I say the word "Fact" I mean either based on the SVG specs or based on the general consensus that was decided on in earlier meetings.

So, why even mentioned them in the CSS3 spec, when all of the pointer-events properties mean the same thing: the base svg tag will not trigger pointer events?
(The only property that may need explanation is "auto", which changes to "visiblePainted" for SVG content ... again, this only affects children and not the svg tag directly.)

Or..., does the CSS3 specs actual mean something different?  Does things like "visible" and "visiblePainted" work differently than in SVG and cause it to trigger events?


3. Problem 2: There is no way to specify that the svg tag should trigger events.
None of the current properties allow the svg tag to trigger events.  I can forsee this being a pretty big issue when you specifically want to treat the svg element like a drawing surface and capture mouse events.

SVG Tiny added another property called "boundingBox" (http://www.w3.org/TR/SVGTiny12/interact.html#PointerEventsProperty)  Should a property like this be added to the CSS3 specs to allow the svg tag to trigger events?

BTW, is the "boundingBox" property inherited by children?


Thanks,
Kevin
 		 	   		  

Received on Tuesday, 16 November 2010 19:32:21 UTC