This is still quite broken, and impacting my users on signup, login, and when creating/editing posts. I have watched this happen on both phones and tablets. I think at least one of the tablets was an iOS device, but I mostly observe this on Android.
My forum is geographically local, so I often get to observe people interacting with it in person.
I’m open to a CSS fix for now, and it would probably be good for a fix to make its way into core. I’ll update here if I find a solution.
the limited screen real estate is devoted to the task at hand (input fields) instead of being split between modal and background
fields don’t get hidden by the keyboard, with the user unable to scroll
the user doesn’t have to close, then open, then close, then open the keyboard to fill out all the fields
the user doesn’t have to type blindly into a field they cannot see
There’s still some inconsistency between browsers. The JS resize doesn’t appear to work in Chromium, but it does work in Brave and Firefox. But the Chromium experience is still better with the modals at the top of the screen, where the keyboard isn’t.
Why pure CSS approaches didn’t work:
I don’t think env(keyboard-inset-height) works outside of PWA’s on iOS
100dvh in theory would work but doesn’t seem to be supported yet in my mobile browser
I also heard from people that they couldn’t find the signup button. So:
Display signup button all the time, don’t hide it on mobile:
All of these issues were preventing people from signing up for the forum, and from making their first post. So while it may sound simple, for me at least these were extremely high priority fixes.
I will have to try both sets of code to test. As I have this issue when editing form templates or using the theme editor for CSS/html. I figured a workaround for those by adding a bunch of empty lines. These CSS fixes look much better.