Lets assume you are making a brand new app. You get to make the view/template/CSS/JS however you like, there is nothing pre-defined, there is no structure. You can use whatever selector you desire, including classes/data-attribs, in all your helper libs.
So my question: What is the purpose of using ID's when classes/data-attribs are more flexible, reusable, and generally easier to "stack"? Assuming you are building everything from scratch, does anyone have a concise reason that an element ID would be absolutely needed? Why do we still insist on using them in code?
I see no point whatsoever to using an ID....ever. Quite frankly all they do is cause validators to yell at you for misusing them. Maybe i'm missing some golden egg and someone could enlighten me as to why we still use element ID's in our apps and things.