How HTML5 element names were decided

I had the pleasure of attending a talk by Chris Mills, creator of the Opera Web Standards Curriculum, which was organised by those Standardistas fellas and Build. Chris was talking about HTML5 and one of the things I found interesting was the research behind how the HTML5 element names came about.

Google research

Google looked at something like a billion web pages and measured what ID and class names were used the most.

The results looked like this:

  1. footer
  2. menu
  3. title
  4. small
  5. text
  6. content
  7. header
  8. nav
  9. copyright
  10. button
google.gif

See the full results here.

Look familiar?

Opera research

Opera then conducted their own research too, which came up with similar results.

Classes
  1. footer
  2. menu
  3. style1
  4. msonormal
  5. text

Full class results here.

IDs
  1. footer
  2. content
  3. header
  4. logo
  5. container

Full ID results here.

And that’s how HTML5 element names were decided

As you can see the new HTML5 element names were decided based on the most commonly used IDs and classes that web designers were already using.

Both ‘main’ and ‘content’ are the obvious omissions. I’m not 100% behind the reasoning for this but I guess ‘section’ and ‘article’ work better semantically for the main content areas.

Good to see ‘msonormal’ didn’t creep in there.

Related articles


5 Appreciated Comments

  1. On the , Karsten Huehn said:

    The main problem with HTML5, I believe, is that the tags have gone from too general in XHTML to too specific. Other than mainstream news media sites, I can’t think of too many web sites I have worked on that I wished for an tag, or or . An appropriate block or inline element, such as or , always worked just fine and could be identified with an appropriate id or class. And adding and for one particular implementation is rather short-sighted. What happens if Ruby falls out of favour and is replaced by something else… at least and have recognisable purposes, albeit deprecated ones.

  2. On the , Luke said:

    There is a bit of a large jump before your conclusion there… Sure this explains “header” and “footer”, although these have been long-used terms for both online and print media. You do not explain the “section”, “article” or “aside” tags, nor numerous others.

  3. On the , Kien said:

    msonormal?

    * twitch *

    If any of you didn’t know, MsoNormal is from “HTML” generated by MS Office products, including Frontpage.

  4. On the , resume template said:

    I am loving it.

  5. On the , Gaurav Mishra said:

    Umm! interesting approach to name the HTML5 elements.
    tkx for sharing with all of us!

Have a comment? Tweet @leemunroe and I'll be glad to respond.