Bug 27339

Summary: Missing keyboard support for Drag and Drop as defined in HTML 5 spec
Product: WebKit Reporter: Remy Sharp <remy>
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: remy, webmaster
Priority: P2 Keywords: HasReduction, InRadar
Version: 528+ (Nightly build)   
Hardware: Mac (Intel)   
OS: OS X 10.5   
URL: http://remysharp.com/demo/dnd-keyboard.html

Description Remy Sharp 2009-07-16 02:05:05 PDT
The HTML 5 spec says that keyboard copy and paste operations should run through the drag and drop event model:

http://www.whatwg.org/specs/web-apps/current-work/#copy-and-paste

I would expect that once on a draggable element (which I can tab to using tabIndex="0") when I copy, it should trigger the dragstart event, and then tabbing on to an element with the drop event listener, I should be able to paste to send across the dataTransfer object.
Comment 1 Remy Sharp 2009-07-16 03:20:54 PDT
Reproducible: Always

Steps to Reproduce:
1. Tab to the images (which have tabIndex="0" set so they're focusable)
2. Copy from the keyboard
3. Nothing happens
Actual Results:  
Nothing - hense the lacking support.

Expected Results:  
When I copy the element, it should trigger the whole event model. 

In this specific case, it should trigger the dragstart event - which will log
in the #debug element that dragging has started (you can test this by dragging
via the mouse).

I would then tab to the drop target, and use the paste keyboard command, and
this will fire the drop event passing through the dataTransfer object in the
event.

Without keyboard support, the drag and drop is not accessible to users who rely
on the keyboard for navigation - even though the HTML 5 spec explains how it
should be supported.
Comment 2 Mark Rowe (bdash) 2009-07-17 01:10:33 PDT
<rdar://problem/7068410>