Lee Jordan

You've got to have standards

You've got to have standards

Browsers are the most hostile software development environment imaginable.
Douglas Crockford

Front end web development can be painful. The pain is mostly caused by the almost infinite number of combinations of software and hardware. We don't have a locked down ecosystem like you have when building a device specific app using native language e.g. an iOS app. I'm here to remind you that this pain can be somewhat mitigated if you understand and follow web standards.

#What are web standards?

I'll let the organisation that writes and publishes web standards answer that one:

W3C publishes documents that define Web technologies. These documents follow a process designed to promote consensus, fairness, public accountability, and quality. At the end of this process, W3C publishes Recommendations, which are considered Web standards.
w3c.org FAQ

In essence web standards are a crowd-sourced set of rules that are written through a long process of discussion (with many passionate and long running arguments) until a consensus is reached. They are a set of democratic rules that all the various parts of the web industry make a great deal of effort to write and adhere to. Here are some examples from the current html5 specification which should be fairly widely known yet are still often forgotten or broken:

Web standards are not arcane laws decreed by ivory-tower organizations. As we have described, the standards are for the most part decided by representatives of the same people who use them - browser makers, Web developers, content providers, and other organizations.
webstandards.org FAQ

Here's why web standards matter, and why following them will help you to build more reliable and accessible web sites:

If you do not follow web standards, you shouldn't be surprised when some or all browsers do not render your page correctly. Early in my career I would often find myself trying to fix code that I had written that was not performing as I would expect it to and without exception this was because I was not following web standards.

You can do some amazingly creative things in web development, but they should be extensions or enhancements on a solid foundation, and that solid foundation is precisely what is offered by web standards.

Here's the HTML5 specification for your further reading.

You've got to have standards.