js.design - Unable to input chinese characters in the search bar
Categories
(Web Compatibility :: Site Reports, defect, P2)
Tracking
(Webcompat Score:8, Webcompat Priority:P1, firefox128 wontfix, firefox130 wontfix, firefox138 fixed)
People
(Reporter: ctanase, Assigned: masayuki)
References
()
Details
(Keywords: inputmethod, webcompat:platform-bug, webcompat:site-report, Whiteboard: [webcompat-source:product])
User Story
platform:windows,mac,linux,android impact:workflow-broken configuration:general affects:all branch:release diagnosis-team:dom user-impact-score:600
Attachments
(2 files)
Environment:
Operating system: Windows 11/10
Firefox version: Firefox 128.0.2 (release)/130
Preconditions:
- Clean profile
- Chinese (Simplified/China)/Microsoft Pinyin keyboard enabled
- Make sure chinese mode is enabled when typing
Steps to reproduce:
- Navigate to: https://js.design/community?category=explore
- Click on the search bar.
- Type "a" and press any number from 1-7 to validate the chinese character. (you can also choose by clicking directly on the desired character)
Expected Behavior:
The letter "a" gets changed to the chinese character.
Actual Behavior:
The letter "a" does not gets changed to the chinese character.
Notes:
- Reproducible on the latest Firefox Release and Nightly
- Reproducible regardless of the ETP setting
- Works as expected using Chrome
Created from webcompat-user-report:adf0058f-e551-4693-8248-6b1f44cf54ee
Updated•10 months ago
|
Assignee | ||
Comment 2•4 months ago
|
||
Indeed, I reproduce this bug on Android too. So, I see this without kind of inputting characters, i.e., even with English words.
Assignee | ||
Comment 3•4 months ago
|
||
This is a bug of the web site, they depend on Chrome specific behavior at least under current spec state.
According to the debugger, HTMLInputElement.value
is set when we are dispatching compositionend
. At this time, our HTMLInputElement
already has the commit string, but the setting value is old value, i.e., the last value which was introduced with the last input
event. So, I think that this is caused by the incompatible event order issue because Chrome dispatches input
before compositionend
whose isComposing
is true
, but we dispatch input
after compositionend
whose isComposing
is false
. Therefore, we cannot fix this in our side until the spec issue is closed.
I think that the web site should use .data
value of compositionend
event when they set HTMLInputElement.value
.
Comment 4•4 months ago
|
||
Can we switch to the Chrome behaviour until the spec issue is resolved?
Assignee | ||
Comment 5•4 months ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #4)
Can we switch to the Chrome behaviour until the spec issue is resolved?
The reason why I filed the spec issue is, it may be hard to port our chrome script to the new behavior due to unusable .isComposing
attribute value. Although I'm not sure whether we need that, current Chrome behavior is obviously unusable for editor developers to support IME. Actually, this search form needs to listen to compositionend
events rather than only input
events.
Assignee | ||
Comment 6•4 months ago
|
||
Ah, but we could dispatch a redundant input
event before compositionend
. I'll try in a new bug.
Updated•4 months ago
|
Updated•4 months ago
|
Updated•3 months ago
|
Reporter | ||
Comment 7•2 months ago
|
||
It works now on both mobile and desktop when following STR.
Reporter | ||
Updated•2 months ago
|
Reporter | ||
Updated•2 months ago
|
Comment 8•2 months ago
|
||
Verified as FIXED using the RC Build
Tested with:
Browser / Version: Firefox 137.0-candidate build 1
Operating System: Windows 10 PRO x64
Updated•29 days ago
|
Description
•