Per the following portions of the HTML specification:
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.
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).
No alert boxes are shown because no `input` events were fired.
Equivalent Chrome bug: https://code.google.com/p/chromium/issues/detail?id=534245
Erm, obviously I meant Safari rather than Chrome in the Steps to Reproduce.
HTML spec bug: https://github.com/whatwg/html/issues/601
Firefox 49 now fires these events.
Some tests added at http://w3c-test.org/html/semantics/forms/the-input-element/checkbox-click-events.html
The Chrome team marked that bug as fixed as well with Chrome 66:
Mass move bugs into the DOM component.