<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.whatwg.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RobS</id>
	<title>WHATWG Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.whatwg.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RobS"/>
	<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/wiki/Special:Contributions/RobS"/>
	<updated>2026-05-13T11:15:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=MetaExtensions&amp;diff=6479</id>
		<title>MetaExtensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=MetaExtensions&amp;diff=6479"/>
		<updated>2011-06-03T08:15:10Z</updated>

		<summary type="html">&lt;p&gt;RobS: /* Proposals */ Added &amp;quot;no-email-collection&amp;quot; meta extension&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists the allowed extension values for the name=&amp;quot;&amp;quot; attribute of the &amp;amp;lt;meta&amp;gt; element in HTML5. You may add your own values to this list, which makes them legal HTML5 metadata names. We ask that you try to avoid redundancy; if someone has already defined a name that does roughly what you want, please reuse it. Also, please be sure to include &#039;&#039;all&#039;&#039; the items [http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#other-metadata-names required by the spec] &#039;&#039;including a link to a specification&#039;&#039; for the keyword.&lt;br /&gt;
&lt;br /&gt;
== Registered Extensions ==&lt;br /&gt;
&lt;br /&gt;
None so far. The spec defines five: [http://whatwg.org/specs/web-apps/current-work/#meta-application-name application-name], [http://dev.w3.org/html5/spec/Overview.html#meta-author author], [http://whatwg.org/specs/web-apps/current-work/#meta-description description], [http://whatwg.org/specs/web-apps/current-work/#meta-generator generator], and [http://dev.w3.org/html5/spec/Overview.html#meta-keywords keywords].&lt;br /&gt;
&lt;br /&gt;
== Proposals ==&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=4 cellspacing=0&lt;br /&gt;
! Keyword&lt;br /&gt;
! Brief description&lt;br /&gt;
! Link to specification&lt;br /&gt;
! Synonyms&lt;br /&gt;
! Status&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| apple-mobile-web-app-capable&lt;br /&gt;
| Sets whether a web application runs in full-screen mode.&lt;br /&gt;
| [http://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariHTMLRef/Articles/MetaTags.html Apple Safari HTML Reference]&lt;br /&gt;
| Could maybe be assumed when &amp;lt;code&amp;gt;application-name&amp;lt;/code&amp;gt; is set?&lt;br /&gt;
| Proposal&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| apple-mobile-web-app-status-bar-style&lt;br /&gt;
| Sets the style of the status bar for a web application.&lt;br /&gt;
| [http://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariHTMLRef/Articles/MetaTags.html Apple Safari HTML Reference]&lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| baiduspider&lt;br /&gt;
| Synonym of &amp;lt;code&amp;gt;robots&amp;lt;/code&amp;gt; for targeting Baidu only.&lt;br /&gt;
| [http://www.baidu.com/search/robots_english.html Baidu documentation]&lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| format-detection&lt;br /&gt;
| Enables or disables automatic detection of possible phone numbers in a webpage in Safari on iOS.&lt;br /&gt;
| [http://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariHTMLRef/Articles/MetaTags.html Apple Safari HTML Reference]&lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| googlebot&lt;br /&gt;
| Synonym of &amp;lt;code&amp;gt;robots&amp;lt;/code&amp;gt; for targeting Googlebot only.&lt;br /&gt;
| [http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;amp;answer=93710 Google documentation]&lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| no-email-collection&lt;br /&gt;
| References legal policy of web site indicating that harvesting of e-mail addresses on the site is not permitted and in violation of applicable laws such as the CAN-SPAM Act of 2003.&lt;br /&gt;
| [https://www.ProjectHoneyPot.org/how_to_avoid_spambots_5.php Project Honey Pot]&lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| robots&lt;br /&gt;
| A comma-separated list of operators explaining how search engine crawlers should treat the content. Possible values are &amp;quot;noarchive&amp;quot; to prevent cached versions, &amp;quot;noindex&amp;quot; to prevent indexing, and &amp;quot;nofollow&amp;quot; works as the link rel value with the same name. This meta name is already supported by every popular search engine.&amp;lt;br /&amp;gt;The content value &amp;quot;NOODP&amp;quot; has been offered elsewhere, so I&#039;m proposing it here. It blocks robots from using [http://www.dmoz.org Open Directory Project] descriptions of a website instead of Web pages&#039; own meta descriptions. It may have been introduced by Microsoft.&amp;lt;br /&amp;gt;The content value &amp;quot;NOYDIR&amp;quot; has been offered by Yahoo, so I&#039;m proposing it here. It blocks Yahoo&#039;s robot from using the Yahoo directory&#039;s descriptions of a website instead of Web pages&#039; own meta descriptions. Whether any other robot supports this is unknown but possibly no other search engine uses Yahoo&#039;s directory anyway.&lt;br /&gt;
| [http://www.robotstxt.org/wc/exclusion.html#meta Robots exclusion protocol], NOODP value: [http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;amp;answer=35264 Google], [http://help.yahoo.com/l/us/yahoo/search/indexing/indexing-11.html Yahoo], NOYDIR value: [http://ysearchblog.com/2007/02/28/yahoo-search-support-for-noydir-meta-tags-and-weather-update/ Yahoo], as accessed 4-28-09&lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| slurp&lt;br /&gt;
| Synonym of &amp;lt;code&amp;gt;robots&amp;lt;/code&amp;gt; for targeting Yahoo! only.&lt;br /&gt;
| [http://help.yahoo.com/l/au/yahoo7/search/indexing/indexing-11.html Yahoo! documentation]&lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| teoma&lt;br /&gt;
| Synonym of &amp;lt;code&amp;gt;robots&amp;lt;/code&amp;gt; for targeting Teoma and Ask.com only.&lt;br /&gt;
| [http://about.ask.com/en/docs/about/webmasters.shtml Ask.com documentation]&lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| &amp;lt;span id=&amp;quot;viewport&amp;quot;&amp;gt;viewport&amp;lt;/span&amp;gt;&lt;br /&gt;
| Provides a way for documents to specify (using markup rather than CSS) the size, zoom factor, and orientation of the viewport that is used as the base for the document&#039;s [http://www.w3.org/TR/CSS21/visudet.html#containing-block-details initial containing block]. The following properties can be used in the value of the &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt; attribute:&lt;br /&gt;
* width&lt;br /&gt;
* height&lt;br /&gt;
* initial-scale&lt;br /&gt;
* minimum-scale&lt;br /&gt;
* maximum-scale&lt;br /&gt;
* user-scalable&lt;br /&gt;
Examples:&lt;br /&gt;
 &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;initial-scale=1.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=480, initial-scale=2.0, user-scalable=1&amp;quot;&amp;gt;&lt;br /&gt;
For more details, see the [http://dev.w3.org/csswg/css-device-adapt/#viewport-meta-element Viewport META element] section of the [http://dev.w3.org/csswg/css-device-adapt/ CSS Device Adaptation] draft specification.&lt;br /&gt;
| For &amp;lt;code&amp;gt;meta&amp;lt;/code&amp;gt; elements that have a &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; attribute whose value is &amp;lt;code&amp;gt;viewport&amp;lt;/code&amp;gt;, the [http://dev.w3.org/csswg/css-device-adapt/ CSS Device Adaptation] draft specification defines the recognized properties for the &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt; attribute&amp;gt;, as well as an algorithm for parsing the value of that attribute.&lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Proposals that don&#039;t meet the [http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#other-metadata-names requirements] for a registration ==&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=4 cellspacing=0&lt;br /&gt;
! Keyword&lt;br /&gt;
! Brief description&lt;br /&gt;
! Link to specification&lt;br /&gt;
! Synonyms&lt;br /&gt;
! Status&lt;br /&gt;
! Registration requirement failure&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| audience&lt;br /&gt;
| To aid search engines in classifying and to aid directory compilers, an audience most appropriate for the page may be suggested. Subject matter may not be a good clue; for example, an analysis of children&#039;s literature may be directed to teachers.&amp;lt;br /&amp;gt;A value is free-form case-insensitive text without a comma. Multiple values are to be comma-separated. Singular and plural forms have the same meaning.&amp;lt;br /&amp;gt;Recognized values:&amp;lt;br /&amp;gt;-- &amp;quot;all&amp;quot; and &amp;quot;everyone&amp;quot;, which have the same meaning&amp;lt;br /&amp;gt;-- &amp;quot;adult&amp;quot; and &amp;quot;mature&amp;quot; have the same meaning and are for content that only adults may access, but no one responsible for preventing a nonadult or the immature from accessing the page or its content should rely on either or both of these values to do so without other means (not the same as &amp;quot;grownup&amp;quot;, which see)&amp;lt;br /&amp;gt;-- &amp;quot;child&amp;quot; and &amp;quot;juvenile&amp;quot;, which have the same meaning&amp;lt;br /&amp;gt;-- &amp;quot;teen&amp;quot;&amp;lt;br /&amp;gt;-- &amp;quot;grownup&amp;quot; is not identical to &amp;quot;adult&amp;quot; or &amp;quot;mature&amp;quot; in not implying a precise boundary but is approximately any person who may be able to understand and apply the content (e.g., car driving instruction that may be read by a minor not yet old enough to drive a car but who would likely benefit from somewhat early exposure to the instruction)&amp;lt;br /&amp;gt;-- &amp;quot;parent&amp;quot; to include guardian and temporary caregiver&amp;lt;br /&amp;gt;-- &amp;quot;teacher&amp;quot; to include professor and ad hoc instructor&amp;lt;br /&amp;gt;-- &amp;quot;elementary school student&amp;quot; to include any student below high school&amp;lt;br /&amp;gt;-- &amp;quot;high school student&amp;quot;&amp;lt;br /&amp;gt;-- &amp;quot;elhi&amp;quot; to include any student in elementary school through high school&amp;lt;br /&amp;gt;-- &amp;quot;college student&amp;quot; including graduate and professional school&amp;lt;br /&amp;gt;-- &amp;quot;business&amp;quot; including management, finance, and prospective customers (this includes e-commerce and investor sites)&amp;lt;br /&amp;gt;-- &amp;quot;health&amp;quot; including any health care provider including alternative and ad hoc&amp;lt;br /&amp;gt;-- &amp;quot;patient&amp;quot; for any health care recipient&amp;lt;br /&amp;gt;-- &amp;quot;lawyer&amp;quot; including judge, paralegal, and jailhouse lawyer&amp;lt;br /&amp;gt;-- &amp;quot;law client&amp;quot; for any prospective recipient of a lawyer&#039;s service (not usually a social work client) with &#039;&#039;lawyer&#039;&#039; including paralegal and jailhouse lawyer but not necessarily judge&amp;lt;br /&amp;gt;-- &amp;quot;craft&amp;quot; for any craftworker including laborer and artisan&amp;lt;br /&amp;gt;-- &amp;quot;artist&amp;quot; including musician, actor, dancer, and sculptor and including creator and performer&amp;lt;br /&amp;gt;-- &amp;quot;military&amp;quot; including paramilitary&amp;lt;br /&amp;gt;-- &amp;quot;news&amp;quot; including any consumer of rapidly-developing news&amp;lt;br /&amp;gt;-- &amp;quot;introductory&amp;quot; and &amp;quot;beginner&amp;quot;, which have the same meaning&amp;lt;br /&amp;gt;-- &amp;quot;intermediate&amp;quot; and &amp;quot;midlevel&amp;quot;, which have the same meaning&amp;lt;br /&amp;gt;-- &amp;quot;advanced&amp;quot; and &amp;quot;advance&amp;quot;, which have the same meaning&amp;lt;br /&amp;gt;-- &amp;quot;scholarly&amp;quot; and &amp;quot;scholar&amp;quot;, which have the same meaning&amp;lt;br /&amp;gt;-- &amp;quot;popular&amp;quot; generally referring to a writing style&amp;lt;br /&amp;gt;-- &amp;quot;older&amp;quot; including retiree&amp;lt;br /&amp;gt;-- &amp;quot;institution&amp;quot; including from corporation to conspiracy (such as for management advice)&amp;lt;br /&amp;gt;-- &amp;quot;government&amp;quot; including agencies and prospective politicians&amp;lt;br /&amp;gt;-- values using any integer or single-digit decimal in the form of &amp;quot;grade 8&amp;quot; or &amp;quot;grade 6.4&amp;quot; including to refer to a reading comprehension level (this generally will not exceed 12 and might be meaningless above 20 so higher values may be interpreted as the highest meaningful value)&amp;lt;br /&amp;gt;-- &amp;quot;viewers&amp;quot; for when content (such as a movie) is intended almost entirely to be seen rather than read&amp;lt;br /&amp;gt;-- &amp;quot;listeners&amp;quot; for when content (such as music) is intended almost entirely to be heard rather than read but not generally including text-to-speech support&amp;lt;br /&amp;gt;-- &amp;quot;tts&amp;quot;, &amp;quot;text-to-speech&amp;quot;, or &amp;quot;text to speech&amp;quot;, which three have the same meaning and which are for a page that has substantial support for TTS or that will be readily understood through TTS without need for such support (TTS is often aided by, e.g., pre-resolving pronunciation ambiguities in page coding)&amp;lt;br /&amp;gt;-- values using any numbers in the form of &amp;quot;3-6 years old&amp;quot;, whether a range or a single-number value&amp;lt;br /&amp;gt;-- values using any decade in the form of &amp;quot;born in 1970s&amp;quot;&amp;lt;br /&amp;gt;Unrecognized values such as &amp;quot;botanists&amp;quot;, &amp;quot;Texans&amp;quot;, and &amp;quot;writers who use red ink&amp;quot; may be used but at a risk that a search engine or directory editor will either fail to recognize it or will interpret it in unpredictable ways, or will in the future.&amp;lt;br /&amp;gt;Spellings that are erroneous or slightly different from a recognized value may be interpreted by a search engine or directory editor as representing a recognized value.&amp;lt;br /&amp;gt;The absence of the keyword defaults to a value of &amp;quot;all&amp;quot; but without overriding another indication arrived at by other means.&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| bot-. . .&lt;br /&gt;
| Robot owners, to allow page authors access to robotic capabilities, e.g., to deny them, should prefix &amp;quot;bot-&amp;quot; to the name of their robot, especially for proprietary bots.&amp;lt;br /&amp;gt;Example: If a robot were to be named &amp;quot;dullbucklequiz&amp;quot;, the name in the meta element would be &amp;quot;bot-dullbucklequiz&amp;quot;.&amp;lt;br /&amp;gt;The value &amp;quot;bot-&amp;quot; alone represents all bots so prefixed, like a wildcard.&amp;lt;br /&amp;gt;Arguably, there&#039;s no need for a list here of any specific bots if http://user-agents.org or http://www.botsvsbrowsers.com/ (and perhaps other sites) is reliable.&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec, tries to register a space of names instead of enumerated names&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| created&lt;br /&gt;
| The datetime at which the document was created. The value is an ISO8601 date. The date MUST follow the [http://www.w3.org/TR/NOTE-datetime W3C Profile of ISO 8601] with a granularity of &amp;quot;Complete date:&amp;quot; or finer. The [http://www.bbc.co.uk/guidelines/futuremedia/desed/previousversions/searchmetadata_vs_1_0.shtml#metadata BBC] use this name.&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| creator&lt;br /&gt;
| The creator is an off-Web or pre-Web creator of a work for which an author authored a Web page, so that the creator and the author may be different people.&amp;lt;br /&amp;gt;Searching for one content creator&#039;s work requires a standard robot-parsable format for the information. A personal name, institutional name, or other text entry is permissible.&amp;lt;br /&amp;gt;One element represents only one creator. Multiple creators are to be represented with multiple tags.&amp;lt;br /&amp;gt;Search engines may index by any component of a name, so a content creator need only enter a name once in one first-last or family-given order (e.g., Pat Thunderbird or Thunderbird, Pat, but not requiring both).&lt;br /&gt;
| [[Talk:MetaExtensions#Re:_Proposed_&#039;creator&#039;_MetaExtension|Talk]]&lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| msnbot&lt;br /&gt;
| Synonym of &amp;lt;code&amp;gt;robots&amp;lt;/code&amp;gt; for targeting Bing only.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| ia_archive&lt;br /&gt;
| Synonym of &amp;lt;code&amp;gt;robots&amp;lt;/code&amp;gt; for targeting Internet Archive and Alexa only.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| datetime-coverage&lt;br /&gt;
| The author may be the best expert on which time frame is most relevant to the content. Leaving that to search engine analysis may be too chancy without search engine optimization, which analysis is difficult to apply by algorithm to, e.g., historical papers that may focus on the 1800s but mention 1731 and 1912 perhaps unimportantly.&amp;lt;br /&amp;gt;The value for this keyword is a date or time -- not a range and not vague, for which other keywords are proposed -- in a format in accordance with http://www.w3.org/TR/NOTE-datetime (albeit a note that&#039;s at W3C only for discussion). Any of the six levels of granularity in that note are acceptable, such as expressing only a year.&amp;lt;br /&amp;gt;Should this keyword appear more than  once, all the values so appearing are determinative. Multiple values are to be expressed with separate meta elements lest the note be revised in the future in a way incompatible with comma-separating a list.&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| datetime-coverage-end&lt;br /&gt;
| This is identical to the keyword datetime-coverage except that it represents only the end. If this keyword is used without datetime-coverage-start (also proposed), its value is interpreted as ending a range without a start.&amp;lt;br /&amp;gt;Should this keyword appear more than once, all the values so appearing are determinative, in which case each represents the end of a different range assumed to be nonnesting. Example: If four elements happen to be in the order of datetime-coverage-end=1865, datetime-coverage-start=1914, datetime-coverage-end=1918, and datetime-coverage-start=1862, assuming proper formatting, the ranges should be interpreted as 1862-1865 and 1914-1918.&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| datetime-coverage-start&lt;br /&gt;
| This is identical to the keyword datetime-coverage except that it represents only the start. If this keyword is used without datetime-coverage-end (also proposed), its value is interpreted as starting a range without an end.&amp;lt;br /&amp;gt;Should this keyword appear more than once, all the values so appearing are determinative, in which case each represents the start of a different range assumed to be nonnesting. Example: If four elements happen to be in the order of datetime-coverage-start=1862, datetime-coverage-start=1914, datetime-coverage-end=1865, and datetime-coverage-end=1918, assuming proper formatting, the ranges should be interpreted as 1862-1865 and 1914-1918.&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| datetime-coverage-vague&lt;br /&gt;
| This is identical to the keyword datetime-coverage except that its value is not necessarily crisp. This keyword should be used only when datetime-coverage, datetime-coverage-start, and datetime-coverage-end are inappropriate, but there&#039;s no ban on using all four. Any text without a comma can be the value (e.g., Pleistocene, 1820s, Tuesdays, or before we were born); multiple values are comma-separated.&amp;lt;br /&amp;gt;If this keyword is used with datetime-coverage, datetime-coverage-start, or datetime-coverage-end, the vague value should be exploited along with the value/s for the other keyword/s.&amp;lt;br /&amp;gt;Should this keyword appear more than once, all are determinative.&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| DC.&lt;br /&gt;
| Dublin Core, maintained by Dublin Core MetaData Initiative (DCMI), is an extensive system with some overlap with non-DC names.&amp;lt;br /&amp;gt;This reserves all strings that begin with DC and a dot. &#039;&#039;Not true; DC-HTML doesn&#039;t use hardwired prefixes, but defines the prefixes using link/@rel=&amp;quot;scheme.prefix&amp;quot;&#039;&#039;&lt;br /&gt;
| [http://www.DublinCore.org DCMI]&lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
| Tries to register a space of names instead of enumerated names&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| dir-content-pointer&lt;br /&gt;
| When several pages in a directory include main content, a table of contents, an index, and the like, a search engine may be able to organize results more usefully by identifying which is which with a standard vocabulary, helpful when different publishers use different conventions when displaying or printing content.&amp;lt;br /&amp;gt;A value is free-form case-insensitive text without a comma and optionally with a trailing number. Multiple values are to be comma-separated (multiple values are appropriate when one document serves multiple purposes). Singular and plural forms have the same meaning.&amp;lt;br /&amp;gt;Recognized values, which are pointer types to which numbers may be suffixed, are limited to &amp;quot;start&amp;quot; meaning &#039;the first page that should be seen by a user&#039; (this may be anywhere in the directory and anywhere within content), &amp;quot;toc&amp;quot; meaning &#039;table of contents&#039;, &amp;quot;intro&amp;quot; including introductions, forewords, prefaces, and tables of figures, &amp;quot;abstract&amp;quot;, &amp;quot;main&amp;quot;, &amp;quot;bibliography&amp;quot; and &amp;quot;biblio&amp;quot;, which have the same meaning, &amp;quot;index&amp;quot; which may mean &#039;sitemap&#039; or not, &amp;quot;afterword&amp;quot; and &amp;quot;update&amp;quot; which have the same meaning and need not actually update, &amp;quot;credit&amp;quot; meaning &#039;credits and acknowledgments&#039;, and &amp;quot;author bio&amp;quot; meaning &#039;author&#039;s biography&#039;, including any information about the author including credentials and contact information. The number suffix may be spaceless or not.&amp;lt;br /&amp;gt;When numbers are suffixed, a search engine or directory should arrange like items in numerical order in the results, with unnumbered items following like items that are numbered, e.g., intro 1, intro 2, main 1, main 2, main, main, and so on.&amp;lt;br /&amp;gt;Each directory and each subdirectory has its own sequence.&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|expires&lt;br /&gt;
|&amp;lt;code&amp;gt;meta name=&#039;expires&#039;&amp;lt;/code&amp;gt; defines the expiration date of the page. This can be used for web pages in preparation for an upcoming event, e.g. a registration form for an exposition or competition, or other cases with a pre-set date when the document will no longer be valid, e.g. a product offer in a special sale or a support page for a product known not to be supported anymore from a given time onward.&lt;br /&gt;
&lt;br /&gt;
Search engines should respond to this meta tag in a reasonable way, i.e. by removing the page from their main search results after the expiration date (possibly still returning the result in a special search for expired pages as long as the page exists and is not explicitly excluded via &amp;lt;code&amp;gt;robots.txt&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;meta name=&#039;robots&#039;&amp;lt;/code&amp;gt; etc.) or simply by indicating to the user that this result is out-of-date.&lt;br /&gt;
&lt;br /&gt;
The content attribute should define the expiration date in accordance with http://www.w3.org/TR/NOTE-datetime . The meta tag should not be used for pages without expiration date. However, for historical reasons, search engines should also interpret other date formats where possible and should be prepared to find values such as &amp;quot;&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;no&amp;quot; and &amp;quot;never&amp;quot;. Such non-date values are to be interpreted as no expiration date.&lt;br /&gt;
&lt;br /&gt;
Correctly formatted example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;meta name=&#039;expires&#039; content=&#039;2012-12-31T23:59Z&#039;&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This tag is not to be confused with and has a different meaning than &amp;lt;code&amp;gt;meta http-equiv=&#039;expires&#039;.&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| format-print&lt;br /&gt;
| This is to allow a user agent to inform an operating system or a printer driver of the preferred print medium, such as the paper size.&amp;lt;br /&amp;gt;A value is free-form case-insensitive text without a comma. Multiple values are to be comma-separated (multiple values might be appropriate because standard paper sizes vary around the world). Singular and plural forms have the same meaning.&amp;lt;br /&amp;gt;Recognized values are limited to &amp;quot;letter&amp;quot;, &amp;quot;A4&amp;quot;, &amp;quot;legal&amp;quot;, &amp;quot;A5&amp;quot;, &amp;quot;B5&amp;quot;, &amp;quot;monarch&amp;quot;, &amp;quot;envelope 10&amp;quot; meaning size #10, &amp;quot;envelope 6-3-4&amp;quot; meaning size #6 3/4, values with integers and decimals in the form of &amp;quot;8.5 x 11&amp;quot; or &amp;quot;8.5x11&amp;quot; in which spacing of the &amp;quot;x&amp;quot; does not affect meaning, &amp;quot;paper&amp;quot;, which means &#039;paper of the default color (usually white) and weight (usually 20-lb. stock)&#039;, &amp;quot;white&amp;quot;, &amp;quot;yellow&amp;quot;, &amp;quot;pink&amp;quot;, &amp;quot;blue&amp;quot;, &amp;quot;green&amp;quot;, &amp;quot;violet&amp;quot;, or &amp;quot;multicolor&amp;quot;, which means a medium of the given color or mixed, &amp;quot;letterhead&amp;quot;, &amp;quot;p2 letterhead&amp;quot; meaning &#039;letterhead intended for any page except the first&#039;, &amp;quot;watermark&amp;quot; meaning a &#039;special watermark such as an organization&#039;s own&#039;, and &amp;quot;plain&amp;quot; meaning &#039;not preprinted and not letterhead (it may have a paper manufacturer&#039;s watermark not related to letterhead)&#039;.&amp;lt;br /&amp;gt;Omitting &amp;quot;paper&amp;quot; when another recognized value is given defaults to an implied meaning of &#039;paper&#039; with the other value; e.g., &amp;quot;letter&amp;quot; means &#039;letter paper&#039;; the same principle applies to a medium&#039;s color (the default being white for paper and colorless for transparency) and plainness or lack thereof (the default being plain).&amp;lt;br /&amp;gt;Other values should be proposed before being recognized here. Label sizes should be proposed here for labels that are not on backing sheets that fit one of the recognized values, e.g., labels on narrow rolls. Blueprint paper sizes should be proposed here. Media other than standard paper, such as onion skin, heavier paper, card, and clear or color transparency, should be proposed here.&amp;lt;br /&amp;gt;The user agent may, with the user&#039;s or user sysadmin&#039;s permission (as by a menu-driven default), interpret a value to offer an alternative the user might accept and software and firmware other than the UA may interpret a value to the same end with or without permission, so this keyword is only suggestive; e.g., &amp;quot;letter&amp;quot; may be interpreted as &amp;quot;A4&amp;quot;.&amp;lt;br /&amp;gt;The absence of the keyword defaults to a value determined by other than the page, e.g., by the printer driver or the user agent.&lt;br /&gt;
| [[Talk:MetaExtensions#Re:_Proposed_&#039;format-print&#039;_MetaExtension|Talk]]&lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| geographic-coverage&lt;br /&gt;
| The author may be the best expert on the geographic relevance of the content. Leaving that to search engine analysis may be too chancy without search engine optimization, which analysis is difficult to apply by algorithm to, e.g., historical papers and epidemiological studies which may mention locales only once.&amp;lt;br /&amp;gt;Absence of the keyword defaults to a value of world (not universe), unless the search engine chooses to interpret the page or larger unit for some other value, probably based on other than just contact information given in the website.&amp;lt;br /&amp;gt;The value for this keyword is a semicolon-separated list of one or more place-values, the order of which do not matter. One place-value will use commas to separate, in order, an optional standard natural language symbol applicable to the place-value (when omitted the language applicable to the page will control), a place-class, one or more place-subclasses if any, and one or more place name parts (where, e.g., in &amp;quot;Cape Town, South Africa&amp;quot;, &amp;quot;Cape Town&amp;quot; is a place name part but &amp;quot;Town&amp;quot; is not). Spaces after semicolons and commas are optional; spaces within place-values are present when required for each place-value (e.g., &amp;quot;Quezon City&amp;quot;, not an invented &amp;quot;QuezonCity&amp;quot;).&amp;lt;br /&amp;gt;To distinguish names that might otherwise be too similar, place-classes, all lower-case and hyphenatably spaceless, include &#039;&#039;outer-space&#039;&#039;, &#039;&#039;region&#039;&#039; (on Earth and crossing or larger than a nation, e.g., southern hemisphere, polar region, temperate zone, or Asia), &#039;&#039;intntl-water&#039;&#039; (an &#039;international water body&#039;), &#039;&#039;intntl-agcy&#039;&#039; (&#039;international agency&#039; or &#039;international collection&#039;, e.g., all U.N. member nations), &#039;&#039;nation&#039;&#039;, &#039;&#039;within-nation&#039;&#039; (limited to only one political level down from nation, e.g., state, province, territory, possession, city not included within other political units of a nation, or any comparable unit), &#039;&#039;city&#039;&#039; (including town, village, hamlet, and any comparable political unit below the level of &#039;&#039;within-nation&#039;&#039;), &#039;&#039;addr&#039;&#039; (including address, full-length street, building, institution, and neighborhood without political boundaries), &#039;&#039;pol-unit&#039;&#039; (&#039;&#039;pol&#039;&#039; abbreviating &#039;political&#039;) (e.g., a place of disputed nationhood), &#039;&#039;hist-pol-unit&#039;&#039; (&#039;&#039;hist&#039;&#039; abbreviating &#039;historical&#039;) (e.g., the Roman Empire), &#039;&#039;feature&#039;&#039; (e.g., river), &#039;&#039;num&#039;&#039; (e.g., latitude and longitude or outer-space equivalent in numbers), and &#039;&#039;ethereal&#039;&#039; (including thealogical/theological, fictional including from modern popular entertainment, and ancient secular mythical, but not including that which is asserted to be a state of mind or existence but not a place, such as nirvana). (Example for one hypothetical page: name=&amp;quot;geographic-coverage&amp;quot; content=&amp;quot;region, sub-Saharan Africa; nation, Panama; city, Panama, Panama; within-nation, Sao Paulo, Brazil; city, Sao Paulo, Sao Paulo, Brazil; within-nation, Mississippi, United States of America; region, Middle East; region, Midwest, United States of America; hist-pol-unit, Northwest Territory, United States of America; feature, river, Indus; outer-space, Indus; ethereal, ultima Thule; ethereal, Heaven; ethereal, Flatland; ethereal, Valhalla; en-US, addr, Hotel Valhalla, Fredrikstad, Norway; es, nation, Espana&amp;quot; (Indus is both a river and a constellation, illustrating the need for place-classes)).&amp;lt;br /&amp;gt;Ambiguity of place-values should be avoided despite convenience in coding because search engines may each interpret them as they see fit, e.g., it would be hard for an engine to distinguish New York from New York.&amp;lt;br /&amp;gt;For consistency of spelling, several authority lists should be settled upon, with legal, well-known, and disputed names and common abbreviations all being acceptable; but I&#039;m not proposing one here now (relying on IANA&#039;s ccTLD list might be too complex to implement and still assure coding consistency, e.g., occasionally ccTLDs can be phased out and off of IANA&#039;s list) (a standard vocabulary possibly usable here is the [http://www.getty.edu/research/conducting_research/vocabularies/tgn/index.html Getty Thesaurus of Geographic Names Online], subject to licensing and charset choice); and promulgating authority lists may best be done publicly by search engine managements, who may disagree with each other.&amp;lt;br /&amp;gt;Allowing Unicode for non-Roman alphabet-using locales is desirable, but at present that may raise technical problems, including computer security issues, that are not yet readily soluble.&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| keywords-not&lt;br /&gt;
| A comma-separated list of negative keywords that distinguish a closely-related theme from this page&#039;s true theme, to support Boolean NOT searches often more realistically than visible text can, especially when both themes share the same lexicon.&amp;lt;br /&amp;gt;If keywords is no longer a supported name for a meta element, keywords-not is superfluous; however, debate has been revived on whether keywords should be supported or not; see the keywords entry in this Wiki.&lt;br /&gt;
| [http://www.w3.org/Bugs/Public/show_bug.cgi?id=6609 W3C Bug 6609]&lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| page-datetime&lt;br /&gt;
| Better ranking in search engine results for recency or relevance to an event date would be aided by a standard format robots can parse. Users would save search time by not having to load many pages to find which ones are new or date-relevant.&amp;lt;br /&amp;gt;To supply a consistent and known format, the value for this keyword is a date-time expression formed in accordance with http://www.w3.org/TR/NOTE-datetime (albeit a note that&#039;s at W3C only for discussion). Any of the six levels of granularity in that note are acceptable, such as expressing only a year.&amp;lt;br /&amp;gt;Should this keyword appear more than once, only the first one so appearing is determinative.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| page-version&lt;br /&gt;
| Pages may be revised several times daily. While date-time given to a granularity of a fraction of a second would often suffice, when a page has to be approved more than once before posting, any or no such time may be correct (without this keyword, a comment could be necessary but probably not parsable by an engine). In addition, versions regardless of date may show consecutiveness and can replace a date that must be vague. In that case, a version number may be more useful for searches and so a robot-parsable format is needed.&amp;lt;br /&amp;gt;The keyword&#039;s value is stated in ASCII digits, is any nonnegative base-10 rational number expressed as an integer or a decimal, with any number of decimal places allowed, and may be padded with any number of leading zeros to support extraction for ASCII sorting.&amp;lt;br /&amp;gt;Should this keyword appear more than once, only the first one so appearing is determinative.&amp;lt;br /&amp;gt;The versions 0 and 0.&#039;&#039;n&#039;&#039;, with &#039;&#039;n&#039;&#039; being to any number of places, signify beta versions, i.e., drafts, in the tradition of beta software, while versions 1 and higher ordinarily signify final-release versions. After a final-release version is released, a draft of a later version is not given a version number of 0 or 0.&#039;&#039;n&#039;&#039;, but is numbered higher than the last final-release version. It is suggested to page authors that draft status, if applicable, be shown in the visibly displayed text of the page, rather than that this meta tag be relied upon as the sole notice of draft status, as it may be inadequate notice if alone.&amp;lt;br /&amp;gt;To assign a low page-version such as 0.&#039;&#039;n&#039;&#039; or 1, the page&#039;s URL, if static, may be used as the relevant premise. Thus, if a page is copied or moved to a new URL, the author may choose to restart page-version numbering from 0.&#039;&#039;n&#039;&#039; or 1. If a page&#039;s URL is dynamic, e.g., if created on the fly from a script, the page author may prefer to use as the relevant premise for assigning a low page-version such as 0.&#039;&#039;n&#039;&#039; or 1 the URL of the script or other technology that generates the dynamic-URL page, placing this meta element containing this attribute within the script or other technology, not within the generating page&#039;s head element (the generating page&#039;s head element may have its own meta element with this attribute describing the generating page). If one page containing the script or other technology that generates another page has more than one means for generating dynamic-URL pages, each means should contain its own meta element with this attribute. Page-version is thus largely independent of the page&#039;s date, although both would likely advance roughly in parallel.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| publisher&lt;br /&gt;
| Searching for one content publisher&#039;s or page publisher&#039;s work requires a standard robot-parsable format for the information. This often differs from creator or author when the publisher is an institution. An institutional name, personal name, or other text entry is permissible.&amp;lt;br /&amp;gt;One element represents only one publisher. Multiple publishers are to be represented with multiple tags, although multiple publishers are less common than multiple authors or creators; multiplicity is more likely for a legal name and a well-known name.&amp;lt;br /&amp;gt;Search engines may index by any component of a name, so a publisher need only enter a name once in one order.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| referrer&lt;br /&gt;
| Developers wish to control the sharing of referrer information with linked resources and followed links at the meta level. It&#039;s sometimes desirable to share referrer information from secure to non-secure resources. The proposal is to add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;meta name=&amp;quot;referrer&amp;quot; content=&amp;quot;never|default|always&amp;quot;&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where the value of the &#039;&#039;&#039;content&#039;&#039;&#039; attribute is:&lt;br /&gt;
* &#039;&#039;&#039;never&#039;&#039;&#039;: No referrer information is leaked when following a links or requesting resources.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039;: Include referrer information in non-secure context or for HTTPS resources with the same origin.&lt;br /&gt;
* &#039;&#039;&#039;always&#039;&#039;&#039;: Include referrer information when following all links and requesting any resources.&lt;br /&gt;
&lt;br /&gt;
Since &amp;lt;code&amp;gt;&amp;lt;meta name=&amp;quot;referrer&amp;quot; content=&amp;quot;never&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; is redundant with a proposed &amp;lt;code&amp;gt;&amp;lt;link rel=&amp;quot;nofollow&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;&amp;lt;link rel=&amp;quot;nofollow&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; proposal should be supplanted with this one, which provides more robust control.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| resolutions&lt;br /&gt;
| Authoring web sites to use resolution independent images that display beautifully on high-resolution displays should be made as easy as possible for developers and should not require JavaScript to accomplish.&lt;br /&gt;
&lt;br /&gt;
To accomplish this, I propose a new HTML Meta Tag, &amp;lt;code&amp;gt;resolutions&amp;lt;/code&amp;gt;, that can be used to specify that high-resolution versions of images linked to from the page are available and that the browser should use them in place of the lower-resolution default images if it detects that a user is using a high-resolution screen. The resolutions meta tag lists the device-pixel ratios supported by images in the page. &lt;br /&gt;
&lt;br /&gt;
So, for example…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;meta name=&amp;quot;resolutions&amp;quot; content=&amp;quot;2x&amp;quot;&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
… means that the developer is telling the browser that she has created 2x resolution images for the images linked to from the current page and named them with a @2x suffix. &lt;br /&gt;
&lt;br /&gt;
To illustrate, if her image tag is as follows…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;img src=&amp;quot;/images/flower.jpg&amp;quot; alt=&amp;quot;A flower&amp;quot;&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
… then she has two image files under /images: the low-resolution default (flower.jpg), and a higher-resolution (200%) version named flower@2x.jpg. &lt;br /&gt;
&lt;br /&gt;
(This is the same naming convention already used by Apple in its Cocoa Touch framework for automatically loading in higher-resolution versions of images.)&lt;br /&gt;
&lt;br /&gt;
Based on the meta tag, if the browser detects that the user is running at a &amp;lt;code&amp;gt;min-device-pixel-ratio&amp;lt;/code&amp;gt; of 2.0, it will automatically ask for the 2x version of the image (flower@2x.jpg) instead of the default image as specified in the image tag. &lt;br /&gt;
&lt;br /&gt;
Finally, so as not to flood external sites with high-resolution image requests, this functionality would only work for local images specified via relative links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Multiple resolutions&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The resolutions tag can also contain a list of supported device-pixel ratios so as to support even higher-resolution displays when and if they become available in the future. &lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;meta name=&amp;quot;resolutions&amp;quot; content=&amp;quot;2x, 4x, 8x&amp;quot;&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case, the developer would provide 2x, 4x, and 8x versions of all images. So, in the running example, she would make flower.jpg, flower@2x.jpg, flower@4x.jpg, and flower@8x.jpg.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Advantages&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The advantages of this approach are several:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Makes it very simple for developers to support high-resolution displays like the iPhone 4&#039;s Retina screen&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Does not require JavaScript&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Does not change the default way that things work (if the meta tag is not specified, the browser simply behaves as it always has).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| [http://aralbalkan.com/3355 Proposal for native browser support of high-resolution image substitution]&lt;br /&gt;
[http://aralbalkan.com/3331 How to make your web content look stunning on the iPhone 4’s new Retina display]&lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| rights&lt;br /&gt;
| As a page effectively appears in at least two forms, usually one as interpreted and displayed on a device and the other as source code, arguably intellectual property rights that must be asserted must be asserted in ways understandable in both contexts. For example, &amp;amp;amp;copy; is a raw representation that may legally fail as part of copyright notice to someone seeing source code and not the display, important when someone wants to copy source code for use elsewhere and may rely on a defense of innocent infringement (at least in U.S.). While such assertions can be made in a comment element, it may be helpful to have a tag that search engines can parse and index verbatim.&amp;lt;br /&amp;gt;The value may include standard and nonstandard notices, invocations of licenses such as GFDL and ASCAP, and any other information. Content is defined as free-form, leaving the page author discretion for the entry.&amp;lt;br /&amp;gt;Statements in one tag may discuss several portions of the page differently, e.g., with different licenses.&amp;lt;br /&amp;gt;More than one license may be offered, along with the page&#039;s relationship to all.&amp;lt;br /&amp;gt;Not all statements need be license grants. A statement may state whom to ask for reprint permission or may reserve all rights, for example.&amp;lt;br /&amp;gt;Only one meta tag with this keyword may be present. Page authors must not use more than one. A UA finding multiple such tags on one page must ignore all of them.&amp;lt;br /&amp;gt;The copyright symbol that would be generated by its character entity is not recommended for legal notice in source code when the word &#039;Copyright&#039; may be used instead, because the entity may be read in raw form, but use is up to the page author. The same concept applies to any intellectual property rights symbol for which a suitable alternative is available, such as for trademark or service mark.&amp;lt;br /&amp;gt;ASCII text would not suffice when a name or notice legally may have to be in a non-Roman alphabet, but no alternative may yet exist in HTML5.&amp;lt;br /&amp;gt;Search engine storage may impose a length limit, but, because of legal consequences, if the value&#039;s length exceeds a given limit the search index should retain or interpret none of it but only refer to it.&amp;lt;br /&amp;gt;The content string may only be copied verbatim in its full length, referred to, or ignored. It may not be, for example, paraphrased, truncated, interpreted, or classified except in addition to being copied verbatim in its full length.&amp;lt;br /&amp;gt;Ignoring shall not void, nullify, or alter any rights stated in such tag.&amp;lt;br /&amp;gt;For the synonymy, &#039;&#039;IP&#039;&#039;, &#039;&#039;IP-rights&#039;&#039;, and &#039;&#039;IP-right&#039;&#039; are not reserved; while the abbreviation &#039;&#039;IP&#039;&#039; &#039;intellectual property&#039; is common among attorneys in the U.S., page authors will more likely be computerate, and the abbreviation may be wanted for &#039;Internet Protocol&#039;.&lt;br /&gt;
| [[Talk:MetaExtensions#rights:_why_reversion|Talk]]&lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| rights-standard&lt;br /&gt;
| The purpose is to enable search engines and other cataloging services to compile the types of rights allocated to the work.&lt;br /&gt;
&lt;br /&gt;
Format: &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;meta name=&amp;quot;rights-standard&amp;quot; content=&amp;quot;type;rights&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following are case-insensitive, except object ID.&lt;br /&gt;
&lt;br /&gt;
* type - item these rights apply to&lt;br /&gt;
** (null) - everything; trailing semicolon is not included in this case &lt;br /&gt;
** code - the HTML code (and embedded other?) of the page.&lt;br /&gt;
** content - the entire content of the page&lt;br /&gt;
** object - a specific object, (for example, an image).&lt;br /&gt;
*** format is &amp;quot;object;&amp;quot; followed by the object ID; e.g., &amp;lt;code&amp;gt;object;left_middle-column&amp;lt;/code&amp;gt;&lt;br /&gt;
* rights - what rights are assigned to the item&lt;br /&gt;
** &amp;quot;coprYYYY&amp;quot; -- work is copyrighted as of YYYY year&lt;br /&gt;
** &amp;quot;CC:&amp;quot; - Creative Commons; followed by any number (in any order) of additional attributes:&lt;br /&gt;
*** &amp;quot;BY&amp;quot; - By Attribution&lt;br /&gt;
*** &amp;quot;SA&amp;quot; - Share Alike&lt;br /&gt;
*** &amp;quot;ND&amp;quot; - No Derivatives&lt;br /&gt;
*** &amp;quot;NC&amp;quot; - No Commercial&lt;br /&gt;
** &amp;quot;PD&amp;quot; - Public domain&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* Page content is CC By Attribution&lt;br /&gt;
  &amp;lt;meta name=&#039;rights-standard&#039; content=&#039;content;cc:by&#039; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Page code is CC By Attribution, Share alike&lt;br /&gt;
  &amp;lt;meta name=&#039;rights-standard&#039; content=&#039;code;cc:bysa&#039; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Object with ID &amp;quot;item_1&amp;quot; is CC By Attribution, no derivatives, no commercial; object with ID &amp;quot;item_2&amp;quot; is public domain.&lt;br /&gt;
  &amp;lt;meta name=&#039;rights-standard&#039; content=&#039;object;item_1;cc:byndnc&#039; /&amp;gt;&lt;br /&gt;
  &amp;lt;meta name=&#039;rights-standard&#039; content=&#039;object;item_2;pd&#039; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Everything on the page is copyrighted&lt;br /&gt;
  &amp;lt;meta name=&#039;rights-standard&#039; content=&#039;copr2009&#039; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| [[Talk:MetaExtensions#rights:_why_reversion]] &lt;br /&gt;
&lt;br /&gt;
[http://creativecommons.org/about/licenses Creative Commons types and attributes]&lt;br /&gt;
|&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| subj-. . .&lt;br /&gt;
| To classify by subject a page&#039;s content, a standard subject taxonomy that will be recognized by a search engine or directory will help. Because many such high-quality taxonomies exist, only a prefix is proposed. Over time, particular taxonomies, in print or online, may be recognized here and keywords assigned for each.&amp;lt;br /&amp;gt;The keyword will be constructed case-insensitively with subkeywords in the form subj-[nationAbbrev]-[taxonomy]-[edition][-optionalSubedition], e.g., subj-US-MeSH-2009online (perhaps). After &amp;quot;subj-&amp;quot;, the second subkeyword will identify the nation where the taxonomy is published or offered as an aid in identifying the taxonomy and does not limit the subject coverage; e.g., a taxonomy published in Japan may be ideal for classifying Canadian botany or Peruvian economy.&amp;lt;br /&amp;gt;As subject values may vary between editions of one taxonomy, an edition and optionally a subedition is to be identified in the third and optionally the fourth subkeywords. The subedition, if any, is any update or revision occurring between editions, such that a value drawn from that edition and subedition is stable. The means of identifying edition and subedition should be included in the registration of a keyword.&amp;lt;br /&amp;gt;Examples of taxonomies from the U.S. include MeSH (medical) and the Library of Congress Subject Headings.&amp;lt;br /&amp;gt;The value identifying a subject for a Web page will be drawn from the cited taxonomy&#039;s edition and subedition.&amp;lt;br /&amp;gt;If the value should have a style to prevent ambiguity in interpretation, that style is to be registered here for that keyword. Multiple values are expressed with multiple meta elements, one value for each, since comma-separation is probably not compatible with all taxonomies.&amp;lt;br /&amp;gt;If a value requires case-sensitivity to prevent confusion, the entry here registering the keyword must accommodate that need with the needs of HTML 5 with an appropriate rule. To that end, a proposal to allow case-sensitivity in meta tags under some circumstances has been offered in the W3C bug reporting system.&lt;br /&gt;
| [http://www.w3.org/Bugs/Public/show_bug.cgi?id=6854 W3C Bug 6854]&lt;br /&gt;
| subject-. . .&lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks link to a spec, tries to register a space of names instead of enumerated names&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| MSSmartTagsPreventParsing&lt;br /&gt;
| Microsoft introduced into Internet Explorer 6 Beta a feature that some website designers wished to preclude from applying in order to prevent public misunderstanding of their websites. The feature allowed a browser to add information but at a risk that users wouldn&#039;t know that it wasn&#039;t supplied by the website. This keyword was provided by Microsoft for those of us who wanted it.&amp;lt;br /&amp;gt;Its value was &amp;quot;TRUE&amp;quot;. Microsoft spelled the keyword with some capitals and the value in all capitals but whether capitalization was required for either is unknown; some opinions vary. Since it need be understood by only one browser, and that one a beta version, full standards compliance should not be assumed, and original case may be required. (This tag is used by Google: &amp;quot;&amp;lt;meta content=&#039;true&#039; name=&#039;MSSmartTagsPreventParsing&#039;/&amp;gt;&amp;quot; appeared (with internal quote marks as singles) in the source code for &amp;lt;http://googleblog.blogspot.com/2009/04/listening-to-google-health-users.html&amp;gt;, as accessed 4-27-09.)&amp;lt;br /&amp;gt;Microsoft has apparently removed this instruction from its website on the ground that the beta version is no longer available and is not supported, but that doesn&#039;t assure that some users aren&#039;t still using the beta browser, perhaps inadvertently. Therefore, designers may wish to continue using the keyword and value and they are preserved here.&lt;br /&gt;
| e.g., [http://www.theregister.co.uk/2001/06/25/web_sites_banish_those_winxp/ The Register (U.K.)], [http://cc.uoregon.edu/cnews/summer2001/summer2001.pdf Univ. Oregon (U.S.) (PDF p. 18)], &amp;amp; [http://trillian.mit.edu/~jc/demo/SmartTagsOff.html John Chambers (U.S.) (job résumé near root)], all as accessed 4-19-09&lt;br /&gt;
| &lt;br /&gt;
| Proposal&lt;br /&gt;
| Lacks spec, potentially never minted by MS as a meta name (as opposed to a http-equiv value), even if minted by Microsoft, abandoned before shipping in any final release of IE&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Failed Proposals ==&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=4 cellspacing=0&lt;br /&gt;
! Keyword&lt;br /&gt;
! Brief description&lt;br /&gt;
! Link to more details&lt;br /&gt;
! Synonyms&lt;br /&gt;
! Status&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot; &lt;br /&gt;
| cache&lt;br /&gt;
| This doesn&#039;t actually work; use HTTP headers instead.&amp;lt;br /&amp;gt;Value must be &amp;quot;public&amp;quot;, &amp;quot;private&amp;quot;, or &amp;quot;no-cache&amp;quot;. Intended as a simple way to tell user agents whether to store a copy of the document or not. An alternate for HTTP/1.1&#039;s cache-control; for publishers without access to modifying cache-control.&lt;br /&gt;
| none&lt;br /&gt;
| &lt;br /&gt;
| Unendorsed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Process ==&lt;br /&gt;
&lt;br /&gt;
For the &amp;quot;Status&amp;quot; section to be changed to &amp;quot;Ratified&amp;quot;, the proposed keyword must be defined by a W3C specification in the Candidate Recommendation or Recommendation state. If it fails to go through this process, it is &amp;quot;Unendorsed&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For more details, see [http://whatwg.org/specs/web-apps/current-work/#concept-meta-extensions the HTML5 specification].&lt;br /&gt;
&lt;br /&gt;
[[Category:Registries]]&lt;/div&gt;</summary>
		<author><name>RobS</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=Talk:FAQ&amp;diff=6165</id>
		<title>Talk:FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=Talk:FAQ&amp;diff=6165"/>
		<updated>2011-01-31T22:16:11Z</updated>

		<summary type="html">&lt;p&gt;RobS: Reply to comment from Enderandpeter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== QuoteFix does not work for me ==&lt;br /&gt;
&lt;br /&gt;
Therefore, I tend to say&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I want cats now.&lt;br /&gt;
&lt;br /&gt;
Ian wrote:&lt;br /&gt;
What do you want?&lt;br /&gt;
When do you want it?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The idea is to make the information as self-contained as possible.  This does not give you a hint why I wrote it in the first place but at least the text contains a statement that is valid in isolation.&lt;br /&gt;
&lt;br /&gt;
I would also complain that I lose track of who wrote what in an [http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20081102/f6d60788/attachment.htm interleaved discussion] too often.  Is it just me?&lt;br /&gt;
--[[User:Yecril71pl|Yecril71pl]] 19:33, 30 October 2008 (UTC)&lt;br /&gt;
:I get the same problem. One of my prof. answered a mail and didn&#039;t see what he wrote. really crazy because i read only the half :( that is really bad! --[[User:Mabdul|Mabdul]] 18:06, 4 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== nonlogo ==&lt;br /&gt;
&lt;br /&gt;
Why did you choose such an uninformative logo?  --[[User:Yecril71pl|Yecril71pl]] 09:02, 1 November 2008 (UTC)&lt;br /&gt;
:have you a better one? *g* --[[User:Mabdul|Mabdul]] 18:06, 4 November 2008 (UTC)&lt;br /&gt;
I have two ideas: &lt;br /&gt;
# a hand writing on the globe &lt;br /&gt;
# a variation of &amp;lt;5/&amp;gt;&lt;br /&gt;
--[[User:Yecril71pl|Yecril71pl]] 18:02, 9 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Removing editorial note from the &amp;quot;What is the namespace declaration?&amp;quot; section ==&lt;br /&gt;
&lt;br /&gt;
There&#039;s a little note in that section that says &amp;quot;(need to find a simple explanation for what namespaces are for)&amp;quot;. I thought for cleanliness&#039;s sake that I&#039;d remove it and just post a link to a straight forward description of the purpose of XML namespaces like http://www.w3schools.com/xml/xml_namespaces.asp. If someone wanted to write up something or link to another site, please go for it. [[User:Enderandpeter|Enderandpeter]] 09:03, 10 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Maybe not quite as simple of an explanation, but I like the way the table at [http://www.Namespaces.com/html-namespaces.html Namespaces.com] shows how namespace partitions work. [[User:RobS|Rob S.]] 22:16, 31 January 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>RobS</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=FAQ&amp;diff=6164</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=FAQ&amp;diff=6164"/>
		<updated>2011-01-31T21:37:07Z</updated>

		<summary type="html">&lt;p&gt;RobS: Added a link as requested - &amp;quot;If you know of any more ... then add them to the list!&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The WHATWG ==&lt;br /&gt;
&lt;br /&gt;
=== What is the WHATWG? ===&lt;br /&gt;
&lt;br /&gt;
The Web Hypertext Application Technology Working Group (WHATWG) is a growing community of people interested in evolving the Web. It focuses primarily on the development of HTML and APIs needed for Web applications.&lt;br /&gt;
&lt;br /&gt;
The WHATWG was founded by individuals of Apple, the Mozilla Foundation, and Opera Software in 2004, after a W3C workshop. Apple, Mozilla and Opera were becoming increasingly concerned about the W3C’s direction with XHTML, lack of interest in HTML and apparent disregard for the needs of real-world authors. So, in response, these organisations set out with a mission to address these concerns and the Web Hypertext Application Technology Working Group was born.&lt;br /&gt;
&lt;br /&gt;
=== What is the WHATWG working on? === &lt;br /&gt;
&lt;br /&gt;
The WHATWG&#039;s main focus is the HTML standard. The WHATWG also works on Web Workers, Web Storage, the Web Sockets API, and Server-Sent Events, and occasionally specifications outside WHATWG space are discussed on the WHATWG mailing list and forwarded when appropriate.&lt;br /&gt;
&lt;br /&gt;
In the past it has worked on Web Forms 2.0 and Web Controls 1.0. Web Forms 2.0 has been integrated into HTML5 and Web Controls 1.0 has been abandoned for now, awaiting what [http://www.w3.org/TR/xbl/ XBL 2.0] will bring us.&lt;br /&gt;
&lt;br /&gt;
=== How can I get involved? === &lt;br /&gt;
&lt;br /&gt;
There are lots of ways you can get involved, take a look and see &#039;&#039;[[What you can do]]&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
=== Is participation free? === &lt;br /&gt;
&lt;br /&gt;
Yes, everyone can contribute. There are no memberships fees involved, it&#039;s an open process. You may easily subscribe to the WHATWG [http://whatwg.org/mailing-list mailing lists]. You may also [http://blog.whatwg.org/w3c-restarts-html-effort join the the W3C&#039;s new HTMLWG] by going through the slightly longer application process.&lt;br /&gt;
&lt;br /&gt;
== The WHATWG Process ==&lt;br /&gt;
&lt;br /&gt;
=== How does the WHATWG work? ===&lt;br /&gt;
&lt;br /&gt;
People send e-mail to [http://www.whatwg.org/mailing-list#specs the mailing list]. The editor then reads that [http://www.whatwg.org/issues/ feedback] and, taking it into account along with research, studies, and feedback from many other sources (blogs, forums, IRC, etc) makes language design decisions intended to address everyone&#039;s needs as well as possible while keeping the language consistent.&lt;br /&gt;
&lt;br /&gt;
This continues, with people sending more feedback, until nobody is able to convince the editor to change the spec any more (e.g. because two people want opposite things, and the editor has considered all the information available and decided that one of the two proposals is the better one).&lt;br /&gt;
&lt;br /&gt;
This is not a consensus-based approach -- there&#039;s no guarantee that everyone will be happy! There is also no voting.&lt;br /&gt;
&lt;br /&gt;
There is a small oversight committee (known as the &amp;quot;WHATWG members&amp;quot;, see the [http://www.whatwg.org/charter charter]) who have the authority to override or replace the editor if he starts making bad decisions.&lt;br /&gt;
&lt;br /&gt;
Currently the editor is Ian Hickson.&lt;br /&gt;
&lt;br /&gt;
=== How should tool developers, screen reader developers, browser vendors, search engine vendors, and other implementors interact with the WHATWG? ===&lt;br /&gt;
&lt;br /&gt;
Feedback on a feature should be sent to whatwg@whatwg.org (but you have to [http://whatwg.org/mailing-list#specs join the mailing list] first), or ian@hixie.ch. All feedback will receive a reply in due course.&lt;br /&gt;
&lt;br /&gt;
If you want feedback to be dealt with faster than &amp;quot;eventually&amp;quot;, e.g. because you are about to work on that feature and need the spec to be updated to take into account all previous feedback, let the editor know by either e-mailing him (ian@hixie.ch), or contacting him on [[IRC]] (Hixie on Freenode). Requests for priority feedback handling are handled confidentially so other implementors won&#039;t know that you are working on that feature.&lt;br /&gt;
&lt;br /&gt;
Questions and requests for clarifications should be asked either on the mailing list or on [[IRC]], in the #whatwg channel on Freenode.&lt;br /&gt;
&lt;br /&gt;
=== Is there a process for removing bad ideas from a specification? ===&lt;br /&gt;
&lt;br /&gt;
There are several processes by which we trim weeds from the specifications.&lt;br /&gt;
&lt;br /&gt;
* Occasionally, we go through every section and mark areas as being considered for removal. This happened early in 2008 with the data templates, repetition blocks, and DFN-element cross references, for example. If no feedback is received to give us strong reasons to keep such features, then they eventually are removed altogether.&lt;br /&gt;
&lt;br /&gt;
* Anyone can ask for a feature to be removed; such feedback is considered like all other feedback and is based on the merits of the arguments put forward.&lt;br /&gt;
&lt;br /&gt;
* If browsers don&#039;t widely implement a feature, or if authors don&#039;t use a feature, or if the uses of the feature are inconsequential or fundamentally wrong or damaging, then, after due consideration, features will be removed.&lt;br /&gt;
&lt;br /&gt;
Removing features is a critical part of spec development.&lt;br /&gt;
&lt;br /&gt;
=== Is there a process for adding new features to a specification? ===&lt;br /&gt;
&lt;br /&gt;
The process is rather informal, but basically boils down to this:&lt;br /&gt;
# Research the use cases and requirements by discussing the issue with authors and implementors.&lt;br /&gt;
# Come up with a clear description of the problem that needs to be solved.&lt;br /&gt;
# Discuss your proposal with authors and implementors. Read the responses. Listen to the feedback. Consider whether your ideas are good solutions to the use cases and requirements put forward. Discussions here should be done in public, e.g. on an archived public mailing list or documented in blogs.&lt;br /&gt;
# Get implementors to commit to implementing the feature. If you can&#039;t get several implementors to implement the feature, then get at least one user agent to implement it experimentally. Experimental implementations should be publicly available.&lt;br /&gt;
# Bring the experimental implementations to the attention of the spec&#039;s editor. Document the experience found from any implementations, the use cases and requirements that were found in the first step, the data that the design was based on.&lt;br /&gt;
# Demonstrate the importance of the problem. Demonstrate that the solution is one that will be used correctly and widely enough for it to solve the stated problem.&lt;br /&gt;
# Participate in the subsequent design discussions, considering all the proposals carefully. Typically at this step the original design gets thrown out and a significantly better design is developed, informed by the previous research, new research, and implementation and author experience with experimental implementations. Sometimes, the idea is abandoned at this stage.&lt;br /&gt;
&lt;br /&gt;
If the idea survives the above design process, the spec will be eventually updated to reflect the new design. Implementations will then be updated to reflect the new design (if they aren&#039;t, that indicates the new design is not good, and it will be reworked or removed). The spec will be updated to fix the many problems discovered by authors and implementors, over a period of several years, as more authors and implementors are exposed to the design. Eventually, a number of provably interoperable implementations are deployed. At this point development of the feature is somewhat frozen.&lt;br /&gt;
&lt;br /&gt;
Writing a comprehensive test suite is also an important step, which should start a bit before implementations start being written to the spec. (Test suites usually find as many problems with implementations as they do with the spec; they aren&#039;t just for finding browser bugs.) We don&#039;t yet have a good story with respect to test suites, sadly. If you want to help us out, let the mailing list know! Be aware, though, it&#039;s a lot of work.&lt;br /&gt;
&lt;br /&gt;
=== What does &amp;quot;Living Standard&amp;quot; mean? ===&lt;br /&gt;
&lt;br /&gt;
The WHATWG specifications are described as Living Standards. This means that they are standards that are continuously updated as they receive feedback, either from Web designers, browser vendors, tool vendors, or indeed any other interested party. It also means that new features get added to them over time, at a rate intended to keep the specifications a little ahead of the implementations but not so far ahead that the implementations give up.&lt;br /&gt;
&lt;br /&gt;
Despite the continuous maintenance, or maybe we should say &#039;&#039;as part&#039;&#039; of the continuing maintenance, a significant effort is placed on getting the specifications and the implementations to converge — the parts of the specification that are mature and stable are not changed willy nilly. Maintenance means that the days where the specifications are brought down from the mountain and remain forever locked, even if it turns out that all the browsers do something else, or even if it turns out that the specification left some detail out and the browsers all disagree on how to implement it, are gone. Instead, we now make sure to update the specifications to be detailed enough that all the implementations (not just browsers, of course) can do the same thing. Instead of ignoring what the browsers do, we fix the spec to match what the browsers do. Instead of leaving the specification ambiguous, we fix the the specification to define how things work.&lt;br /&gt;
&lt;br /&gt;
=== “Living specification” sounds like a draft that may and will change at any moment and is probably not even complete at any moment of time... ===&lt;br /&gt;
&lt;br /&gt;
That&#039;s exactly what it is. However, the specification does not change arbitrarily: we are extremely careful! As parts of the specification mature, and implementations ship, we stop making changes to those sections for all but the most critical of reasons, such as security problems. The specification is never complete, since the Web is continuously evolving. The last time HTML was described as &amp;quot;complete&amp;quot; was after HTML4, when development stopped for several years, leading to stagnation.&lt;br /&gt;
&lt;br /&gt;
You can see which parts of the spec are stable and which are not from the status annotations in the left margin.&lt;br /&gt;
&lt;br /&gt;
=== Don’t browsers need a target to work their implementations towards, even if it’s a snapshot that is essentially arbitrary? ===&lt;br /&gt;
&lt;br /&gt;
In practice, implementations all followed the latest specs draft anyway, not the latest snapshots. The problem with following a snapshot is that you end up following something that is &#039;&#039;known to be wrong&#039;&#039;. That&#039;s obviously not the way to get interoperability! This has in fact been a real problem at the W3C, where mistakes are found and fixed in the editors&#039; drafts of specifications, but implementors who aren&#039;t fully engaged in the process go and implement obsolete snapshots instead, including those bugs, without realising the problems, and resulting in differences between the browsers.&lt;br /&gt;
&lt;br /&gt;
===  When will it be safe to attempt to implement the spec based solely on the formal specification statements in the spec? === &lt;br /&gt;
&lt;br /&gt;
It&#039;s never truly safe; for example, if you tried to implement HTML4 according to the HTML4 specification you wouldn&#039;t have an implementation compatible with HTML4-era documents. However, if you&#039;re able to deal with minor changes, like security updates, errata-level changes, etc, then you can see which parts of the spec are stable and which are not from the status annotations in the left margin.&lt;br /&gt;
&lt;br /&gt;
In general, though, we would strongly recommend taking part in the development effort. There&#039;s a [http://www.whatwg.org/mailing-list#imps mailing list for implementors] which can help.&lt;br /&gt;
&lt;br /&gt;
=== How do we know what to use, without having some sort of snapshot that browsers can aim at and developers can evaluate? ===&lt;br /&gt;
&lt;br /&gt;
The same way you do &#039;&#039;with&#039;&#039; snapshots. Browser vendors don&#039;t look at the last snapshot, they look at the ever-progressing latest text anyway.&lt;br /&gt;
&lt;br /&gt;
No browser ever implemented all of HTML4, for example, even in the years after it was a formal Recommendation. Nor did they wait til they had done all of HTML3.2 before working on implementing HTML4. They all picked and chose the bits they thought were useful. With the Living Standard approach, we can also update the specification at the same time to remove the bits they all agree are useless, and to add new features that they think we should add (before they go off and invent their own solutions!).&lt;br /&gt;
&lt;br /&gt;
=== Isn’t the whole point of a specification to establish fixed point of reference so that all parties implementing the standard can ensure they have a common baseline of compatibility? ===&lt;br /&gt;
&lt;br /&gt;
No, the point of a specification is to provide an accurate description of what all the parties should implement. When an error is found in this description, it&#039;s better to fix it than to leave it.&lt;br /&gt;
&lt;br /&gt;
HTML4 provides an example of this. HTML4 says the default value for the &amp;quot;media&amp;quot; attribute is &amp;quot;screen&amp;quot;, even though it was long ago realised that this made no sense and the default should be &amp;quot;all&amp;quot;. The browsers all implement it as &amp;quot;all&amp;quot;. A snapshot with a known bug is not as useful as a living standard.&lt;br /&gt;
&lt;br /&gt;
=== The large Web industry with many browsers and even more producers of web pages needs to evolve in reasonably consistent steps for ubiquity and interoperability, so we need snapshots ===&lt;br /&gt;
&lt;br /&gt;
It&#039;s true that &amp;quot;the large Web industry with many&lt;br /&gt;
browsers and even more producers of web pages needs to evolve in&lt;br /&gt;
reasonably consistent steps for ubiquity and interoperability&amp;quot;. However, unchanging snapshots of specifications&lt;br /&gt;
do nothing to help with this. The implementations usually follow the&lt;br /&gt;
drafts, not the snapshots, and in the exceptions where they don&#039;t, they&lt;br /&gt;
end up &#039;&#039;failing to interoperate&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Consider what would happen if a Web browser vendor decided to implement&lt;br /&gt;
HTML4 instead of the latest state of the HTML Living Standard. That vendor would have &amp;amp;lt;link&amp;gt;&lt;br /&gt;
elements with the wrong media=&amp;quot;&amp;quot; attribute default, which would break&lt;br /&gt;
printing of most of the Web. That vendor would misparse &amp;amp;lt;p&amp;gt;&amp;amp;lt;table&amp;gt;, which&lt;br /&gt;
would result in blank lines in numerous unexpected places. That vendor&lt;br /&gt;
would find that pages that styled empty paragraphs would fail to render as&lt;br /&gt;
expected. That vendor would find that millions of pages would be&lt;br /&gt;
unparseable due to not assuming a default encoding. That vendor would find&lt;br /&gt;
that 0.2% of pages were missing images due to HTML4 not requiring the&lt;br /&gt;
&amp;amp;lt;image&amp;gt;/&amp;amp;lt;img&amp;gt; aliasing. That vendor would, in short, find that the&lt;br /&gt;
spec was not an accurate description of the Web, and would either fail in&lt;br /&gt;
the market place (due to lack of interoperability), or would go seeking&lt;br /&gt;
the latest spec, the living standard, which would dramatically improve their interoperability&lt;br /&gt;
with legacy content and existing browsers.&lt;br /&gt;
&lt;br /&gt;
Snapshots harm interoperability, they don&#039;t help it.&lt;br /&gt;
&lt;br /&gt;
=== How about support in browsers for previous versions of this “living” HTML standard? ===&lt;br /&gt;
&lt;br /&gt;
Browsers only need to implement the latest spec, and they will be compatible with the bulk of legacy content. That is an underlying principle of the entire WHATWG effort.&lt;br /&gt;
&lt;br /&gt;
To clarify, browsers today don&#039;t implement separate modes for HTML2, HTML3.2, and HTML4. They just implement one version of HTML, and it works with everything (we call this &amp;quot;backwards compatibility&amp;quot;). This is the same model followed by the HTML specification; that&#039;s why it defines the browser requirements for lots of old features that aren&#039;t allowed anymore. For example, the &amp;quot;font&amp;quot; element is no longer conforming (authors aren&#039;t supposed to use it in their pages), but the spec still defines how it works, so that old pages keep working.&lt;br /&gt;
&lt;br /&gt;
=== Will future browsers have any idea what older HTML documents mean?  ===&lt;br /&gt;
&lt;br /&gt;
Browsers do not implement HTML+, HTML2, HTML3.2 HTML4, HTML4.01, etc, as separate versions. They all just have a single implementation that covers all these versions at once. That is what the WHATWG HTML specification defines: how to write a browser (or other implementation) that handles &#039;&#039;all previous versions of HTML&#039;&#039;, as well as all the latest features.&lt;br /&gt;
&lt;br /&gt;
One of the main goals of the HTML specification and the WHATWG effort as a whole is to make it possible for archeologists hundreds of years from now to write a browser and view HTML content, regardless of when it was written. Making sure that we handle all documents is one of our most important goals. Not having versions does not preclude this.&lt;br /&gt;
&lt;br /&gt;
=== This means you will only able to add to a spec, not redefine it. ===&lt;br /&gt;
&lt;br /&gt;
Yes. That&#039;s been a guiding principle for the WHATWG since its founding. It&#039;s even in our [http://www.whatwg.org/charter charter].&lt;br /&gt;
&lt;br /&gt;
=== How can web developers know which features are safe to use? ===&lt;br /&gt;
&lt;br /&gt;
See &amp;quot;[[FAQ#When_will_we_be_able_to_start_using_these_new_features.3F|When will we be able to start using these new features?]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Browsers can currently say they implement HTML 4.01 and most know what to expect. ===&lt;br /&gt;
&lt;br /&gt;
Actually, that really isn&#039;t what happens in practice. Browsers do not implement specifications atomically, one spec at a time. They pick and chose features from the specs as they see fit. For example, back in the day, browsers implemented the absolute positioning parts of CSS2, but not &#039;display:run-in&#039;, but they still claimed to implement CSS2, and they already had parts of CSS3 implemented too, but not any part of a complete CSS3 module. Browsers claim to implement HTML4, but didn&#039;t implement all of it. Browsers moved on to HTML4 features before they had done all of HTML 3.2. And so on.&lt;br /&gt;
&lt;br /&gt;
Plus, there&#039;s the problem of bugs. Different browsers have different bugs, and nothing in the spec&#039;s version can tell you what bugs the browser has.&lt;br /&gt;
&lt;br /&gt;
Thus, in practice, you really can&#039;t tell what is implemented based on what version of what spec the vendor&#039;s marketing department claims to support. So not having a version number doesn&#039;t hurt. If anything, it helps, by removing a potentially bogus point of comparison — it means you have to compare browsers on what they really do (with a test suite), not on what version they claim to support.&lt;br /&gt;
&lt;br /&gt;
=== How are developers to determine when certain parts of their pages will become invalid? ===&lt;br /&gt;
&lt;br /&gt;
It shouldn&#039;t matter if and when old pages become invalid.&lt;br /&gt;
&lt;br /&gt;
Validity (more often referred to as document conformance in the WHATWG) is a quality assurance tool to help authors avoid mistakes. We don&#039;t make things non-conforming (invalid) for the sake of it, we use conformance as a guide for developers to help them avoid bad practices or mistakes (like typos). So there&#039;s not really any need to worry about whether old pages are conforming or not, it&#039;s only helpful when you&#039;re writing a new page, and it&#039;s always most helpful to have the latest advice. It wouldn&#039;t be useful to check for compliance against last week&#039;s rules, for instance. After all, we fixed mistakes in those rules this week!&lt;br /&gt;
&lt;br /&gt;
=== How will anything be deprecated and removed if there are no version numbers? ===&lt;br /&gt;
&lt;br /&gt;
Having version numbers doesn&#039;t stop us from removing features. We do that regularly, as described above in &amp;quot;[[FAQ#Is_there_a_process_for_removing_bad_ideas_from_a_specification.3F|Is there a process for removing bad ideas from a specification?]]&amp;quot;. See also the &amp;quot;obsolete features&amp;quot; section in the HTML standard: http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html&lt;br /&gt;
&lt;br /&gt;
=== Will HTML become a bloated unimplementable mess as old features pile up if there are no version numbers? ===&lt;br /&gt;
&lt;br /&gt;
No. We endeavour to not make HTML unimplementable — if it can&#039;t be implemented, there&#039;s not much point having a spec! Indeed, making HTML implementable is the main goal of the specification. Certainly HTML will continue to become complicated over time, but that is unrelated to whether we have version numbers or not.&lt;br /&gt;
&lt;br /&gt;
=== Will HTML become an unusable mess as features are removed and old valid documents suddenly become invalid, if there are no version numbers? ===&lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
Features being invalid doesn&#039;t make them stop working — browsers are required to support old features. Even things like &amp;quot;inindex&amp;quot;, framesets, &amp;quot;font&amp;quot;, and so forth are still defined in the HTML specification, even though they&#039;re not to be used by authors. Old documents become invalid all the time, for example HTML 3.2 documents that use the &amp;quot;font&amp;quot; element were not valid HTML4 Strict documents, since it made &amp;quot;font&amp;quot; invalid (for good reasons, e.g. it tends to lead to authoring practices that harm accessibility). So even if we continue to make certain features invalid, it does not make HTML an &amp;quot;unusable mess&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== If you do not publish snapshots every now and again, you are Orwellian in your recognition of the role the mistakes of the past play into the present and the future. ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;No really, someone [http://blog.whatwg.org/html-is-the-new-html5#comment-42288 said that] on our blog.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The specification text is kept in version control and not forgotten; in fact, version control archeology is often used as part of the spec&#039;s development to figure out when things changed, why they changed, and so forth. This is significantly more helpful than arbitrarily dated snapshots, which in practice aren&#039;t studied in the same way since they don&#039;t give as detailed an answer. With version control, you can narrow down changes to discussions that happened on a particular day or even hour, with snapshots you are often limited to a resolution of months or years, depending on how often you publish the snapshots.&lt;br /&gt;
&lt;br /&gt;
You can see the version control repository for the WHATWG specifications at http://html5.org/tools/web-apps-tracker (Web interface) or http://svn.whatwg.org/webapps/ (SVN interface).&lt;br /&gt;
Every revision, however, minor, is checked in separately. As of the time of this writing (January 2011), the repository has over 5700 revisions already.&lt;br /&gt;
&lt;br /&gt;
(Another way of looking at it is that we have a new snapshot with every change! Publish early, publish often, as they say.)&lt;br /&gt;
&lt;br /&gt;
== HTML5 ==&lt;br /&gt;
&lt;br /&gt;
=== What is HTML5? === &lt;br /&gt;
&lt;br /&gt;
[http://www.whatwg.org/specs/web-apps/current-work/ HTML] is the main focus of the WHATWG community. HTML5 is a snapshot of HTML, which is being worked on by the WHATWG community and also the W3C HTML Working Group.&lt;br /&gt;
&lt;br /&gt;
HTML5 is a new version of HTML4, XHTML1, and DOM Level 2 HTML addressing many of the issues of those specifications while at the same time enhancing (X)HTML to more adequately address Web applications. Besides defining a markup language that can be written in both HTML and XML (XHTML) it also defines many APIs that form the basis of the Web architecture. Some of these APIs were known as &amp;quot;DOM Level 0&amp;quot; and were never documented before. Yet they are extremely important for browser vendors to support existing Web content and for authors to be able to build Web applications.&lt;br /&gt;
&lt;br /&gt;
Going forward, the WHATWG is just working on &amp;quot;HTML&amp;quot;, without worrying about version numbers. When people talk about HTML5 in the context of the WHATWG, they usually mean just &amp;quot;the latest work on HTML&amp;quot;, not necessarily a specific version. For more details, see the section called [http://www.whatwg.org/specs/web-apps/current-work/multipage/introduction.html#is-this-html5? &amp;quot;Is this HTML5?&amp;quot;] in the specification.&lt;br /&gt;
&lt;br /&gt;
=== How can I keep track of changes to the spec? === &lt;br /&gt;
&lt;br /&gt;
There are a number of ways to track changes to the spec.&lt;br /&gt;
&lt;br /&gt;
* The Twitter feed: http://twitter.com/WHATWG&lt;br /&gt;
&lt;br /&gt;
* You may use the online [http://html5.org/tools/web-apps-tracker HTML5 Tracker]. The tool provides an online interface for selecting and comparing revisions of the spec.&lt;br /&gt;
&lt;br /&gt;
* There is a commit-watchers mailing list that is notified of every edit: http://lists.whatwg.org/listinfo.cgi/commit-watchers-whatwg.org&lt;br /&gt;
&lt;br /&gt;
* The specification is available in the [http://svn.whatwg.org/ subversion repository]. You may use any SVN client to check out the latest version and use your clients diff tools in order compare revisions and see what has been changed.&lt;br /&gt;
&lt;br /&gt;
* At a broader level, Anne is maintaining a document that gives a high-level overview of changes to HTML over the last decade or so, as well as occasionally listing changes between versions a few months apart: http://dev.w3.org/html5/html4-differences/&lt;br /&gt;
&lt;br /&gt;
* The W3C provide a Web view of their CVS mirror of the HTML5 spec: http://dev.w3.org/cvsweb/html5/spec/Overview.html&lt;br /&gt;
&lt;br /&gt;
* The W3C provide diff-marked HTML versions for each change that affect the W3C copy of the spec by e-mail: http://lists.w3.org/Archives/Public/public-html-diffs/latest&lt;br /&gt;
&lt;br /&gt;
=== What are the various versions of the spec? ===&lt;br /&gt;
&lt;br /&gt;
All active work at WHATWG is gathered in Web Applications 1.0. It is available as [http://www.whatwg.org/specs/web-apps/current-work/complete.html single-page] (&#039;&#039;very large&#039;&#039;) and &#039;&#039;&#039;[http://whatwg.org/C multi-page]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The WHATWG HTML standard is a subset containing only the HTML-specific material. It is available as [http://www.whatwg.org/specs/web-apps/current-work/ single-page]&lt;br /&gt;
and &#039;&#039;&#039;[http://whatwg.org/html multi-page]&#039;&#039;&#039;, as well as in PDF [http://www.whatwg.org/specs/web-apps/current-work/html-a4.pdf A4] and&lt;br /&gt;
[http://www.whatwg.org/specs/web-apps/current-work/html-letter.pdf Letter].&lt;br /&gt;
&lt;br /&gt;
The W3C HTML5 specification is a subset of the WHATWG HTML standard, containing only some of the more stable features.&lt;br /&gt;
&lt;br /&gt;
The following table lists in the individual specifications included:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=1 cellpadding=3 cellspacing=0&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
! WHATWG Specifications &amp;lt;br&amp;gt; (and sections therein)&lt;br /&gt;
! Section links for &amp;lt;br&amp;gt; Web Applications 1.0&lt;br /&gt;
! W3C/IETF Specifications&lt;br /&gt;
|-&lt;br /&gt;
! HTML5 only (excluding newer features)&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
| [http://dev.w3.org/html5/spec/Overview.html Single-page], [http://dev.w3.org/html5/spec/ multi-page] (HTML WG)&lt;br /&gt;
|-&lt;br /&gt;
! HTML (including newer features)&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/multipage/ WHATWG HTML]&lt;br /&gt;
| Everything not listed below!&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! Microdata&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#microdata In WHATWG HTML]&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/complete/microdata.html Microdata]&lt;br /&gt;
| [http://dev.w3.org/html5/md/ Microdata] (HTML WG)&lt;br /&gt;
|-&lt;br /&gt;
! Canvas 2D Context&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#2dcontext In WHATWG HTML]&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/complete/the-canvas-element.html#2dcontext 2D Context]&lt;br /&gt;
| [http://dev.w3.org/html5/2dcontext/ 2D Context] (HTML WG)&lt;br /&gt;
|-&lt;br /&gt;
! Communications - Cross-document messaging&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages In WHATWG HTML]&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/complete/web-messaging.html#web-messaging Cross-document messaging]&lt;br /&gt;
|rowspan=2| [http://dev.w3.org/html5/postmsg/ HTML5 Web Messaging] (HTML WG)&lt;br /&gt;
|-&lt;br /&gt;
! Communications - Channel messaging&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#channel-messaging In WHATWG HTML]&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/complete/web-messaging.html#channel-messaging Channel messaging]&lt;br /&gt;
|-&lt;br /&gt;
! Web Workers&lt;br /&gt;
| [http://www.whatwg.org/specs/web-workers/current-work/ Web Workers specification]&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/complete/workers.html Web Workers]&lt;br /&gt;
| [http://dev.w3.org/html5/workers/ Web Workers] (WebApps WG)&lt;br /&gt;
|-&lt;br /&gt;
! Web Storage&lt;br /&gt;
| only in WA1&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/complete/webstorage.html Web Storage]&lt;br /&gt;
| [http://dev.w3.org/html5/webstorage/ Web Storage] (WebApps WG)&lt;br /&gt;
|-&lt;br /&gt;
! Web Sockets API&lt;br /&gt;
| only in WA1&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/complete/network.html Web Sockets API]&lt;br /&gt;
| [http://dev.w3.org/html5/websockets/ Web Sockets API] (WebApps WG)&lt;br /&gt;
|-&lt;br /&gt;
! Server-Sent Events&lt;br /&gt;
| only in WA1&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/complete/comms.html#server-sent-events Server-sent Events]&lt;br /&gt;
| [http://dev.w3.org/html5/eventsource/ Server-sent Events] (WebApps WG)&lt;br /&gt;
|-&lt;br /&gt;
! WebVTT&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#webvtt-0 In WHATWG HTML] and informally as [http://www.whatwg.org/specs/web-apps/current-work/webvtt.html WebVTT]&lt;br /&gt;
| [http://www.whatwg.org/specs/web-apps/current-work/complete/video.html#webvtt-0 WebVTT]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of the above are generated from one [http://www.whatwg.org/specs/web-apps/current-work/source source document].&lt;br /&gt;
&lt;br /&gt;
=== Are there versions of the specification aimed specifically at authors/implementors? ===&lt;br /&gt;
&lt;br /&gt;
Not yet, but check back soon, we&#039;re working on this.&lt;br /&gt;
&lt;br /&gt;
In the meantime, the WHATWG HTML specification (including the multipage version) can be customized to either hide or emphasize user-agent-specific material. The mode can be selected using radio buttons at the top right of those documents.&lt;br /&gt;
&lt;br /&gt;
It is also possible to toggle the mode by changing the URL, here is an example for the multipage WHATWG HTML specification:&lt;br /&gt;
&lt;br /&gt;
* As a normal spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/?style=complete&lt;br /&gt;
* Author view (hiding the user-agent-specific material): http://www.whatwg.org/specs/web-apps/current-work/multipage/?style=author&lt;br /&gt;
* Implementor view (highlighting the user-agent-specific material): http://www.whatwg.org/specs/web-apps/current-work/multipage/?style=highlight&lt;br /&gt;
&lt;br /&gt;
=== When will we be able to start using these new features? ===&lt;br /&gt;
&lt;br /&gt;
You can use some of them now. Others might take a few more years to get widely implemented. Here are some sites to help you work out what you can use:&lt;br /&gt;
&lt;br /&gt;
* http://diveintohtml5.org/&lt;br /&gt;
* http://caniuse.com/&lt;br /&gt;
* http://HTML-5.com/&lt;br /&gt;
&lt;br /&gt;
If you know of any more (or if you have some yourself) then add them to the list! If there are some on the list that aren&#039;t very useful compared to the rest, then remove them!&lt;br /&gt;
&lt;br /&gt;
=== When will HTML5 be finished? ===&lt;br /&gt;
&lt;br /&gt;
The WHATWG is no longer working specifically on HTML5, so this question is no longer really pertinent. See above, under &amp;quot;[[FAQ#What_is_HTML.3F|What is HTML5?]]&amp;quot;. The real question is, when can you use new features? For an answer to &#039;that&#039; question, see &amp;quot;[[FAQ#When_will_we_be_able_to_start_using_these_new_features.3F|When will we be able to start using these new features?]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Different parts of the specification are at different maturity levels. Some sections are already relatively stable and there are implementations that are already quite close to completion, and those features can be used today (e.g. &amp;amp;lt;canvas&amp;amp;gt;). But other sections are still being actively worked on and changed regularly, or not even written yet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You can see annotations in the margins showing the estimated stability of each section.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The possible states are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Idea; yet to be specified&#039;&#039; -- the section is a placeholder.&lt;br /&gt;
* &#039;&#039;First draft&#039;&#039; -- An early stage.&lt;br /&gt;
* &#039;&#039;Working draft&#039;&#039; -- An early stage, but more mature than just &amp;quot;first draft&amp;quot;.&lt;br /&gt;
* &#039;&#039;Last call for comments&#039;&#039; -- The section is nearly done, but there may be feedback still to be processed. Send feedback sooner rather than later, or it might be too late.&lt;br /&gt;
* &#039;&#039;Awaiting implementation feedback&#039;&#039; -- The section is basically done, but might change in response to feedback from implementors. Major changes are unlikely past this point unless it is found that the feature, as specified, really doesn&#039;t work well.&lt;br /&gt;
* &#039;&#039;Implemented and widely deployed&#039;&#039; -- the feature is specified and complete. Once a section is interoperably implemented, it&amp;amp;#8217;s quite stable and unlikely to change significantly. Any changes to such a section would most likely only be editorial in nature, particularly if the feature is already in widespread use.&lt;br /&gt;
&lt;br /&gt;
There are also two special states:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Being edited right now&#039;&#039; -- the section is in high flux and is actively being edited. Contact Hixie on [[IRC]] if you have immediate feedback. (This state is not used often.)&lt;br /&gt;
* &#039;&#039;Being considered for removal&#039;&#039; -- for one reason or another, the section is being considered for removal. Send feedback soon to help with the decision.&lt;br /&gt;
&lt;br /&gt;
The point to all this is that you shouldn&amp;amp;#8217;t place too much weight on the status of the specification as a whole. You need to consider the stability and maturity level of each section individually.&lt;br /&gt;
&lt;br /&gt;
=== What&#039;s this I hear about 2022? ===&lt;br /&gt;
&lt;br /&gt;
Before the WHATWG transitioned to an unversioned model for HTML, when we were still working on HTML5 and still thought in terms of snapshot drafts reaching milestones as a whole rather than on a per-section basis, the editor estimated that we&#039;d reach Last Call in October 2009, Candidate Recommendation in the year 2012, and Recommendation in the year 2022 or later. This would be approximately 18-20 years of development, since beginning in mid-2004, which is on par with the amount of work that other specs of similar size and similar maturity receive to get to the same level of quality. For instance, it&#039;s in line with the timeline of CSS2/2.1. Compared to HTML4&#039;s timetable it may seem long, but consider: work on HTML4 started in the mid 90s, and HTML4 &#039;&#039;still&#039;&#039;, more than ten years later, hasn&#039;t reached the level that we want to reach with HTML5. There is no real test suite, there are many parts of the spec that are lacking real implementations, there are big parts that aren&#039;t interoperable, and the spec has hundreds if not thousands of known errors that haven&#039;t been fixed. When HTML4 came out, REC meant something much less exciting than it does now. For a spec to become a REC today, it requires two 100% complete and fully interoperable implementations, which is proven by each successfully passing literally thousands of test cases (20,000 tests for the whole spec would probably be a conservative estimate). When you consider how long it takes to write that many test cases and how long it takes to implement each feature, you&amp;amp;#8217;ll begin to understand why the time frame seems so long.&lt;br /&gt;
&lt;br /&gt;
Now that we&#039;ve moved to a more incremental model without macro-level milestones, the 2022 date is no longer relevant.&lt;br /&gt;
&lt;br /&gt;
=== What about Microsoft and Internet Explorer? === &lt;br /&gt;
&lt;br /&gt;
Microsoft has already started implementing parts of HTML5 in IE8 and is adding more to IE9.&lt;br /&gt;
&lt;br /&gt;
HTML5 is being developed with compatibility with existing browsers in mind, though (including IE). Support for many features can be simulated using JavaScript.&lt;br /&gt;
&lt;br /&gt;
=== Is design rationale documented? ===&lt;br /&gt;
&lt;br /&gt;
Sort of. Often the documentation can be found in the mailing list or IRC channel archives. Sometimes an issue was raised formally, and resolution is recorded in the issue tracker. Sometimes, there is an explanation in the specification, but doing that everywhere would make the specification huge.&lt;br /&gt;
&lt;br /&gt;
For a few cases that someone did take the time document, the information can be found at the following locations:&lt;br /&gt;
&lt;br /&gt;
* [[Rationale]] — a page that documents some reasons behind decisions in the spec, originally written and maintained by Variable. If anyone wants to help him out, try to grab someone on [[IRC]] (e.g. Hixie), we&#039;re always looking for more contributors and this is a good place to start.&lt;br /&gt;
* [[Why no namespaces]]&lt;br /&gt;
* [[Why no script implements]]&lt;br /&gt;
* [[Why not reuse legend]] or another &#039;&#039;mini-header&#039;&#039; element.&lt;br /&gt;
&lt;br /&gt;
Also see &#039;&#039;HTML feature proposals&#039;&#039; below.&lt;br /&gt;
&lt;br /&gt;
== HTML syntax issues ==&lt;br /&gt;
&lt;br /&gt;
=== Will HTML finally put an end to the XHTML as &amp;lt;code&amp;gt;text/html&amp;lt;/code&amp;gt; debate? === &lt;br /&gt;
&lt;br /&gt;
Yes. Unlike HTML4 and XHTML1, the choice of HTML or XHTML is solely dependent upon the choice of the media type, rather than the DOCTYPE. See [[HTML vs. XHTML]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== What will the DOCTYPE be? === &lt;br /&gt;
&lt;br /&gt;
In HTML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In XHTML: no DOCTYPE is required and its use is generally unnecessary.  However, you may use one if you want (see the following question).  Note that the above is well-formed XML and so it may also appear in XHTML documents.&lt;br /&gt;
&lt;br /&gt;
For compatibility with legacy producers designed for outputting HTML, but which are unable to easily output the above DOCTYPE, this alternative legacy-compat version may be used instead.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;amp;lt;!DOCTYPE html SYSTEM &amp;quot;about:legacy-compat&amp;quot;&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this is &#039;&#039;&#039;not&#039;&#039;&#039; intended for dealing with any compatibility issues with legacy browsers.  It is meant for legacy authoring tools only.&lt;br /&gt;
&lt;br /&gt;
Excluding the string &amp;lt;code&amp;gt;&amp;quot;about:legacy-compat&amp;quot;&amp;lt;/code&amp;gt;, the DOCTYPE is case insensitive in HTML.  In XHTML, it is case sensitive and must be either of the two variants given above.  For this reason, the DOCTYPEs given above are recommended to be used over other case variants, such as &amp;lt;code&amp;gt;&amp;amp;lt;!DOCTYPE HTML&amp;amp;gt;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;amp;lt;!doctype html&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
These alternatives were chosen because they meet the following criteria:&lt;br /&gt;
&lt;br /&gt;
* They trigger standards mode in all current and all relevant legacy browsers.&lt;br /&gt;
* They are well-formed in XML and can appear in XHTML documents.&lt;br /&gt;
* It is possible to output at least one of the alternatives, if not both, with extant markup generators.&lt;br /&gt;
* They intentionally contain no language version identifier so the DOCTYPE will remain usable for all future revisions of HTML.&lt;br /&gt;
* The first is short and memorable to encourage its use.&lt;br /&gt;
* The legacy-compat DOCTYPE is intentionally unattractive and self descriptive of purpose to discourage unnecessary use.&lt;br /&gt;
&lt;br /&gt;
=== Under what conditions should a DOCTYPE be used in XHTML? ===&lt;br /&gt;
&lt;br /&gt;
Generally, the use of a DOCTYPE in XHTML is unnecessary. However, there are cases where inclusion of a DOCTYPE is a reasonable thing to do:&lt;br /&gt;
&lt;br /&gt;
# The document is intended to be a polyglot document that may be served as both HTML or XHTML.&lt;br /&gt;
# You wish to declare entity references for use within the document.  Note that most browsers only read the internal subset and do not retrieve external entities. (This is not compatible with HTML, and thus not suitable for polyglot documents.)&lt;br /&gt;
# You wish to use a custom DTD for DTD-based validation. But take note of [http://about.validator.nu/#faq what&#039;s wrong with DTDs].&lt;br /&gt;
&lt;br /&gt;
Fundamentally, this is an XML issue, and is not specific to XHTML.&lt;br /&gt;
&lt;br /&gt;
=== How are documents from HTML4 and earlier versions parsed? ===&lt;br /&gt;
&lt;br /&gt;
All documents with a text/html media type (that is, including those without or with an HTML 2.0, HTML 3.2, HTML4, or XHTML1 DOCTYPE) will be parsed using the same parser algorithm as defined by the HTML spec. This matches what Web browsers have done for HTML documents so far and keeps code complexity down. That in turn is good for security, maintainability, and in general keeping the amount of bugs down. The HTML syntax as now defined therefore does not require a new parser and documents with an HTML4 DOCTYPE for example will be parsed as described by the new HTML specification.&lt;br /&gt;
&lt;br /&gt;
Validators are allowed to have different code paths for previous levels of HTML.&lt;br /&gt;
&lt;br /&gt;
=== If there is no DTD, how can I validate my page? === &lt;br /&gt;
&lt;br /&gt;
With an [http://validator.whatwg.org/ HTML validator] that follows the latest specification.&lt;br /&gt;
&lt;br /&gt;
=== What is an HTML Serialization? === &lt;br /&gt;
&lt;br /&gt;
The HTML serialization refers to the syntax of an HTML document defined in the HTML specification. The syntax is inspired by the SGML syntax from earlier versions of HTML, bits of XML (e.g. allowing a trailing slash on void elements, xmlns attributes), and reality of deployed content on the Web.&lt;br /&gt;
&lt;br /&gt;
Any document whose MIME type is determined to be &amp;lt;code&amp;gt;text/html&amp;lt;/code&amp;gt; is considered to be an HTML serialization and must be parsed using an HTML parser.&lt;br /&gt;
&lt;br /&gt;
=== What is an XML (or XHTML) Serialization? === &lt;br /&gt;
&lt;br /&gt;
The XML Serialization refers to the syntax defined by XML 1.0 and Namespaces in XML 1.0. A resource that has an XML MIME type, such as &amp;lt;code&amp;gt;application/xhtml+xml&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;application/xml&amp;lt;/code&amp;gt;, is an XML document and if it uses elements in the HTML namespace, it contains XHTML. If the root element is &amp;amp;#8220;html&amp;amp;#8221; in the HTML namespace, the document is referred to as an XHTML document.&lt;br /&gt;
&lt;br /&gt;
=== What MIME type does HTML use? === &lt;br /&gt;
&lt;br /&gt;
The HTML serialization &#039;&#039;must&#039;&#039; be served using the &amp;lt;code&amp;gt;text/html&amp;lt;/code&amp;gt; MIME type.&lt;br /&gt;
&lt;br /&gt;
The XHTML serialization &#039;&#039;must&#039;&#039; be served using an XML MIME type, such as &amp;lt;code&amp;gt;application/xhtml+xml&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;application/xml&amp;lt;/code&amp;gt;. Unlike the situation as of XHTML1, the HTML specification says that XHTML must no longer be served as &amp;lt;code&amp;gt;text/html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the incorrect MIME type (&amp;lt;code&amp;gt;text/html&amp;lt;/code&amp;gt;) for XHTML will cause the document to be parsed according to parsing requirements for HTML. In other words, it will be treated as tag soup. Ensuring the use of an XML MIME type is the only way to ensure that browsers handle the document as XML.&lt;br /&gt;
&lt;br /&gt;
=== Should I close empty elements with &amp;lt;code&amp;gt;/&amp;amp;gt;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;? === &lt;br /&gt;
&lt;br /&gt;
Void elements in HTML (e.g. the &amp;lt;code&amp;gt;br&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;img&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; elements) do not require a trailing slash. e.g. Instead of writing &amp;lt;code&amp;gt;&amp;amp;lt;br /&amp;amp;gt;&amp;lt;/code&amp;gt;, you only need to write &amp;lt;code&amp;gt;&amp;amp;lt;br&amp;amp;gt;&amp;lt;/code&amp;gt;. This is the same as in HTML4. However, due to the widespread attempts to use XHTML1, there are a significant number of pages using the trailing slash. Because of this, the trailing slash syntax has been permitted on void elements in HTML in order to ease migration from XHTML1 back to HTML.&lt;br /&gt;
&lt;br /&gt;
The new HTML specification also introduces the ability to embed MathML elements. On elements inside a &amp;lt;code&amp;gt;math&amp;lt;/code&amp;gt; element the trailing slash works just like it does in XML. I.e. it closes the element. This is only inside that context however, it does not work for normal HTML elements.&lt;br /&gt;
&lt;br /&gt;
=== If I&amp;amp;#8217;m careful with the syntax I use in my HTML document, can I process it with an XML parser? === &lt;br /&gt;
&lt;br /&gt;
Yes. Find guidance in [[HTML_vs._XHTML#Differences_Between_HTML_and_XHTML|HTML vs. XHTML]] and [http://dev.w3.org/html5/html-xhtml-author-guide/html-xhtml-authoring-guide.html Polyglot Markup: HTML-Compatible XHTML Documents].&lt;br /&gt;
&lt;br /&gt;
A word of warning though. You have to be &#039;&#039;&#039;really&#039;&#039;&#039; careful for this to work, and it&#039;s almost certainly not worth it. You&#039;d be better off just using an HTML-to-XML parser. That way you can just use HTML normally while still using XML pipeline tools.&lt;br /&gt;
&lt;br /&gt;
=== What is the namespace declaration? === &lt;br /&gt;
&lt;br /&gt;
In XHTML, you are required to specify the [http://www.w3schools.com/xml/xml_namespaces.asp namespace.]&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
In HTML, the &amp;lt;code&amp;gt;xmlns&amp;lt;/code&amp;gt; attribute is currently allowed on any HTML element, but only if it has the value &amp;amp;#8220;&amp;lt;code&amp;gt;http://www.w3.org/1999/xhtml&amp;lt;/code&amp;gt;&amp;amp;#8220;. It doesn&amp;amp;#8217;t do anything at all, it is merely allowed to ease migration from XHTML1. It is not actually a namespace declaration in HTML, because HTML doesn&amp;amp;#8217;t yet support namespaces.  See the question [[FAQ#Will_there_be_support_for_namespaces_in_HTML.3F|will there be support for namespaces in HTML]].&lt;br /&gt;
&lt;br /&gt;
=== Will there be support for namespaces in HTML? === &lt;br /&gt;
&lt;br /&gt;
HTML is being defined in terms of the DOM and during parsing of a text/html all HTML elements will be automatically put in the HTML namespace, &amp;lt;code&amp;gt;http://www.w3.org/1999/xhtml&amp;lt;/code&amp;gt;. However, unlike the XHTML serialization, there is no real namespace syntax available in the HTML serialization (see previous question). In other words, you do not need to declare the namespace in your HTML markup, as you do in XHTML. However, you are permitted to put an &amp;lt;code&amp;gt;xmlns&amp;lt;/code&amp;gt; attribute on each HTML element as long as the namespace is &amp;lt;code&amp;gt;http://www.w3.org/1999/xhtml&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In addition, the HTML syntax provides for a way to embed elements from MathML and SVG. Elements placed inside the container element &amp;lt;code&amp;gt;math&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;svg&amp;lt;/code&amp;gt; will automatically be put in the MathML namespace or the SVG namespace, respectively, by the parser. Namespace syntax is not required, but again an &amp;lt;code&amp;gt;xmlns&amp;lt;/code&amp;gt; attribute is allowed if its value is the right namespace.&lt;br /&gt;
&lt;br /&gt;
In conclusion, while HTML does not allow the XML namespace syntax, there is a way to embed MathML and SVG and the xmlns attribute can be used on any element under the given constraints, in a way that is reasonably compatible on the DOM level.&lt;br /&gt;
&lt;br /&gt;
=== How do I specify the character encoding? === &lt;br /&gt;
&lt;br /&gt;
For HTML, it is strongly recommended that you specify the encoding using the HTTP &amp;lt;code&amp;gt;Content-Type&amp;lt;/code&amp;gt; header. If you are unable to [http://www.w3.org/International/O-HTTP-charset configure your server] to send the correct headers, then you may use the &amp;lt;code&amp;gt;meta&amp;lt;/code&amp;gt; element:&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following restrictions apply to character encoding declarations:&lt;br /&gt;
&lt;br /&gt;
* The character encoding name given must be the name of the character encoding used to serialize the file.&lt;br /&gt;
* The value must be a [http://www.iana.org/assignments/character-sets valid character encoding name], and must be the preferred name for that encoding.&lt;br /&gt;
* The character encoding declaration must be serialized without the use of character references or character escapes of any kind.&lt;br /&gt;
* The &amp;lt;code&amp;gt;meta&amp;lt;/code&amp;gt; element used for this purpose must occur within the first 512 bytes of the file.  It is considered good practice for this to be the first child of the &amp;lt;code&amp;gt;head&amp;lt;/code&amp;gt; element so that it is as close to the beginning of the file as possible.&lt;br /&gt;
&lt;br /&gt;
Note that this &amp;lt;code&amp;gt;meta&amp;lt;/code&amp;gt; element is different from HTML 4, though it is compatible with many browsers because of the way encoding detection has been implemented.&lt;br /&gt;
&lt;br /&gt;
For polyglot documents, which may be served as either HTML or XHTML, you may also include that in XHTML documents, but only if the encoding is &amp;quot;UTF-8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To ease transition from HTML4 to the latest HTML specification, although the former is the recommended syntax, you may also use the following. (This does not apply to XHTML or polyglot documents)&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=UTF-8&amp;quot;&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
In XHTML, XML rules for determining the character encoding apply.  The meta element is never used for determining the encoding of an XHTML document (although it may appear in UTF-8 encoded XHTML documents).  You should use either the HTTP &amp;lt;code&amp;gt;Content-Type&amp;lt;/code&amp;gt; header or the XML declaration to specify the encoding.&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;UTF-8&amp;amp;quot;?&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise, you must use the default of &amp;lt;code&amp;gt;UTF-8&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;UTF-16&amp;lt;/code&amp;gt;. It is recommended that you use &amp;lt;code&amp;gt;UTF-8&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== What are the differences between HTML and XHTML? === &lt;br /&gt;
&lt;br /&gt;
See the list of [[HTML vs. XHTML#Differences_Between_HTML_and_XHTML|differences between HTML and XHTML]] in the wiki.&lt;br /&gt;
&lt;br /&gt;
=== What are best practices to be compatible with HTML DOM and XHTML DOM? ===&lt;br /&gt;
&lt;br /&gt;
Though the intent is that HTML and XHTML can both produce identical DOMs, there still are some differences between working with an HTML DOM and an XHTML one.&lt;br /&gt;
&lt;br /&gt;
Case sensitivity :&lt;br /&gt;
* Whenever possible, avoid testing Element.tagName and Node.nodeName (or do toLowerCase() before testing).&lt;br /&gt;
Namespaces:&lt;br /&gt;
* Use the namespace-aware version for creating elements: Document.createElementNS(ns, elementName)&lt;br /&gt;
&lt;br /&gt;
=== Why does this new HTML spec legitimise tag soup? === &lt;br /&gt;
&lt;br /&gt;
Actually it doesn&amp;amp;#8217;t. This is a misconception that comes from the confusion between conformance requirements for documents, and the requirements for user agents.&lt;br /&gt;
&lt;br /&gt;
Due to the fundamental design principle of supporting existing content, the spec must define how to handle all HTML, regardless of whether documents are conforming or not. Therefore, the spec defines (or will define) precisely how to handle and recover from erroneous markup, much of which would be considered tag soup.&lt;br /&gt;
&lt;br /&gt;
For example, the spec defines algorithms for dealing with syntax errors such as incorrectly nested tags, which will ensure that a well structured DOM tree can be produced.&lt;br /&gt;
&lt;br /&gt;
Defining that is essential for one day achieving interoperability between browsers and reducing the dependence upon reverse engineering each other.&lt;br /&gt;
&lt;br /&gt;
However, the conformance requirements for authors are defined separately from the processing requirements. Just because browsers are required to handle erroneous content, it does not make such markup conforming.&lt;br /&gt;
&lt;br /&gt;
For example, user agents will be required to support the marquee element, but authors must not use the marquee element in conforming documents.&lt;br /&gt;
&lt;br /&gt;
It is important to make the distinction between the rules that apply to user agents and the rules that apply to authors for producing conforming documents. They are completely orthogonal.&lt;br /&gt;
&lt;br /&gt;
== HTML feature proposals ==&lt;br /&gt;
&lt;br /&gt;
=== HTML should support &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; on any element! === &lt;br /&gt;
&lt;br /&gt;
The spec allows &amp;amp;lt;a&amp;amp;gt; to contain blocks. It doesn&#039;t support putting href=&amp;quot;&amp;quot; on any element, though.&lt;br /&gt;
&lt;br /&gt;
Supporting &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; on any element has several problems associated with it that make it difficult to support in HTML. The main reason this isn&#039;t in HTML is that browser vendors have reported that implementing it would be extremely complex. Browser vendors get to decide what they implement, and there&#039;s no point to us telling them to do something they aren&#039;t going to do. In addition:&lt;br /&gt;
&lt;br /&gt;
* It isn&amp;amp;#8217;t backwards compatible with existing browsers.&lt;br /&gt;
* It adds no new functionality that can&amp;amp;#8217;t already be achieved using the &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; element and a little script.&lt;br /&gt;
* It doesn&amp;amp;#8217;t make sense for all elements, such as interactive elements like &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;button&amp;lt;/code&amp;gt;, where the use of href would interfere with their normal function.&lt;br /&gt;
&lt;br /&gt;
The only advantage it seems to add is that it reduces typing for authors in some cases, but that is not a strong enough reason to support it in light of the other reasons.&lt;br /&gt;
&lt;br /&gt;
Wrapping &amp;amp;lt;a&amp;amp;gt; elements around blocks solves most use cases. It doesn&#039;t handle making rows in tables into links, though; for those just do something like this instead:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;tr onclick=&amp;quot;location = this.getElementsByTagName(&#039;a&#039;)[0]&amp;quot;&amp;gt; ... &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== HTML should support list headers! ===&lt;br /&gt;
&lt;br /&gt;
You can give a header to a list using the &amp;lt;figure&amp;gt; and &amp;lt;figcaption&amp;gt; elements:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;figure&amp;gt;&lt;br /&gt;
  &amp;lt;figcaption&amp;gt;Apples&amp;lt;/figcaption&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Granny Smith&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Evil Apple of Knowledge&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Apple, Inc&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
 &amp;lt;/figure&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also label a group of lists using a definition list:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;dl&amp;gt;&lt;br /&gt;
  &amp;lt;dt&amp;gt;Dry:&amp;lt;/dt&amp;gt;&lt;br /&gt;
  &amp;lt;dd&amp;gt;&lt;br /&gt;
   &amp;lt;ul&amp;gt;  &lt;br /&gt;
    &amp;lt;li&amp;gt;1c flour&amp;lt;/li&amp;gt;  &lt;br /&gt;
    &amp;lt;li&amp;gt;1/4c sugar&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;1tsp baking soda&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/dd&amp;gt;&lt;br /&gt;
  &amp;lt;dt&amp;gt;Wet:&amp;lt;/dt&amp;gt;&lt;br /&gt;
  &amp;lt;dd&amp;gt;&lt;br /&gt;
   &amp;lt;ul&amp;gt;  &lt;br /&gt;
    &amp;lt;li&amp;gt;1 egg &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;1/2c milk&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;1tsp vanilla extract&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/dd&amp;gt;&lt;br /&gt;
 &amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These techniques are preferred over adding an &amp;lt;lh&amp;gt; element as proposed in the old HTML3 draft, mostly because of thorny issues with parsing near &amp;amp;lt;li&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
=== HTML should support a way for anyone to invent new elements! ===&lt;br /&gt;
&lt;br /&gt;
There are actually quite a number of ways for people to invent their own extensions to HTML:&lt;br /&gt;
&lt;br /&gt;
* Authors can use the &#039;&#039;class&#039;&#039; attribute to extend elements, effectively creating their own elements, while using the most applicable existing &amp;quot;real&amp;quot; HTML element, so that browsers and other tools that don&#039;t know of the extension can still support it somewhat well. This is the tack used by Microformats, for example.&lt;br /&gt;
* Authors can include data for scripts to process using the &#039;&#039;data-*=&amp;quot;&amp;quot;&#039;&#039; attributes. These are guaranteed to never be touched by browsers, and allow scripts to include data on HTML elements that scripts can then look for and process.&lt;br /&gt;
* Authors can use the &#039;&#039;&amp;lt;meta name=&amp;quot;&amp;quot; content=&amp;quot;&amp;quot;&amp;gt;&#039;&#039; mechanism to include page-wide metadata. Names should be registered on the wiki&#039;s [[MetaExtensions]] page.&lt;br /&gt;
* Authors can use the &#039;&#039;rel=&amp;quot;&amp;quot;&#039;&#039; mechanism to annotate links with specific meanings. This is also used by Microformats. Names should be registered on the wiki&#039;s [[RelExtensions]] page.&lt;br /&gt;
* Authors can embed raw data using the &#039;&#039;&amp;lt;script type=&amp;quot;&amp;quot;&amp;gt;&#039;&#039; mechanism with a custom type, for further handling by a script.&lt;br /&gt;
* Authors can create plugins and invoke them using the &#039;&#039;&amp;lt;embed&amp;gt;&#039;&#039; element. This is how Flash works.&lt;br /&gt;
* Authors can extend APIs using the JS prototyping mechanism. This is widely used by script libraries, for instance.&lt;br /&gt;
* Authors can use the microdata feature (the item=&amp;quot;&amp;quot; and itemprop=&amp;quot;&amp;quot; attributes) to embed nested name-value pairs of data to be shared with other applications and sites.&lt;br /&gt;
* Authors can propose new elements and attributes to the working group and, if the wider community agrees that they are worth the effort, they are added to the language. (If an addition is urgent, please let us know when proposing it, and we will try to address it quickly.)&lt;br /&gt;
&lt;br /&gt;
There is currently no mechanism for introducing new proprietary features in HTML documents (i.e. for introducing new elements and attributes) without discussing the extension with user agent vendors and the wider Web community. This is intentional; we don&#039;t want user agents inventing their own proprietary elements and attributes like in the &amp;quot;bad old days&amp;quot; without working with interested parties to make sure their feature is well designed.&lt;br /&gt;
&lt;br /&gt;
We request that people not invent new elements and attributes to add to HTML without first contacting the working group and getting a proposal discussed with interested parties.&lt;br /&gt;
&lt;br /&gt;
=== HTML should group &amp;amp;lt;dt&amp;gt;s and &amp;amp;lt;dd&amp;gt;s together in &amp;amp;lt;di&amp;gt;s! === &lt;br /&gt;
&lt;br /&gt;
This is a styling problem and should be fixed in CSS. There&#039;s no reason to add a grouping element to HTML, as the semantics are already unambiguous.&lt;br /&gt;
&lt;br /&gt;
There are multiple problems with adding something like &amp;amp;lt;di&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* It would require parsing changes. These are relatively expensive.&lt;br /&gt;
* It would have a poor backwards-compatibility story until the parsers were all updated.&lt;br /&gt;
* It would have a poor backwards-compatibility story with legacy code that handles &amp;amp;lt;dl&amp;gt;s, since they&#039;re not expecting &amp;amp;lt;di&amp;gt;s.&lt;br /&gt;
&lt;br /&gt;
The cost just doesn&#039;t seem worth it, given that a CSS solution would also solve a bunch of other problems (like styling implied sections).&lt;br /&gt;
&lt;br /&gt;
=== Why are some presentational elements like &amp;amp;lt;b&amp;gt;, &amp;amp;lt;i&amp;gt; and &amp;amp;lt;small&amp;gt; still included? ===&lt;br /&gt;
&lt;br /&gt;
The inclusion of these elements is a largely pragmatic decision based upon their widespread usage, and their usefulness for use cases which are not covered by more specific elements.&lt;br /&gt;
&lt;br /&gt;
While there are a number of common use cases for italics which are covered by more specific elements, such as emphasis (em), citations (cite), definitions (dfn) and variables (var), there are many other use cases which are not covered well by these elements.  For example, a taxonomic designation, a technical term, an idiomatic phrase from another language, a thought, or a ship name.&lt;br /&gt;
&lt;br /&gt;
Similarly, although a number of common use cases for bold text are also covered by more specific elements such as strong emphasis (strong), headings (h1-h6) or table headers (th); there are others which are not, such as key words in a document abstract or product names in a review.&lt;br /&gt;
&lt;br /&gt;
Some people argue that in such cases, the span element should be used with an appropriate class name and associated stylesheet.  However, the b and i elements provide for a reasonable fallback styling in environments that don&#039;t support stylesheets or which do not render visually, such as screen readers, and they also provide some indication that the text is somehow distinct from its surrounding content.&lt;br /&gt;
&lt;br /&gt;
In essence, they convey distinct, though non-specific, semantics, which are to be determined by the reader in the context of their use. In other words, although they don’t convey specific semantics by themselves, they indicate that that the content is somehow distinct from its surroundings and leaves the interpretation of the semantics up to the reader.&lt;br /&gt;
&lt;br /&gt;
This is further explained in the article &amp;lt;cite&amp;gt;[http://lachy.id.au/log/2007/05/b-and-i The &amp;amp;lt;b&amp;gt; and &amp;amp;lt;i&amp;gt; Elements]&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, the small element is defined for content that is commonly typographically rendered in small print, and which often referred to as fine print.  This could include copyright statements, disclaimers and other legal text commonly found at the end of a document.&lt;br /&gt;
&lt;br /&gt;
==== But they are PRESENTATIONAL! ====&lt;br /&gt;
&lt;br /&gt;
The problem with elements like &amp;amp;lt;font&amp;gt; isn&#039;t that they are &#039;&#039;presentational&#039;&#039; per se, it&#039;s that they are media-dependent (they apply to visual browsers but not to speech browsers). While &amp;amp;lt;b&amp;gt;, &amp;amp;lt;i&amp;gt; and &amp;amp;lt;small&amp;gt; historically have been presentational, they are defined in a media-independent manner in HTML5. For example, &amp;amp;lt;small&amp;gt; corresponds to the really quickly spoken part at the end of radio advertisements.&lt;br /&gt;
&lt;br /&gt;
=== The &amp;amp;lt;cite&amp;gt; element should allow names of people to be marked up ===&lt;br /&gt;
&lt;br /&gt;
From what some have seen, &amp;amp;lt;cite&amp;gt; is almost always used to mean &amp;quot;italics&amp;quot;. More careful authors have used the element to mark up names and titles, and some people have gone out of their way to only mark up citations.&lt;br /&gt;
&lt;br /&gt;
So, we can&#039;t really decide what the element should be based on past practice, like we usually do.&lt;br /&gt;
&lt;br /&gt;
This leaves the question of what is the most useful use we can put the element to, if we keep it. The conclusion so far has been that the most useful use for &amp;amp;lt;cite&amp;gt; is as an element to allow typographic control over titles, since those are often made italics, and that semantic is roughly close to what it meant in previous versions, and happens to match at least one of the common uses for the element. Generally, however, names and titles aren&#039;t typeset the same way, so making the element apply to both would lead to confusing typography.&lt;br /&gt;
&lt;br /&gt;
There are already many ways of marking up names already (e.g. the [http://microformats.org/wiki/hcard hCard microformat], the microdata vCard vocabulary, &amp;amp;lt;span&amp;gt; and class names, etc), if you really need it.&lt;br /&gt;
&lt;br /&gt;
=== The &amp;amp;lt;time&amp;gt; element should allow vague times (&amp;quot;March&amp;quot;) and times from ancient history to be marked up ===&lt;br /&gt;
&lt;br /&gt;
This has been discussed a number of times. For an overview of the topic, please see these e-mails:&lt;br /&gt;
* http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-March/018888.html&lt;br /&gt;
* http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-August/021745.html&lt;br /&gt;
At this stage, as discussed in the second of those e-mails, the best way forward is to demonstrate that there are communities interested in solving this problem, by using existing techniques such as microdata to address it. If such a solution achieves a high adoption rate, that will substantially increase the strength of the proposals.&lt;br /&gt;
&lt;br /&gt;
(In the future, it is expected that the &amp;amp;lt;time&amp;gt; element will be extended to support years and years+months, but this is awaiting implementation experience with what is already specified.)&lt;br /&gt;
&lt;br /&gt;
=== &amp;amp;lt;input type=&amp;quot;text&amp;quot;&amp;gt; needs a minlength=&amp;quot;&amp;quot; attribute ===&lt;br /&gt;
&lt;br /&gt;
This has been discussed, but we are waiting for browsers to catch up with the many new form features before adding new ones like minlength=&amp;quot;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== WHATWG and the W3C HTML WG ==&lt;br /&gt;
&lt;br /&gt;
=== Are there plans to merge the groups? ===&lt;br /&gt;
&lt;br /&gt;
No. There are people who for a number of reasons are unable to join the W3C group, and there are others who are unable to join the WHATWG group. The editor is in both groups and takes all input into account — and there are far more places where input on HTML5 is sent than just these two mailing lists (e.g. blogs, www-html@w3.org, forums, direct mail, meetings, etc).&lt;br /&gt;
&lt;br /&gt;
=== Which group has authority in the event of a dispute? ===&lt;br /&gt;
&lt;br /&gt;
The editor takes feedback from everyone into account and does not look at the source of those arguments for technical arguments.&lt;br /&gt;
&lt;br /&gt;
The W3C HTML Working Group has an escalation process that in some cases results in a decision being made that differs from the editor&#039;s original decision on a topic. So far, whenever this has happened the WHATWG has gone along with the W3C&#039;s request; nothing of especially big importance has been changed in this manner so far (it&#039;s mostly been editorial issues or mostly minor technical issues). In general the WHATWG will ensure that the normative content of the specifications (the requirements on authors and implementors) remains the same so long as the W3C group doesn&#039;t demonstrate any serious lapses in judgement.&lt;br /&gt;
&lt;br /&gt;
=== What is the history of HTML? ===&lt;br /&gt;
&lt;br /&gt;
Here are some documents that detail the history of HTML:&lt;br /&gt;
* [http://esw.w3.org/topic/HTML/history HTML&#039;s timeline on the ESW wiki]&lt;br /&gt;
* [http://www.whatwg.org/specs/web-apps/current-work/multipage/introduction.html#history0 The history section in HTML5 itself]&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
=== Should I top-post or reply inline? ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please reply inline or make the reply self-contained, and trim extraneous quotes from previous e-mails in your replies.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basically, please remove anything after the last line you have written, so that people don&#039;t have to scroll down to find out what else you wrote, and make sure that your e-mail makes sense on its own, as it will probably be read out of context years later.&lt;br /&gt;
&lt;br /&gt;
That is, you should reply like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ian wrote:&lt;br /&gt;
&amp;gt; What do you want? &lt;br /&gt;
&lt;br /&gt;
I want cats!&lt;br /&gt;
&lt;br /&gt;
&amp;gt; When do you want it?&lt;br /&gt;
&lt;br /&gt;
Now!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should definitely not reply like this (because this requires people to read your e-mail backwards):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;error&amp;quot; &amp;gt;&lt;br /&gt;
No&lt;br /&gt;
&lt;br /&gt;
Ian wrote:&lt;br /&gt;
&amp;gt; Is this a good example of how to post e-mails?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should also not reply like this (because this leaves people to wonder if there is any text lower down that you have written):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;error&amp;quot; &amp;gt;&lt;br /&gt;
This is a bad way to write e-mail.&lt;br /&gt;
&lt;br /&gt;
Ian wrote:&lt;br /&gt;
&amp;gt; Is this a good way to write e-mail?&lt;br /&gt;
&amp;gt; Lorem ipsum foo bar baz.&lt;br /&gt;
&amp;gt; Unrelated other bits that aren&#039;t replied to.&lt;br /&gt;
&amp;gt; Yet more text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should also not reply like this (with no context at all), because the reader will not know what you are referring to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;error&amp;quot; &amp;gt;&lt;br /&gt;
No, I think that&#039;s a bad idea. It wouldn&#039;t be good for the readers, for instance.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quote enough original text or provide an introduction yourself.&lt;br /&gt;
&lt;br /&gt;
If you use Outlook or Outlook Express, you can use either [http://home.in.tum.de/~jain/software/outlook-quotefix/ Outlook-QuoteFix] or [http://home.in.tum.de/~jain/software/oe-quotefix/ OE-QuoteFix]. These plugins fix several of Outlook&#039;s problems with sending properly formatted emails.&lt;/div&gt;</summary>
		<author><name>RobS</name></author>
	</entry>
</feed>