[whatwg] More questions about the DnD API

Stef Epardaud stef at epardaud.fr
Sun Mar 28 13:29:57 PDT 2010


Hello,

I didn't get any reaction to my previous email unfortunately since I
think I brought up some valid points, but in any case I have some more
feedback, so I keep sending :)

I'm still trying to use the DnD for a real-world use, and keep hitting
problems. This is the HTML 5 draft at 7.9.4 Drag-and-drop processing
model:

"From this point until the end of the drag-and-drop operation, device
input events (e.g. mouse and keyboard events) must be suppressed."

This looks crazy to me. First Mozilla doesn't limit this since I was
able to get a keypress event while dragging a node. I use this to change
the behaviour of the drag operation with control/meta/alt keys while
dragging, the same way file managers do it (at least Gnome Nautilus) and
lots of other applications (Open Office for example). We need to be able
to access key events while dragging. There might be a good rationale for
this limitation stated in the spec, but based on evidence of how DnD is
used in other applications perhaps it should be reviewed?

Personally I also use the key events while dragging to allow the user to
open folders in order to continue the drag operations inside, instead of
requiring them to drop the file in the folder, then open the folder and
drag it again to a subfolder.

I also have a question regarding DnD started in an external application:
since we get no dragstarted or drag events, how can we detect that
something wants to be dragged in the window? I want to highlight every
responsive drop points so the user can know which elements are valid
drop targets, but failed to get any meaningful interaction with
dragentered or dragover on the document, or body elements. Surely that's
a mistake from my part, but since I expect that it's going to be asked a
lot (when we don't get drag or dragstart events), perhaps it should be
mentioned in the spec?

Thanks for your help.
-- 
Stéphane Epardaud


More information about the whatwg mailing list