Bug 149398

Summary: <input> of type=checkbox,radio,file doesn't fire `input` events
Product: WebKit Reporter: Chris Rebert <webkit>
Component: HTML EditingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ashvayka, d, jonlee, m.goleb+bugzilla, m.kurz+webkitbugs, rniwa, webkit-bug-importer, wenson_hsieh
Priority: P2 Keywords: HasReduction, InRadar
Version: WebKit Nightly Build   
Hardware: Mac   
OS: OS X 10.11   
URL: http://jsbin.com/jojoji/edit?html,output
See Also: http://code.google.com/p/chromium/issues/detail?id=534245
https://bugzilla.mozilla.org/show_bug.cgi?id=1206616

Chris Rebert
Reported 2015-09-21 01:41:54 PDT
Per the following portions of the HTML specification: * https://html.spec.whatwg.org/multipage/forms.html#checkbox-state-(type=checkbox):event-input-input * https://html.spec.whatwg.org/multipage/forms.html#radio-button-state-(type=radio):event-input-input * https://html.spec.whatwg.org/multipage/forms.html#file-upload-state-(type=file):event-input-input when the user changes the checkedness of an <input type="checkbox"> or <input type="radio">, or when a user changes the selected files of an <input type="file">, the browser is supposed to fire an `input` event (https://developer.mozilla.org/en-US/docs/Web/Events/input ) at that <input> element. Safari/WebKit doesn't currently comply with this, and doesn't fire `input` events in these cases. Steps to reproduce: 1. Open http://jsbin.com/jojoji/edit?html,output in Chrome. 2. Check the checkbox. 3. Click one of the two radio buttons. 4. Click "Choose File" and select a file. Expected results: After each of steps 2 thru 4, an alert box with the message "input!" should be displayed (because an `input` event should be fired at the respective <input> element). Actual results: No alert boxes are shown because no `input` events were fired. Other info: Equivalent Chrome bug: https://code.google.com/p/chromium/issues/detail?id=534245
Attachments
Chris Rebert
Comment 1 2015-12-31 20:38:43 PST
Erm, obviously I meant Safari rather than Chrome in the Steps to Reproduce.
Chris Rebert
Comment 2 2016-02-02 19:05:19 PST
Radar WebKit Bug Importer
Comment 3 2016-04-02 19:27:53 PDT
Chris Rebert
Comment 4 2016-06-06 10:33:33 PDT
Firefox 49 now fires these events.
Domenic Denicola
Comment 5 2017-05-16 13:57:57 PDT
m.kurz+webkitbugs
Comment 6 2018-01-30 06:12:49 PST
The Chrome team marked that bug as fixed as well with Chrome 66: https://bugs.chromium.org/p/chromium/issues/detail?id=534245#c18
Lucas Forschler
Comment 7 2019-02-06 09:18:33 PST
Mass move bugs into the DOM component.
Alexey Shvayka
Comment 8 2020-05-04 16:14:04 PDT
(In reply to Chris Rebert from comment #0) > 1. Open http://jsbin.com/jojoji/edit?html,output in Chrome. (In reply to Domenic Denicola from comment #5) > Some tests added at > http://w3c-test.org/html/semantics/forms/the-input-element/checkbox-click- > events.html As of Safari 13.1, jsbin.com example works as expected (for all <input> types) and web platform tests do pass.
m.kurz+webkitbugs
Comment 9 2020-05-05 05:57:35 PDT
More specific details on the fixes: Starting with Safari 12.1 the radio inputs and checkbox inputs fire “click”, “input”, and “change” events in order when clicked. See https://bugs.webkit.org/show_bug.cgi?id=190223 https://trac.webkit.org/changeset/236779/webkit https://webkit.org/blog/8419/release-notes-for-safari-technology-preview-67/ -> "Fixed radio inputs and checkbox inputs to fire “click”, “input”, and “change” events in order when clicked" Preview 67 was mentioned in the 12.1 blog post here (see bottom): https://webkit.org/blog/8718/new-webkit-features-in-safari-12-1/ Starting with Safari 13.1 finally the file input fires an input event before the change event: https://bugs.webkit.org/show_bug.cgi?id=204292 https://trac.webkit.org/changeset/252768/webkit https://webkit.org/blog/9672/release-notes-for-safari-technology-preview-97/ -> "Changed the file input to fire an input event before the change event" Preview 97 was mentioned in the 13.1 blog post here (see bottom): https://webkit.org/blog/10247/new-webkit-features-in-safari-13-1/
Note You need to log in before you can comment on or make changes to this bug.