Dragging and Dropping cards in Aha doesn't seem to be supported on my Windows Touch screen

RESOLVED WORKSFORME

Status

()

Core
Panning and Zooming
RESOLVED WORKSFORME
3 years ago
2 years ago

People

(Reporter: kar, Unassigned)

Tracking

({correctness})

39 Branch
All
Windows 8.1
correctness
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [gfx-noted])

(Reporter)

Description

3 years ago
Windows 8.1. I can touch / open cards, but it doesn't handle dragging & dropping on the touch screen. I'm forced to use the mouse. I would expect that it should work.
Hey Karen, can you provide a link to test with?
Component: General → Untriaged
Flags: needinfo?(krudnitski)
(Reporter)

Comment 2

2 years ago
Gijs - I just sent you an aha invite so you can at least view here (https://mozilla.aha.io/products/FENN). But we don't have a spare license to give you permission to actually drag and drop, so not sure if that's going to be helpful or not. 

And you're remote in the UK, so I can't actually show you my computer, unless you plan on being in the London office for something and we can coordinate a visit?? :)
Flags: needinfo?(krudnitski)
(In reply to Karen Rudnitski [:kar] from comment #2)
> Gijs - I just sent you an aha invite so you can at least view here
> (https://mozilla.aha.io/products/FENN). But we don't have a spare license to
> give you permission to actually drag and drop, so not sure if that's going
> to be helpful or not. 
> 
> And you're remote in the UK, so I can't actually show you my computer,
> unless you plan on being in the London office for something and we can
> coordinate a visit?? :)

We can do that, though I don't know if I'll be much help... As a quick check, if you go to about:config, set "dom.w3c_touch_events.enabled" to 1, and restart, does that make it work?

If not, let's look at meeting in London maybe the second week of Feb (8-14)?
Flags: needinfo?(krudnitski)
(Reporter)

Comment 4

2 years ago
I just enabled that pref, and no - it doesn't make it work :/

I'm in Toronto that week, unfortunately. Anyone in the TO office who could debug on site?
Flags: needinfo?(krudnitski)
(In reply to Karen Rudnitski [:kar] from comment #4)
> I just enabled that pref, and no - it doesn't make it work :/
> 
> I'm in Toronto that week, unfortunately. Anyone in the TO office who could
> debug on site?

Mike, can I interest you and/or do you have other Toronto office suggestions? Could be tech evangelism, could be something we need to fix on the Core side of things.

(if not, I can take a look when Karen's back in the UK)
Flags: needinfo?(mconley)
Sure - I'd be happy to take a look, though it's not really a region of the codebase I'm familiar with.

I should be in Toronto that week.
Flags: needinfo?(mconley)
Hey folks,

So I met kar in Toronto, and she demonstrated the problem. Here's what I got:

1) When attempting to drag and drop Aha cards, it looks like Nightly is prioritizing the scrolling gesture over drag and drop. For example, if we touch a card, and the pane that the card is in can be vertically scrolled, then dragging the card directly up or down will result in the pane getting scrolled instead.

2) We can trick the scrolling mechanism by touching a card, and dragging them on an angle.

3) e10s (and therefore APZ) is disabled on kar's machine because of the touchscreen / a11y API issues.

We Save As'd the page, and fantastically I can load it on other machines to demonstrate the issue. I'm not eager to post the page to Bugzilla, because I suspect (from a glance) there might be some tokens or something embedded in the page, and I don't want to leak anything.

Gijs, do you have a touchscreen? Can I email you this Save As'd page all zipped up?
Flags: needinfo?(gijskruitbosch+bugs)
(In reply to Mike Conley (:mconley) - Needinfo me! from comment #7)
> Hey folks,
> 
> So I met kar in Toronto, and she demonstrated the problem. Here's what I got:
> 
> 1) When attempting to drag and drop Aha cards, it looks like Nightly is
> prioritizing the scrolling gesture over drag and drop. For example, if we
> touch a card, and the pane that the card is in can be vertically scrolled,
> then dragging the card directly up or down will result in the pane getting
> scrolled instead.
> 
> 2) We can trick the scrolling mechanism by touching a card, and dragging
> them on an angle.
> 
> 3) e10s (and therefore APZ) is disabled on kar's machine because of the
> touchscreen / a11y API issues.
> 
> We Save As'd the page, and fantastically I can load it on other machines to
> demonstrate the issue. I'm not eager to post the page to Bugzilla, because I
> suspect (from a glance) there might be some tokens or something embedded in
> the page, and I don't want to leak anything.
> 
> Gijs, do you have a touchscreen? Can I email you this Save As'd page all
> zipped up?

Yes! Though I suspect based on that description that it might be more useful to send it to :kats. Right, :kats ? :-)
Flags: needinfo?(gijskruitbosch+bugs) → needinfo?(bugmail.mozilla)
Component: Untriaged → Panning and Zooming
Product: Firefox → Core
Sure, you can send it to me. However it's not clear to me what the right behavior here is from a UX point of view - if the thing you're dragging is scrollable it should probably scroll first. Maybe doing something like a long-press on the item should be equivalent to a mousedown, following which moving your finger to drag would be like a mousedrag. I'm not sure what other browsers do in this respect either.

Since the original bug was filed almost a year ago, I'm assuming this isn't a recent regression that needs urgent action. We can take some time to figure out what the right UX is for drag-and-drop on touchscreens, or if the content should just be listening for touch events and implementing the drag behaviour itself. IIRC that's what we did in Gaia for Firefox OS.
Flags: needinfo?(bugmail.mozilla)
Ok, so the page uses touch listeners to do drag and drop. It works really well in Chrome but not in IE on my touch-enabled Windows device. In Firefox when I try to drag (on Nightly) it seems like it gets the touchstart but then touchmoves end up scrolling the page, which is kind of weird. AFAIK we are sending touch events, but either we're sending bad events or the page is expecting something else, I'm not sure. This will need some investigation. The JS is obfuscated which makes it really annoying though.
(Reporter)

Comment 11

2 years ago
Let me know if I can help in any way!
Keywords: correctness
Whiteboard: [gfx-noted]
I just tried reproducing on the saved version of the page that I used back in comment 10 and it seems to work properly now in a Windows nightly build. It's still slower/laggier than Chrome but the behaviour at least is correct. As Karen's no longer at Mozilla (and her bugzilla account is disabled) I can't get her to confirm, but I'm closing this as WFM.
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.