After adding a link, scrolling the page resizes the edit card itself it seems, making the experience look wonky.
Issue was found on iOS Safari, iPhone 5s
Here is a video capture showing the wonkiness:
| Ryasmeen | |
| Jul 9 2019, 11:09 PM |
| F31027158: 2BBBF9AC-818E-44E1-A4E4-087C3C94A79A.png | |
| Nov 6 2019, 5:00 PM |
| F31027157: 2C53E97F-5720-4FCD-9CD3-9C956AA663F2.png | |
| Nov 6 2019, 5:00 PM |
| F31027152: IMG_0306.MP4 | |
| Nov 6 2019, 5:00 PM |
| F31027173: image.png | |
| Nov 6 2019, 5:00 PM |
| F31027169: image.png | |
| Nov 6 2019, 5:00 PM |
| F31019270: T227628-resize.ogv | |
| Nov 6 2019, 12:03 AM |
| F30425616: IMG_0286.MP4 | |
| Sep 21 2019, 9:22 PM |
| F29906609: image.png | |
| Jul 30 2019, 10:52 AM |
After adding a link, scrolling the page resizes the edit card itself it seems, making the experience look wonky.
Issue was found on iOS Safari, iPhone 5s
Here is a video capture showing the wonkiness:
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Resolved | None | T221247 [Epic] Mobile context items | |||
| Invalid | None | T221307 [Engineering Epic] Mobile edit cards | |||
| Resolved | Ryasmeen | T221312 Pre-deployment QA Edit Cards v2.0 | |||
| Resolved | Ryasmeen | T227628 [Pre-deployment bug] Scrolling the page when a link is selected resizes the edit card itself it seems. |
This is correct behaviour as the bottom padding area is added to avoid having any links that would conflict with the bottom menu bar (clicking in that area just brings the menu bar up).
Hey @iamjessklein we need you to conduct a design review on this and determine if we can proceed as is or if we need to make tweaks.
Why this happens:
iOS Safari has a collapsible menu bar at the bottom of the screen, which hides when the page is scrolled:
When the menu bar is collapsed, any controls placed in that area (bottom 44px of the browser window) can't be tapped – instead, tapping there brings up the menu bar (and scrolls the entire page up by its height):
The design calls for the "Remove link" button to be placed at the bottom of the screen, so when the menu bar is collapsed, the user would effectively have to tap our button twice (first tap opens the menu bar and scrolls the button up; second tap, in the new position, actually executes the action).
To avoid this, we add extra space underneath it when the menu bar is collapsed, and remove it when the menu bar expands:
However, when the Safari menu bar collapses/expands, it has a slight animation. We can't sync our animation to it, because the browser does not notify us that this is happening until its own animation is done. Therefore our opposite animation for our empty space runs with a slight delay, and looks "wonky". Video:
What can we do about it?
What can we do about it?
We could also style the fake padding differently to make it look more intentional.
I think we should just remove our workaround here. Its effect is surprising and distracting.
iOS users probably will not be surprised by having to tap twice on buttons in this area. And even if it surprises someone, the "Remove" actions should be used relatively rarely, and the surprising behavior does not cause much friction.
Change 526237 had a related patch set uploaded (by Bartosz Dziewoński; owner: Bartosz Dziewoński):
[mediawiki/extensions/VisualEditor@master] Remove hack to avoid iOS Safari menu bar area tap stealing
Change 526238 had a related patch set uploaded (by Bartosz Dziewoński; owner: Bartosz Dziewoński):
[VisualEditor/VisualEditor@master] Remove hack to avoid iOS Safari menu bar area tap stealing
You make a good point. There is another edge case that will be affected which are body-less contexts (gallery, math etc.) which have all their actions in the menu bar area:
We also observed in user testing that our estimate of the toolbar height (44px) is not quite enough on newer iPhones with notches.
The above patches by Bartosz propose removing the padding completely. We should make a decision on how to proceed:
@matmarex I'm experiencing the same behavior that's shown in the video you shared in T227628#5513046
I'm for what @matmarex is proposing in the quoted comment above for the reasons he also mentions in this same comment. Tho, @iamjessklein, I am curious what you think the best approach is.
Bartosz, a question in parallel for you:
No, it hasn't been deployed, and it behaves as I described for me still:
Based on your video, it looks like the size of the browser menu bar, which we assumed to always be 44px, actually differs between different iPhone models. I guess it's because of the notches?
Compare these screenshots from my iPhone SE, where the height of the menu bar exactly matches the height of our extra space at the bottom of the screen, and the "Remove link" buttons appear in the same place on the screen:
…to these screenshots from your video (no idea what's the phone model), where they don't:
So if we wanted to keep our current workaround, we'd actually have to experiment with different phones to find the right values for each one (or maybe find documentation about this somewhere), and keep it updated as new models are released. Which seems pretty awful to me.
Change 526238 merged by jenkins-bot:
[VisualEditor/VisualEditor@master] Remove hack to avoid iOS Safari menu bar area tap stealing
Change 526237 merged by jenkins-bot:
[mediawiki/extensions/VisualEditor@master] Remove hack to avoid iOS Safari menu bar area tap stealing
Change 569597 had a related patch set uploaded (by Bartosz Dziewoński; owner: Bartosz Dziewoński):
[mediawiki/extensions/VisualEditor@master] Update VE core submodule to master (daa98ac4e)
Change 569597 merged by jenkins-bot:
[mediawiki/extensions/VisualEditor@master] Update VE core submodule to master (daa98ac4e)