In head, which comes first: meta or title?
I was reading this:
This [meta] tag should be the first in the HEAD section, because the server will process the text above as ASCII with no specific format that it only known once the tag is analyzed.
http://www.xul.fr/en/html5/html.php
Does the standard specify the order?
Are there disadvantages in either order?
It should be the first element inside an html element. A title element is required within the head element.
<meta> tags always go inside the <head> element, and are typically used to specify character set, page description, keywords, author of the document, and viewport settings.
meta tags live within the head tag of the HTML document. The head tag is used for configurating the HTML file.
The title tag has to be in the head tag. HTML spec: "Every HTML document must have a TITLE element in the HEAD section."
As all of the other answers have already indicated, it usually doesn't matter. Here's a bit more about when it matters and why.
First of all, since you asked about standards, you might like to know that the text you are quoting comes from the W3C recommendations for HTML 4:
http://www.w3.org/TR/html4/charset.html#h-5.2.2
There is a similar discussion in the HTML 5 draft standard:
http://dev.w3.org/html5/markup/syntax.html#encoding-declaration
The underlying issue here is that the browser has to use some character set encoding to start processing the document it receives from the server. So, what happens if starts with one character set and then the <meta>
tag tells it to use something else? The answer is, it depends...
The server should specify the character set in the Content-Type
field of the HTTP response header. If it does, the browser is supposed to use that character set and ignore any character set that may be indicated in a <meta>
tag in the document being served.
Unfortunately, many servers don't provide this information. In that case, the browser has to assume something to get started. The something has to be "ASCII-compatible", meaning that it agrees with ASCII for any characters in the ASCII range. If the document specifies the character set in a <meta>
tag, the browser will start using that character set. So, if your title came before that, it has already been interpreted as ASCII, which could be wrong, depending on what was in the title.
To sum up: if the server does not specify the encoding, and the title is encoded in something other than ASCII, then you need to put the <meta>
tag that specifies the charset
first. Otherwise, it doesn't matter. So, to be safe, it makes sense to put the <meta>
tag for the character set first.
The order of the tags is almost completely irrelevant.
That quote is talking about <meta http-equiv="content-type">
.
If you use that tag, it should come first, so that the browser knows which encoding to use to parse the rest of the document.
As long as you don't have any non-ASCII characters before it, its location doesn't matter.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With