-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Description
Prerequisites
- I have read the Contributing Guidelines.
- I agree to follow the Code of Conduct.
- I have searched for existing issues that already include this feature request, without success.
Describe the Feature Request
ion-datetime (wheel) + ion-picker supports a “numeric input mode” when the user taps a numeric column: the picker focuses an internal , shows the OS keypad, and lets users type to update both hour and minute columns.
There’s currently no public API to trigger the same behavior programmatically (e.g., from a button or accessibility shortcut).
Describe the Use Case
-
Accessibility: provide a keyboard/assistive-tech control to enter numeric mode.
-
UX: offer an “Edit time” button that behaves exactly like a tap.
-
Automated testing & consistency across platforms.
Describe Preferred Solution
Expose a safe, documented method:
// on ion-picker (and used by ion-datetime internally)
enterInputMode(column?: HTMLIonPickerColumnElement | 'hour' | 'minute', options?: { focus?: boolean }): void;
exitInputMode(): void;
// or on ion-datetime (delegates to internal picker)
enterInputMode(scope?: 'all' | 'hour' | 'minute', options?: { focus?: boolean }): void;
Behavior should mirror a real tap:
-
Set internal input-mode state (multi-column when scope === 'all').
-
Emit the same event columns currently listen for.
-
focus the hidden input to open the keypad.
Describe Alternatives
No response
Related Code
Any datetime/picker
Additional Information
Without a public API, it’s impossible to trigger numeric input mode via assistive technology (e.g., VoiceOver/ TalkBack actions, hardware keyboard shortcuts, or custom accessibility buttons). This can prevent certain users from easily adjusting time values, especially those with motor impairments who find wheel scrolling difficult.