A few months ago I would have agreed 100% with Jen’s controversial statement. But now, I can’t.
I agree that HTML and CSS are amazing standards, and completely support the ongoing standards movement (really love that ES7). These technologies represent years of experience, best practice, accessibility, and semantics of the web industry. With these truths in mind, for a long time I tried to develop my web pages as close to the intent of these specifications as possible.
What started to change my mind on this topic was not frustration (although that point was coming close), but the Shop Talk Show panel on “Inline Styles.” Specifically the fact that there was no strong voice negating inline styles. I thought that for sure I would leave the panel with my anti-inline styles opinion reinforced, but that just didn’t happen.
When’s the last time you wrote CSS? Actual real CSS. No Sass, no Less, just Cascading Style Sheets. For me that answer is never. CSS is not ideal, but that’s ok.
Have you ever taken a look around the Mozilla Developer Network’s documentation on the DOM API? In no universe is that the ideal way to create great web experiences. DOM nodes are not an array, an attribute map has it’s own class—overall it’s just way, way overcomplicated. If you tried to author a good web experience (dare I say silky smooth) with those APIs directly you would go crazy. But that’s ok, it’s even preferred.
I could keep going for a long time naming the ugly, messy things the W3 has specified, but I would be wasting my time as ranting about them does not change the fact that they work. The web should aim to be a platform, not a framework for development.
The web is not a stack and the web should not be a stack. Web specifications are not the house which our applications code simply furnishes, but rather the raw materials we use to build our applications from the ground up.
Let’s reframe the debate
Likewise I ask developers to have empathy for users. Just because a framework solves 80% of your problems, that does not make the other 20% irrelevant. Accessibility and Progressive Enhancement are critical. They are business issues but more importantly they are human issues.
Looking towards the future