Earlier quoted context omitted.
That separation between markup and presentation language (CSS here) is exactly the point. Kicking all this stuff out into CSS means your markup can mean what you're trying to say. Using elements should mean you're defining a table with tabular data in it. These new bells and whistles don't change that. You'll still use for tabular data. And I'm not sure what you mean about native app development. We bitch and moan ab…
Why must a table be used in such a way, only for tabular data? Sorry if I seem obtuse, but I don't really see the purpose behind semantic elements. Tables were fine for layout with much fewer things that you needed to get right. Wikipedia still uses tables for the layout on the Main Page, for example. I don't think there is any 'meaning' in the tags that we use, and any meaning implied there is invented as a way to t…
This makes it not only usable by a web browser, but parsable by software. That includes, but is certainly not limited to, screen readers, assistive technologies, and search engines.
Consider an example where I use JavaScript to make tags behave like links. I can make it “work”, but by doing so, I am disregarding—and breaking—a primary function of the language.