W3C home > Mailing lists > Public > public-pointer-events@w3.org > January to March 2014

RE: Touch-action to SVG elements

From: Jacob Rossi <Jacob.Rossi@microsoft.com>
Date: Tue, 25 Mar 2014 18:59:03 +0000
To: Rick Byers <rbyers@google.com>
CC: "public-pointer-events@w3.org" <public-pointer-events@w3.org>, "gnanasekar.s@samsung.com" <gnanasekar.s@samsung.com>, Douglas Schepers <schepers@w3.org>
Message-ID: <d1d9c56293b94685b8dc4b8763935574@BY2PR03MB457.namprd03.prod.outlook.com>
Spec has been updated:

https://dvcs.w3.org/hg/pointerevents/raw-file/tip/pointerEvents.html#the-touch-action-css-property


-Jacob

From: Rick Byers [mailto:rbyers@google.com]
Sent: Tuesday, March 25, 2014 9:24 AM
To: Jacob Rossi
Cc: public-pointer-events@w3.org; gnanasekar.s@samsung.com; Douglas Schepers
Subject: Re: Touch-action to SVG elements

Thanks Jacob!

To re-iterate what I said on the call today: this definition seems fine to me, we'll update our implementation to match after the draft spec has been updated.  Blink bug: https://crbug.com/356215


Thanks,
  Rick

On Fri, Mar 21, 2014 at 3:09 PM, Jacob Rossi <Jacob.Rossi@microsoft.com<mailto:Jacob.Rossi@microsoft.com>> wrote:
Following up on this thread (and action 65).

From: Rick Byers <rbyers@google.com<mailto:rbyers@google.com>>
Date: Fri, 17 Jan 2014 11:17:47 -0500

> *Jacob, *do you agree that the behavior we see in IE is what we want the
spec to describe (touch-action supported on <svg> elements, but not other
types of SVG elements)?

Yes.

> *Jacob/Doug*, what's the right wording to convey this precisely?  My
reading of the SVG spec is that "SVG elements" includes things like <path>,
etc.
>
> In addition, it seems IE applies touch-action on inline-block elements
(which I think makes sense).  My reading of the CSS spec is that
inline-block isn't necessarily included with "block level elements".  Is
there a more precise term to encompass display: block and display:
inline-block?
>
> What about the other display types that establish a BOX but aren't
themselves BLOCKS (eg. table-row, table-cell), what's the expected behavior
for them?  Sorry I'm not enough of a CSS expert to know the precise terms
we're looking for here (and it wasn't obvious to me from the CSS spec).

I consulted with some of our CSS WG reps and also did testing to confirm IE's behavior. It looks like <svg> shouldn't be a special case. It is no different than <img>, which is a replaced inline element (not block-level) and supports touch-action. So the current spec text is incorrect.

The correct definition should match that of the intersection of the height and width properties from CSS2.1 [1,2]:
     Applies to:  all elements but non-replaced inline elements, table rows, row groups, table columns, and column groups

Put another way, it applies to any element that *both* width and height apply to in CSS. Note table rows only accept height and table cols only accept width, therefore touch-action applies to neither by this definition (also cols are effectively display: none; so they were already irrelevant).

This means block elements (like div), inline-block elements (like button), replaced inline elements (like img, svg, canvas, video), tables, and table cells/headers/captions are supported. But non-replaced inline elements (like span), table col/row elements, and table col/row groups are not supported.

I propose we change the spec to match the applies to text above. Testing briefly [3] Chrome, it looks like the replaced inline elements (img, svg, canvas, etc) and input controls aren't supported but should be. Firefox has the same issue as Chrome, except that <img> is already correctly supported. We should probably convert this page into an actual test case.

-Jacob

[1] http://www.w3.org/TR/CSS21/visudet.html#the-width-property

[2] http://www.w3.org/TR/CSS21/visudet.html#the-height-property

[3] http://jsfiddle.net/S9C5Y/3/embedded/result/


Received on Tuesday, 25 March 2014 18:59:34 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:20:26 UTC