This a a major leap. Once you understand that HTML is object code, a whole new world of architectural possibilities opens up to you.
Not exactly a new idea either. pg talked about this years ago...
Not exactly a new idea either. pg talked about this years ago...
However, used in the right way, an abstraction on top of HTML can improve accessibility. For example IE versions before version 8 does not support display:table, which lead many developers to chose table markup rater than CSS (because the share of IE users on a given site typically is greater than the share of disabled users). But with a higher-level language you can write:
(flexible-grid
(row
(cell (width fixed 200px) "This is a sidebar")
(cell (width spring) "This is the main content")))
And for IE-user you render this as table-markup, and for everyone else (Firefox-users, small devices, Google etc.) you render as accessible non-table HTML+CSS.Some developers claim to find table-markup much more intuitive than equivalent CSS. In that case you can choose a language like:
(table
(tr
(td (width: 200px) "This is a sidebar")
(td "This is the main content")))
...and still render it into clean, accessible HTML for everyone except IE<8 users. Win-win!