-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
6.8.3
-
None
When rendering HTML <input> elements, QtWebEngine currently does not respect the inputmode attribute, which is intended to control the on-screen keyboard layout on mobile and touch devices.
For example:
<input type="text" inputmode="numeric">
should request a numeric keyboard, even though the input type remains plain text. However, QtWebEngine always displays the default text keyboard, as if inputmode were not set at all.
This issue is distinct from the type attribute, which defines the semantic meaning of the input (e.g., text, email, number, etc.). The problem specifically affects inputmode, which serves only as a keyboard hint and should not alter validation or data semantics.
Expected behavior:
QtWebEngine should pass the inputmode hint to the platform input context (e.g., Qt Virtual Keyboard or native OS IME), ensuring that the appropriate virtual keyboard layout appears.
Actual behavior:
The inputmode attribute is ignored, and the keyboard layout does not change.
This works correctly when Chromium is run standalone (outside of QtWebEngine) on Wayland with Ozone, where zwp_text_input_v1.set_content_type() is used.
The issue appears specific to QtWebEngine's IM bridge between Chromium and Qt.
Tested with Qt 6.8.3.
In the attached screenshot, I start a small test application on https://inputmodes.com/ and select a "numeric" input field. QtVirtualKeyboard shows the standard layout even though the field inputmode is set to:
<input inputmode="numeric">

| For Gerrit Dashboard: QTBUG-141573 | ||||||
|---|---|---|---|---|---|---|
| # | Subject | Branch | Project | Status | CR | V |
| 687807,1 | Add HTML inputmode global attribute support | dev | qt/qtwebengine | Status: NEW | 0 | 0 |