Earlier quoted context omitted.
I think the HTML standard prohibits you from using non-standard tags like or , unless they have a dash in them.
This can't be true. I use non-standard tags without dashes all the time for my custom directives in Angular.
Non-standard tags generally work in all browsers modern, but they aren't part of the spec. It's just like custom attributes which don't start with `data-`. They're recognized and work, but not strictly speaking legal. Your code fill fail HTML5 validation tests.