Every mainstream desktop ui framework out there has standard, evolving out-of-box set of controls and layout widgets that do not suck. Guess what, you can build Gtk, Qt or Wx app without wrapping inputs into stacks of divs, which aren’t there for layout. People even barely know how to create new controls or containers. The deepest container depth for a regular app is like 5-7 there, and that’s a complex layout already with bells and whistles. Web does suck a lot in this regard, so people reimplement this functionality in javascript and div soup, as the other commenter mentioned. While your statement is true, the idiots here are the web standards which stuck in 1990s and never realized that this “apps” thing everyone’s running around with for a decade or soon two is something more than a printable document with font sizes and empty fields split into sections and paragraphs. If web did care, it would at least add accessibility-only tags (or a separate structure like css does) denoting what’s where and how to interact with it or how to dumb it down to whatever plain set of controls would be there, if the web ui model didn’t suck. The stockholm syndrome it induced in software development is truly tremendous.