[Webkit-unassigned] [Bug 254861] New: iPadOS: Viewport doesn't correctly restore after dismissing software keyboard for installed web apps
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sat Apr 1 01:21:32 PDT 2023
https://bugs.webkit.org/show_bug.cgi?id=254861
Bug ID: 254861
Summary: iPadOS: Viewport doesn't correctly restore after
dismissing software keyboard for installed web apps
Product: WebKit
Version: Safari 16
Hardware: iPhone / iPad
OS: iOS 16
Status: NEW
Severity: Normal
Priority: P2
Component: Layout and Rendering
Assignee: webkit-unassigned at lists.webkit.org
Reporter: ik at rejh.nl
CC: bfulgham at webkit.org, simon.fraser at apple.com,
zalan at apple.com
Created attachment 465722
--> https://bugs.webkit.org/attachment.cgi?id=465722&action=review
Screenshot of twitter web app after dismissing the keyboard
Reproduce:
1. On an iPad Mini (5th gen), go to twitter.com, install the web app to the home screen
2. Open the installed web app, log in, navigate to a DM / chat
3. Tap the message input on the bottom (the software keyboard pops up, pushing the page/viewport up
4. Dismiss the keyboard via the button in the lower right corner
Alternative:
The same issue can be observed in the testcase I made for another issue:
https://testcase.rejh.nl/webkit-safe-area-inset-does-not-update/
What happens:
The viewport jumps down, then back up to where it was before the keyboard was dismissed.
See attached screenshot (1, red).
See attachment.
Notes:
1. Elements with position: fixed *do* restore to the correct position (like the menu bar on the left) but it's only visually. Touch events still fire relative to the offset of the viewport. Example: After following the steps, tap the 'twitter' icon in the top left corner. It triggers a click event on the Bookmarks icon (which was positioned at that position when the keyboard was still visible). See screenshot (2, yellow)
2. The viewport jumps back to the correct position if you slightly scroll somewhere on the page - unless it has `overscroll-behavior: none (I assume this is because it prevents the scroll to bubble up to the root)
3. If the entire page (or element that fills the entire page) has `position: fixed`, everything *seems* to be in the correct position but touch events fire in the wrong place. Touch events in the lower part of the screen (where the keyboard was displayed) do not respond at all. This includes scrolling: the entire lower part of the viewport can not be scrolled.
4. When 2 and 3 are combined, it completely breaks the site. The only way to restore normal behavior is to re-open the keyboard and dismiss it via a tap somewhere in the document.
I'm not sure if all iPads are affected, I only have an iPad Mini (5th gen). iPad (10th gen) simulator works as expected. iPhone also unaffected. It only affects installed web apps, the same steps in regular Safari work as expected.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230401/482e0c58/attachment.htm>
More information about the webkit-unassigned
mailing list