The thing to understand about HTML is that even while we are given a full range of elements that vendors are encouraged to support (according to expected behaviors) this does not put a cap on it. We can invent our own elements and make full use of them.
We can style the element with CSS,
and we can hook it in a script,
const dog = document.querySelector('dog')
Now, if a given browser does not want to cooperate we simply educate the browser using its own scripting environment.
This takes us back to early HTML and some of the great minds in the working groups. Remy Sharp comes to mind, but he is not alone. Read up on how some very smart people helped IE to recognize HTML5 before it was officially supported. Search for the term,