This concerns chapter 7.9.4 Drag-and-drop processing model in
reading back and forth in an attempt to clarify to my mind the rather
hard-to-digest, many-cases, Drag and Drop chapter, something caught my
in the processing model details, is explained that if user
points/indicates a new immediate user selection a dragenter event is
fired at it. A line in the case the event is _not_ canceled reads:
"If the current target element is a text field (e.g. textarea, or an
input element whose type attribute is in the Text state) or an editable
The current target element must be set to the immediate user selection
I'm still unsettled about believing the intent was to write "If the
current target element is a text field...". Such a condition would,
if I understood proper, ensure that when the user's pointer leaves
(points at something else than) a text field which is the current
target element, then this field is "forced not to be the current target
It seems to me more useful to ensure that when a user starts pointing
at a text field, it is made the current target element whether the
dragenter was canceled or not. I believe this is a typo and the line
should be "If the immediate user selection is a text field..."
(and along with this, the if..then..otherwise sequence containing this
line be revised). It seems to "go along" the spirit of the dragover
part, that makes an exception of text filed when event is not canceled.
....Or there are some constraints/wizardry that I didn't catch.
Also in the same section (I haven't spent that much thought on it but
it seems quite obvious so I'll mention it without a double-check):
Step 3.2. of the sequence says "If the previous step caused the
current target element to change" while step 3.3. says that a
dragover must be fired at the current target element if it is a DOM
element. I think if we don't want a dragover to be fired every 350ms at
this current target element, this 3.3. step should be mended with 3.2.
step, or somehow share its limitation of "if the current target element
just changed". One dragover event for each new target element should be
If I'm all dumb and wrong, apologies.