| Summary: | "Wheel" events are not dispatched in iOS Safari when overscroll is disabled | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Jarod Gowgiel <jarod.gowgiel> |
| Component: | Scrolling | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW --- | ||
| Severity: | Normal | CC: | hi, inikolic, jarod.gowgiel, nmouchtaris, simon.fraser, thorton, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 15 | ||
| Hardware: | iPhone / iPad | ||
| OS: | iOS 15 | ||
|
Description
Jarod Gowgiel
2022-08-18 10:56:08 PDT
Hi, Isidor here from the VS Code team. Please let us know if there is any more details we can provide to help here. This is a long standing issue on our side https://github.com/microsoft/vscode/issues/106232 You can use the following url instead of the previous one that has gone dark https://vscode.dev/ from there you should be able to open a new empty file and notice that the mouse wheel is not working on the iPad. And thanks a lot for looking into this. We really appreciate it. Hey Isidor - thanks for the link! We're running into an issue that's very similar to what VSCode is seeing over in Lucid Software's products (who I'm investigating this issue for). I think the same problem here is impacting VSCode in the browser as well - after some brief poking, it looks like the core editor is a custom implementation of a scrollable window, which uses `overflow: hidden`, and the same rules (including the <meta> tag) that cause the issue on our sites.
I can't think of any potential resolutions that we can take from the app side in either case, since it seems like both products rely on overscroll being disabled to improve the user experience. iOS Safari seems to be in violation of the W3 spec in this situation:
> A user agent MUST dispatch this event when a mouse wheel has been rotated around any axis, or when an equivalent input device (such as a mouse-ball, certain tablets or touchpads, etc.) has emulated such an action.
Keyword "MUST", and I think the bug here is that the event is, under certain conditions, not being dispatched at all.
(In reply to Jarod Gowgiel from comment #3) > Hey Isidor - thanks for the link! We're running into an issue that's very > similar to what VSCode is seeing over in Lucid Software's products (who I'm > investigating this issue for). I think the same problem here is impacting > VSCode in the browser as well - after some brief poking, it looks like the > core editor is a custom implementation of a scrollable window, which uses > `overflow: hidden`, and the same rules (including the <meta> tag) that cause > the issue on our sites. > > I can't think of any potential resolutions that we can take from the app > side in either case, since it seems like both products rely on overscroll > being disabled to improve the user experience. iOS Safari seems to be in > violation of the W3 spec in this situation: > > > A user agent MUST dispatch this event when a mouse wheel has been rotated around any axis, or when an equivalent input device (such as a mouse-ball, certain tablets or touchpads, etc.) has emulated such an action. > > Keyword "MUST", and I think the bug here is that the event is, under certain > conditions, not being dispatched at all. Quote taken from: https://www.w3.org/TR/uievents/#events-wheelevents This is being tracked internally via <rdar://88885351>. |