I think this article is thinking too literally and specifically about WebComponents. WebComponents are just macros for HTML. It's neither good nor bad, in the sense that it can or cannot be abused. Of course it can be abused, just like functions or textual include can be abused.
But WebComponents aren't "new elements." They're just composition of XML data. It's more like being able to call a function and return an XML subtree. Composition is a good thing; indeed, greater abstractions for composition are probably the only concern for programming language development. The lack of composition in HTML is a serious problem.
Just like native elements, Custom Elements work with any modern framework. You can just add them to the DOM and they will work fine. They have their own attributes and methods. They also can fire events and react to attribute changes.
> It's more like being able to call a function and return an XML subtree.
It's not like that. You just use your Custom Element like any other element. If you want a "video" element, you add a "video" element. If you want a "my-video" element, you add a "my-video" element.
You'd interact with this "my-video" element the same way as you would with a "video" element. All the DOM/event stuff works exactly the same.
But WebComponents aren't "new elements." They're just composition of XML data. It's more like being able to call a function and return an XML subtree. Composition is a good thing; indeed, greater abstractions for composition are probably the only concern for programming language development. The lack of composition in HTML is a serious problem.