- From: <thomas.deweese@kodak.com>
- Date: Wed, 10 Dec 2008 06:22:15 -0500
- To: robin@berjon.com
- Cc: SVG WG <www-svg@w3.org>, www-svg-request@w3.org
- Message-ID: <OFDD6B3793.5D8383D0-ON8525751B.003A5323-8525751B.003E7601@knotes.kodak.com>
Hi Robin, Doug, I want to respond to a few issues in the various threads but I think most of those are interesting but more back store to the basic issue (where honestly I doubt any of us is going to seriously sway the others). So let me focus on the current proposal from the WG because I think it is fairly seriously flawed. The current primary WG proposal is that pointer-events on the target element can control event clipping for that element. So if pointer-events has any of the 'visible' values then it will not receive events that fall outside of any parent's (or selves) clip region. The problem is that this reuse of existing pointer-events values means that a document that used 'visibility="hidden"' in conjunction with 'pointer-events="fill"' to place event targets would suddenly have those event targets have their events be unclipped. Since I believe the above set of properties is the 'best practice' for event targets I think this is problematic as it would make such a document unable to be enclosed in say a scroll-window (the case that triggered this whole issue). The alternate proposal was that pointer-events on the element with the clip controls if that clip element clips events. This is more attractive to me as it doesn't have the same issues with 'unknown' embedded content causing problems. However I think this will have more problems if you decided to add more event controlling properties/elements. After all it would seem weird to have "event-clip='pointer-events'" as the default value - it could be done but it seems ugly. Based on that I would like to make a potentially simpler counter proposal that also covers the major use cases but will likely need to be extended in future versions of the SVG standard. Only have the clip of elements that create a view-port clip events. If overflow="visible" then they wouldn't clip events (in cases where you wanted graphical clipping but not event clipping you could add a 'g' with a clip that matches the viewBox of the view port creating element as the first child. This doesn't support clipping events but not clipping content (but I think that is an unusual use case). Obviously this isn't as flexible as allowing arbitrary clip paths for events but I think it handles the major case for event clipping which is view-porting.
Received on Wednesday, 10 December 2008 11:21:34 UTC