Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think for a system that can basically do EVERYTHING, HTML is quite well designed. And I think keeping backwards compatibility for SO long is a big achievement and a good thing.

I also think that if we could roll back time and had the knowledge of today, instead of fixed elements with user-agent styling and hard-coded restrictions, I would've crafted a system of arbitrary nodes that can have modifiers stacked on them.

So instead of

<ul> you could use <Features list>. This would minimize the very different but basically same CSS properties as well and trim out A LOT of HTML tags. Think <Comment collapsible link> instead of wrapping a <details> in an <a>.

That's basically how React and Vue started out with the component system, but I'm thinking more of a GameObject & Component system like with Unity.



You can create any arbitrary tag for an element and it will be treated like a span until you define its appearance with CSS.

    Features {
      display: block;
      padding-left: 1.5em;
      list-style-type: disc;
    }

    Feature {
      display: list-item;
    }
Technically, you're supposed to add a dash to a custom element to avoid namespace issues with potentially new elements, but that's probably an easy search and replace if it ever happens.

This comes in very handy with XML.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: