RE: Triggering HTML5 DnD via a touch screen

Agreed, Microsoft wants the web to work no matter what input device you use, especially including touch. Yesterday, we released a preview of IE11 [1] and it includes support for touch drag drop (on by default). Users can initiate a drag in IE11 by press and holding on an element. Dragging and dropping then follows the same events as dragging with a mouse.

There's certainly improvements that could be made to the HTML5 DnD APIs. But I agree we should avoid doing that redesign in this thread. This is about unlocking sites today for touch users.  

There are some aspects of the APIs that don't lend themselves well to touch. Similar to the design of touch-action in the Pointer Events spec [2], if we only needed to read the draggable attribute to determine drag feasibility in a site then we could enable more consistent performance for touch users through multi-threaded implementations. However, the HTML5 DnD APIs allow cancelling the dragstart event to prevent a drag, and that limits what we can do here for touch perf. Deprecating the ability to prevent a drag by cancelling dragstart is something we should seriously consider. 

-Jacob

[1] http://msdn.microsoft.com/ie
[2] https://dvcs.w3.org/hg/pointerevents/raw-file/tip/pointerEvents.html

On Wed, May 15, 2013 at 12:02 AM, Rick Byers <rbyers@google.com> wrote:

> Hi,
> Chromium has experimental support for triggering the HTML5 DnD APIs using a touchscreen (instead of just with a mouse), and we're considering enabling this by default soon (http://crbug.com/168162).
> This doesn't involve any changes to the API or semantics, and what pointing device is being used is transparent to the application.
> 
> Before we enable this by default, I'd like to hear thoughts from the community, especially from other browser implementers.  The spec
> (http://www.w3.org/html/wg/drafts/html/master/editing.html#dnd) was clearly written to be agnostic to the input device (although it describes the mouse scenario pretty clearly as an example).  Still I figure it's worth discussing whether touch activation of the DnD APIs is something all the major browsers see as reasonable.  Any concerns?
> 
> In Chromium drag is initiated by long press (if the touch events aren't consumed by the application), but that's a UI design detail that could vary between browsers and potentially different versions of browsers.  I don't think it's worth getting into the UX issues of exactly how drag should be initiated with touch here.
> 
> I know there are some concerns with the DnD API (eg.
> http://www.quirksmode.org/blog/archives/2009/09/the_html5_drag.html),
> but I consider that largely orthogonal.  We have an API that's widely supported and is the only way to achieve important scenarios (eg.
> dragging files or other content across browser windows, for example on sites like Google Drive).  If we can come up with a compatible way to improve the API, that's great and would automatically benefit all input types.
> 
> Thanks,
>    Rick
> 

Received on Thursday, 27 June 2013 18:01:08 UTC