What is the HTML5 alternative to the obsolete meta http-equiv=content-language.

Drew picture Drew · Nov 14, 2011 · Viewed 39.5k times · Source

I'm finishing up an HTML5 site that has a mixture of English and Mandarin Chinese.

My validator (HTML5 Validator add-on for FF) is giving me this error:

error: Using the “meta” element to specify the document-wide default
language is obsolete. Consider specifying the language on the root
element instead.

At line 6, column 9: <meta http-equiv="Content-Language" content="en-us" />

the relevant code is:

<!DOCTYPE html>
<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />

checking W3.org leads me to this page: telling me that yes, it's obsolete

I must confess I don't understand how I am supposed to bring this code into compliance?

I don't know what "specifying the language on the root element" means, or how to do it?

Surely <html lang="en"> doesn't suffice for UTF-8 ?

Answer

Sal picture Sal · Nov 14, 2011

In HTML5 you can actually define lang for each element. That means if you have a div that contains Mandarin Chinese in it, just define an attribute lang="zh-CN" for that div, like <div lang="zh-CN">.