Day 54 of 100DaysOfSpec, 4.2.5 The meta element

I am reading and taking notes on the HTML specifications for 100 days as part of #The100DayProject. Read the initial intent/backstory. I am a Microsoft employee but all opinions, comments, etc on this site are my own. I do not speak on behalf of my employer, and thus no comments should be taken as representative of Microsoft’s official opinion of the spec. Subsections not listed below were read without comment.

Currently reading in 4.2.5 The meta element

The meta element is the catchall for any document-wide metadata you can’t provide using title, base, link, or script.


The available attributes are name, http-equiv, content, and charset. You have to set content if and only if one of the first two attributes are set.

  • charset: specifies the document’s character encoding. Some rules in the spec about using in XML docs. Only one meta element with charset per document (HTML page).
  • content: “gives the value of the document metadata or pragma directive” (the pragma directive defines how the document should be processed).
  • name: part of an attribute pair that specifies document metadata. name tells what kind of metadata is being set, and content gives the value for that piece of metadata. Standard metadata names

Used for the name attribute.

  • application name: “a short free-form string giving the name of the Web application that the page represents”. Can only be one metadata element in the document with this set, and only if it’s a Web application.
  • author: “a free-form string giving the name of one of the page’s authors”.
  • description: “a free-form string that describes the page”. You should write this to be human-readable (as it will be used in places like search engine results), not stick a bunch of SEO garbage or machine-only details in it. Can only be one metadata element in the document with this set.
  • generator: “must be a free-form string that identifies one of the software packages used to generate the document”. I suppose this would be useful when you open up an HTML file and think “who the hell wrote this CSS?!” and then see that this was generated by a desktop publishing app and feel totally fine about yanking out all the bad. Funny that they used “Frontweaver” as an example software package, obviously a nod to “Dreamweaver”.
  • keywords: “a set of comma-separated tokens, each of which is a keyword relevant to the page”. People have abused the keywords so much that search engines for the most part no longer take this list into account in their algorithms.