Public properties and events determine framework interoperability

A browser can support custom elements while a framework still passes data or events unexpectedly.

Attributes serialize strings in markup, whereas properties can carry objects, functions, and other JavaScript values.

React documents runtime rules for choosing attribute assignment, property assignment, and custom event listeners.

Consumers also need stable event names, bubbling rules, composition behavior, methods, reflection, and upgrade timing.

If HTML provides portability, slot contracts preserve composition across diverse framework renderers.

Interoperability claims should therefore name tested framework versions, server-rendering paths, data shapes, and event behavior.

Design the public element contract first, then verify it through native DOM tests and framework-specific integration suites.