- 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