the dropdown fired input before change
Check id interaction-select-input-precedes-change
What an ordinary browser yields
input before change on every selection, in the order the spec defines. N/A when no change was fired (severity: warn).
What a detector infers
HTML's "send select update notifications" steps fire input and THEN change when a selection is committed, so the pair is what the algorithm produces and a lone change is what a hand-dispatched event looks like. Measured on Chrome 150 against SeleniumBase 4.51.3 UC mode: a single change event with no input before it, from a wrapper that dispatches one constructed Event on the option. Kept separate from the trust row above because the two fail independently - a driver dispatching from a privileged context could produce a trusted change that still arrives alone, and a driver that fired both events could still fire them untrusted. Scoring the ordering and the provenance as one row would let either fix hide the other.
How to resolve it
If the selection must be synthesised, dispatch input and then change, in that order, on the <select> itself rather than on the option. Driving the element through real input avoids the question, because the engine emits both.
Nearby checks in Automation surface
- user activation only ever appeared after a real input event
activation-without-inputThe row above this one reads navigator.userActivation once and expects it to be true, because the audit is reached by pressing a button. - the clicks this page received were real clicks
interaction-click-trustEvent.isTrusted is set by the engine when it dispatches an event it generated itself, and it cannot be set from script - a constructed… - every keypress had a keydown behind it
interaction-keypress-without-keydownThe UI Events spec generates keypress as the DEFAULT ACTION of a keydown - it is not an independent event, it is what a keydown does when it… - key events named the key they carried
interaction-key-identity-populatedA keypress the engine generates names the character it is delivering in .key. - the dropdown change came from the browser, not from a script
interaction-select-change-trustThe same isTrusted argument as the click row, on the surface where the shortcut is most common. - no automation pointer-flash artifact is present
pointer-flash-keyframe-artifactThe only row on this page that works by recognising a specific string, which needs justifying because a name table is exactly what this… - pageXOffset/pageYOffset match their scrollX/scrollY aliases
scroll-alias-coherencewindow.pageXOffset is not a second scroll position, it is a legacy alias of window.scrollX — the specification defines them as the same… - a focused child frame implies its parent document is focused
document-focus-vs-realmdocument.hasFocus() is true when the document OR any of its descendants holds focus, which makes it hierarchical rather than local: a…
Clearcote is a browser built for fingerprint coherence
It is a Chromium fork, maintained by the same people who wrote this reference. It ships as a compiled browser rather than as a stealth script injected into someone else's — which is a description of how it is built, and is not an argument about how it behaves on this check.
This audit takes no position on how Clearcote scores on Automation surface checks, on this one, or anywhere else. It has no baseline corpus of other people's fingerprints to rank you against and no vendor scoreboard — nearly every check is self-referential, asking one browser the same question through two independent APIs and reporting whether both answers can be true at once. It runs identically on any browser, including ours. Run it on yours and read the result yourself.
See the other checks in Automation surface — the family interaction-select-input-precedes-change belongs to.