feat(forms): Adds support for numeric inputmode#66913
Open
SkyZeroZx wants to merge 1 commit intoangular:mainfrom
Open
feat(forms): Adds support for numeric inputmode#66913SkyZeroZx wants to merge 1 commit intoangular:mainfrom
SkyZeroZx wants to merge 1 commit intoangular:mainfrom
Conversation
Allows number inputs with `inputmode="numeric"` to be properly synchronized with signal-based form fields, handling both string and number values Fixes angular#66903
84dded9 to
a01be7c
Compare
SkyZeroZx
commented
Feb 5, 2026
| for (const attr of node.attributes) { | ||
| if (attr.name.toLowerCase() === 'inputmode') { | ||
| const value = attr.value.toLowerCase(); | ||
| return value === 'numeric'; |
Contributor
Author
There was a problem hiding this comment.
For this PR, should we consider adding support for other numeric input modes (e.g. decimal, tel), or would it be better to handle that in a follow-up PR?
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inputMode
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currently, type="text" inputs are treated strictly as string values. When used with inputmode="numeric" and bound to a numeric signal field, this results in a next error :
Allows inputs configured with
inputmode="numeric"to properly synchronize with signal-based form fields by accepting and normalizing both string and number values. This aligns with accessibility practices ( due to assistive technology issues e.g., problematic spinner controls and screen reader behavior) while still preserving the numeric keyboard on mobileOther information
This addresses part of #66903 by enabling proper support for
inputmode="numeric"with numeric form fields.However, on iOS,
pattern="[0-9]*"is often required to consistently trigger the numeric keypad. Since pattern is currently disallowed with[formField], that aspect remains unresolved and would need to be considered separately. ( Although we can currently use modifying the DOM directly as a workaround to add it at runtime )