Closed Bug 1446459 Opened 7 years ago Closed 7 years ago

Firefox not disabling single finger panning on websites

Categories

(Core :: Panning and Zooming, defect)

57 Branch
All
Windows
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox59 --- affected
firefox60 --- affected
firefox61 --- affected

People

(Reporter: office, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; rv:59.0) Gecko/20100101 Firefox/59.0 Build ID: 20180310025718 Steps to reproduce: On a website such as this one: https://www.phonicsplay.co.uk/BuriedTreasure2.html If you go to pen and touch, panning and then turn off use finger to scroll, this should make Firefox not scroll up and down the website using your finger on an interactive tv or whiteboard. Actual results: Turning off this setting works in Chrome and in IE, but Firefox continues to pan the website with a single finger on any interactive tv like Promethean, Clevertouch etc or interactive whiteboard. In older versions of Firefox, this worked, it does not seem to work in newer versions of Firefox - I presume with Quantum Firefox versions? Expected results: You are supposed to click get coin and then on the interactive tv, you are supposed to be able to move the coin anywhere on the screen, but instead the whole website scrolls up and down instead of just the coin. Please advise how to fix this as this affects any website where you are supposed to be able to interact with the website using a finger or pen on an interactive screen. For schools we are now having to recommend using Internet Explorer for any educational websites where we don't want the website to scroll up and down using a finger on the board. Thank you.
User Agent Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 Build ID 20180319175655 I was able to reproduce this issue on the latest Firefox Beta (60.0b5) and Nightly (61.0a1) on a Windows 8.1 touch screen laptop. I've navigated to the provided website, started the game and dragging the coins will scroll the page in stead of moving them. The same behavior is not reproducible on Chrome or Internet Explorer.
Status: UNCONFIRMED → NEW
Component: Untriaged → Panning and Zooming
Ever confirmed: true
OS: Unspecified → Windows
Product: Firefox → Core
Hardware: Unspecified → All
The only touch-enabled Windows device I have is running Windows 10, and if I go to Control Panel -> Pen and Touch, I see three tabs of options ("Pen Options", "Flicks", and "Touch"). None of them have a setting to called "use finger to scroll". Can you clarify where you are setting this option?
Flags: needinfo?(office)
I don't have Windows 10. We are running Windows 7. It is possible that your device or windows 10 does not support panning, so you are not seeing the tab. You should see Pen Options, Flicks, Handwriting, Touch and Panning. This is what you see in Windows 7, but it looks from a google search that its different in Windows 10.
Yeah, on Windows 10 the suggested method for disabling touch appears to be disabling the touchscreen device from the device manager. I tried that and it works for all apps, including Firefox. However that doesn't really help you. I presume updating to a newer version of Windows is also out of the question since it sounds like you're in a managed school environment. I'll see if I can find what windows API exposes that "Use finger to scroll" option and hook it up, but I'll probably need you to test the changes since I don't have a windows 7 machine. I'll keep you posted.
Flags: needinfo?(office)
In the meantime, you can try going to about:config, and changing the value of the dom.w3c_touch_events.enabled pref to 0. It is normally set at a default of 2, and setting it to 0 should disable handling of touch events in Firefox. This might fix the problem, but it might also result in some websites not responding properly - worth trying to see if the sites you're interested still work fine with it.
Oh sorry - in addition to the w3c_touch_events pref I mentioned above you also need to set dom.w3c_pointer_events.enabled to false.
I am planning on updating all my clients to Windows 10 over the next couple of years. But even if I updated all my clients tomorrow, this issue would affect anyone with a touchscreen using websites that require activity. That particular website is an educational one, but there are many websites that people might use that would require interactivity on the website, so the issue should get addressed anyway. I know it used to work in Firefox, and if it would help, I can download older versions of firefox and let you know the last working version that it worked - so you basically have to look and see what changed between that update and the next update after that. I am going to a school tomorrow that has interactive tv's - so I will test out your suggestion and let you know whether it works or not. and I can ask the staff member to let me know if it affects any websites. Hopefully changing those settings will help narrow down the cause of the issue so it can get fixed in a new Firefox update. Thank you for all your help. Much appreciated.
I am pleased to report the following: Changing dom.w3c_touch_events.enabled pref to 0 fixes the issue dom.w3c_pointer_events.enabled was already set to false Firefox 53 and below all work properly without changing any settings. Firefox 54 and upwards is broken therefore its something about the Quantum Firefox Build that needs addressing. Firefox 53 and below - the above two settings are identical as in later versions, so its not those two settings - there is something else broken in Quantum Releases. Thank you
Thanks! I'm fairly sure the change in behaviour resulted from Firefox adding support for touch events (which is why setting dom.w3c_touch_events.enabled to 0 fixes it). Prior to that support being added, we used the WM_GESTURE events that Windows would generate from the touch events to do scrolling. I suspect that the Control Panel option to disable touch panning simply disabled the generation of WM_GESTURE events in the OS. However, with touch support, we now use the raw WM_TOUCH events that Windows generates (and from which WM_GESTUREs are derived). This is necessary in order to expose touch events to web content, which neither Chrome (on Windows) nor Microsoft Edge do, at least last time I checked. The WM_TOUCH events are still dispatched even if the Control Panel option is used, which explains why Firefox now behaves differently, but Chrome/Edge still behave the same as before. That being said, there doesn't appear to be any other way of detecting this Control Panel option, so short of removing the touch event support entirely, I don't see any way to fix this in the standard Firefox configuration. Flipping the dom.w3c_touch_events.enabled pref to false is basically the same thing as the fix would be, so I think for now we're going to leave the behaviour as-is and users like yourself who have issues can set the pref to disable touch events. Also, I should point out that web pages have a mechanism to prevent scrolling via touch events if they want to do so - they simply need to call preventDefault() on the event in their touchstart listeners, and the vast majority of websites already do this correctly. The one link you posted in comment 0 seems to be using Flash, and I'm not sure how Flash content handles touch events, so it's possible the problem is limited to the dwindling number of pages with Flash. If there are non-Flash websites that you're seeing this problem I'd be happy to take a look and see if it's a problem in the website or if there's something that can be improved in the browser. The touch event support was originally added in Firefox 52, I believe, but was conditional on the content-process separation (what we call e10s) being enabled, and that might have been disabled for you until Firefox 54 (things like add-ons, accessibility features, and some other things could be a factor). Firefox 57 was the first release where e10s was enabled across the board. Until 57, people will have encountered these issues for the first time in different releases, not necessarily always in Firefox 54, depending on when they ended up with e10s enabled.
Thank you. I will find out if any schools use any websites with this problem and see if any of them are non flash based. I am in agreement with you that its not worth fixing for Flash based websites as Flash is being phased out anyway. I cannot think of any websites with this issue that are non flash based so it may be more a flash based problem. I will enquire of schools. As you mentioned that there might be isuses with some websites not working if I change the settings, I think that the preferred solution would be to use Firefox for 99% of the websites and use IE for whatever websites have this particular issue. I will however contact Phonics Play and advise them of this issue. Many thanks for looking into the matter.
No problem! I'm going to close this bug for now since there's nothing actionable on our part. If you do find websites that are not flash based and that have this issue, please post here and we can take a look.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.