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.