Bug 242060 - REGRESSION (iOS 14.5+): Accessory bar next/previous buttons do not detect inputs that overflow
Summary: REGRESSION (iOS 14.5+): Accessory bar next/previous buttons do not detect inp...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: DOM (show other bugs)
Version: Safari 14
Hardware: iPhone / iPad iOS 14
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-06-28 08:32 PDT by Sean Perkins
Modified: 2022-12-09 11:19 PST (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sean Perkins 2022-06-28 08:32:00 PDT
Starting in approximately iOS 14.5.*, Mobile Safari no longer detects input elements for the navigation buttons within the accessory/quick type bar, if they overflow. This problem is not reproducible in iOS 14.4 and earlier. 


Reproduction:
1. Visit: https://codepen.io/sean-perkins-ionic/pen/QWmLPPX on Mobile Safari (iOS 14.5.0 or later)
2. Tap the first input to draw focus to the input and present the keyboard
3. Observe: The next button is enabled in the accessory/quick type bar
4. Tap the next button to advance to the next focusable input
5. Repeat Step 4 until the next button becomes disabled
6. Manually scroll the container to bring inputs that were overflowed, into the visible viewport
7. Tap the previous button on the accessory/quick type bar
8. Observe: The next button becomes enabled
9. Tap the next button multiple times
10. Observe: Inputs that previously would not receive focus, will receive focus until you reach the start of the new overflowed elements.

Expected:

The next/previous buttons should be able to focus input elements in a scroll container that are overflowed.
Comment 1 Radar WebKit Bug Importer 2022-06-28 10:38:10 PDT
<rdar://problem/96073691>
Comment 2 José 2022-09-29 07:32:13 PDT
We are facing the same issue here whilst developing a mobile app with the Ionic Framework. We reached out to Ionic who suggested to use Capacitor's Keyboard Plugin (https://capacitorjs.com/docs/apis/keyboard) specifically the setAccessoryBarVisible() method. This should be detected automatically on iOS.

Additionally, the return button on the iOS keyboard should scroll down to the next input field automatically. We are still facing this issue.
Comment 3 Jamie 2022-10-11 03:33:46 PDT
I'm also having this problem
Comment 4 Jeff Norton 2022-12-09 11:19:45 PST
We are also facing this issue in a B2C app with ~275k impacted users.