The issue is well-defined and requires a straightforward fix to override the input mode for Float, Currency, and Percent fields.
The issue involves mobile browsers displaying a numeric-only keyboard for Float, Currency, and Percent fields due to inheritance from ControlInt. The fix requires overriding the input mode in ControlFloat and related classes to enable decimal input. No blockers are apparent, and a fix branch is already available.
On mobile devices, when a user tries to input a value into a Float, Currency, or Percent field, the virtual keyboard triggered is completely numeric and missing the decimal point. This makes it impossible for users on mobile browsers to input fractional numbers (e.g., 0.16 or 12.50).
The problem originates from ControlFloat inheriting from ControlInt. ControlInt properly sets static input_mode = "numeric";, which instructs mobile browsers to serve an integer-only numpad. Since ControlFloat (and subsequently ControlCurrency and ControlPercent) do not override input_mode, they inherit the "numeric" input mode, breaking decimal inputs on mobile devices.
Output of bench version
frappe 16.10.7 version-16
The virtual keyboard that pops up is strictly n
Claim this issue to let others know you're working on it. You'll earn 10 points when you complete it!