js.design - Unable to input chinese characters in the search bar
Categories
(Web Compatibility :: Site Reports, defect, P2)
Tracking
(Webcompat Priority:P1, Webcompat Score:8, 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•1 year ago
|
| Assignee | ||
Comment 2•1 year 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•1 year 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•1 year ago
|
||
Can we switch to the Chrome behaviour until the spec issue is resolved?
| Assignee | ||
Comment 5•1 year 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•1 year ago
|
||
Ah, but we could dispatch a redundant input event before compositionend. I'll try in a new bug.
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
| Reporter | ||
Comment 7•11 months ago
|
||
It works now on both mobile and desktop when following STR.
| Reporter | ||
Updated•11 months ago
|
| Reporter | ||
Updated•11 months ago
|
Comment 8•11 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•10 months ago
|
Description
•