Some component frameworks (e.g. react, svelte 5, solid) use "synthetic event delegation" to invoke event handlers. When used in conjunction with custom elements that attach event handlers outside of these synthetic event systems this will subtly break usage ofevent.stopPropagation(). The proposal here is to add a new test to detect when this happens and ding component frameworks that don't comply.
This issue is spurred by a conversation with @KonnorRogers and @lukewarlow on twitter.
Examples of this in action(not to pick on anyone in particular):
Some component frameworks (e.g. react, svelte 5, solid) use "synthetic event delegation" to invoke event handlers. When used in conjunction with custom elements that attach event handlers outside of these synthetic event systems this will subtly break usage of
event.stopPropagation(). The proposal here is to add a new test to detect when this happens and ding component frameworks that don't comply.This issue is spurred by a conversation with @KonnorRogers and @lukewarlow on twitter.
Examples of this in action(not to pick on anyone in particular):
Svelte breaks
Vue works fine