Last Updated: February 25, 2016
· markpalfreeman

The Semantic Web & HTML5

The Semantic Web & HTML5

I'm pretty new to the concepts of HTML5, especially its concept of a "platform" as the separation of concerns across the big three web languages keeps us all sane. In the first week of my Code Fellows training, I've come to a much clearer understanding of semantics and why it should matter to front-end developers.

The Semantic Web

If you're like me a few months ago, you go to a website and if it looks good and works well, you say "job well done!" What many people don't think about is the monstrous size of the Internet and how complicated it must be for the the makers of websites and applications to latch onto any stability in an ever-evolving world full of emerging technologies.

Now that I've started calling myself a developer, I'm learning a good deal about the value of standardization and legibility when it comes to web document structure, particularly with HTML(5).

What are Semantics?

When we say "semantics" we mean the ability for someone (or some computer) to understand what something means by what it says, or how it's categorized. HTML has made many advances in this area since its prior version. (Even the whole concept of "versions" is beginning to fade, and we're really just thinking of HTML as a language that is changing as it needs. It's a good thing.)

You can see the benefits of these "semantic" standardizations pretty quickly:

  • Future/additional developers have something to lean on, rather than relative naming that only making contextual sense
  • Multitudes of websites, devices, and applications can use the same conventions, making the Internet that much more organized
  • Screen readers can make sense of something without needing to know CSS (this is more important than a single bullet conveys)
  • Progressive enhancement is more of a reality, as new additions won't break what has been created in the past

Become A Better Developer

The following concepts are critical in our discussion toward a semantically-correct and robust web, specifically as a front-end developer:

  • Presentation should play no part in the writing of HTML documents. That's the role of CSS.
  • UX developers need to be thinking first about appropriate semantics, not design!
  • Like many new industries, the best developers are craftsmen and know their tools, media, and language from the ground up. For us, this means reading W3C specifications, reading documentation, and becoming masters that know why (not just how) we do things.