Tuesday, January 7, 2014

The HTML Star Is Ignored (and Shouldn't Be)

On Friday Jeff Croft posted a piece titled Web Standards Killed the HTML Star where he makes the argument that just knowing HTML and CSS is no longer enough to get a job. He states that the web standards movement has effectively rendered the need for specialized knowledge of browser quirks meaningless, something he feels an HTML/CSS author used to bring to the table. In short, he maintains that the HTML/CSS dev needs to develop new skills.

And So I Ramble Through a Response

It's a compelling argument. With the advent of frameworks and pre-built templates, most web developers don't necessarily feel the need to write HTML or CSS anymore. With WYSIWYG editors built into CMSes, word processors that output to HTML, and all manner of other output-for-web features in traditional software, non-web developers never even need to see HTML if they don't want to.

Jeff's post is addressing standards from the perspective of what skills get you hired. Sadly, it's hiring practices that continue to perpetuate the lack of standards and a need for truly talented HTML/CSS coders. There are plenty of reasons why we still need skilled HTML/CSS coders.

Hip Technologies

Too many developer job requirements do in fact treat HTML/CSS as a given. It is assumed you have those skills if you apply for a software developer or graphic designer job, so prospects list HTML and CSS alongside MS Word and Excel on resumes. Instead, job listings look for the hip language or tool du jour (ActionScript Node, Dreamweaver Twitter Bootstrap, etc.).

In the last decade, many cool technologies have come and gone. Few people are asking for Flash features on their sites, for example. HTML and CSS, however, are still there. They are the bedrock on which all these new tools are built. Staying abreast of everything going on in HTML is perhaps the best way to understand and evaluate the latest JavaScript library or CSS pre-processor. Except that skill-set has been commoditized.

Bad Advice

There are many tech outlets on the web, and they all want to get eyeballs to feed the ad banners paying their salaries. As such, some of the advice on how to properly code HTML and CSS is dubious at best. It doesn't help that some of the people reviewing these resources are also not HTML/CSS experts and so cannot identify when advice is outright wrong.

Let's not forget that the HTML specification is a fluid thing. HTML 5 is not final, HTML 5.1 is coming on its heels, and browser support is still a thing we have to consider. As such, you can't really casually know HTML or CSS

Bandwidth

Remember the adage that everyone is surfing without JavaScript until the JS file is downloaded and processed. This is particularly important over slow or bad connections. It's what drives the "offline first" trend.

Perhaps you are smarter than generating nothing but a body and letting the JS fill in the HTML. If so, then knowing proper HTML is even more important, as that is what the browser will be displaying until your script is parsed.

Starting Assumptions and Pre-Built Platforms

A few weeks back I attended a local WordPress meet-up targeted at developers. As I shared my own development practices someone asked what framework I use for responsive design. I explained I use none. The reaction was bafflement. The idea of starting a responsive site with nothing but a blank Notepad window was completely foreign. The same discussion happened regarding my preferred CSS reset (none) or CSS pre-processor (also none).

Now we live in a time when many developers don't know the fundamental HTML and CSS behind their own pages. They are aware there are resets and frameworks, that they need to muddle through some markup or styles to customize it, that a module or add-on will unlock more features. They all have their choice of shiny hammer, so every problem is just a nail. They are limited by their tools.

These tools are often wrong. Their application of HTML and CSS is against best practices, a barrier to accessibility, or generally inconsistent. These tools were developed by people who also take HTML and CSS for granted, and it shows. When web developers use these tools and themselves don't know HTML or CSS, they simply carry bad habits forward, encoding it across the web.

Accessibility

Let's not forget accessibility in general. The short-sighted may roll their eyes, but only because they forget that they, too, will continue to age and will benefit from accessibility features.

It's my experience that just trying to get developers who "know HTML" to create a simple heading structure on a page is a painful process, but fold ARIA into the mix and you've blown someone's buffer. Even if we keep it simple, I challenge you to find someone who can adequately explain the difference between article and section, let alone what the accessibility implications are.

There tutorials and frameworks dedicated to styling a button to look like a link, or a link to look like a button. These make it into frameworks, software products, and even best practice guides. The specialists without HTML or CSS knowledge are making the web harder to use for those with disabilities.

My Advice

Jeff's advice is to diversify. That is quite good advice. Ideally the more you know about assorted technologies the more quickly you can pivot when they are replaced.

My advice is a bit different. Learn the fundamentals. Learn HTML and CSS and how to best apply it. If it interests you enough to specialize, then be prepared to make your case when looking for a job.

Be the person who validates what everyone else on your team is building so they can stick with their preferred language and you can make sure it renders clean, valid HTML. Be the person who reviews frameworks and tools and can best guide decisions and what needs to be done to fix these third-party codebases.

Another Take

Rewind to Jeffrey Zeldmans' article, To Hell With Bad Browsers, from February 2001. That article pretty much kicked off the web standards push, the core of the standards movement. A few days after that post, I wrote a quasi-response piece, To Hell With Bad Editors, where I took web developers and WYSIWYG editors to task.

As you can see from my rant above and my position thirteen (13!) years ago, I still don't think the web standards movement has achieved its goals. In that regard, I think Jeff Croft's piece already starts from a false assumption.

Others' Thoughts

Others have stated their opinions in the comments of the original piece, and yet others in their own posts:

Related

No comments:

Post a Comment