Content deleted Content added
→External links: WP:ELDEAD - ___domain is for sale |
Fixed formatting as per Manual of Style |
||
Line 54:
=== HTML version timeline ===
==== HTML 2 ====
:; November 24, 1995: HTML 2.0 was published as {{IETF RFC|1866}}. Supplemental [[Request for Comments|
::* November 25, 1995: {{IETF RFC|1867}} (form-based file upload)
::* May 1996: {{IETF RFC|1942}} (tables)
Line 62:
==== HTML 3 ====
:; January 14, 1997: HTML 3.2<ref>{{cite web|url=https://www.w3.org/TR/REC-html32|title=HTML 3.2 Reference Specification |publisher=World Wide Web Consortium |date=January 14, 1997|access-date=November 16, 2008}}</ref> was published as a [[W3C Recommendation]]. It was the first version developed and standardized exclusively by the W3C, as the IETF had closed its HTML Working Group on September 12, 1996.<ref>{{cite web|url=https://www.w3.org/MarkUp/HTML-WG/|title=IETF HTML WG|access-date=June 16, 2007 |quote=Note: This working group is closed}}</ref>
:: Initially code-named "Wilbur",<ref name="engelfriet" /> HTML 3.2 dropped math formulas entirely, reconciled overlap among various proprietary extensions and adopted most of [[Netscape]]'s visual markup tags. Netscape's [[blink element]] and [[Microsoft]]'s [[marquee element]] were omitted due to a mutual agreement between the two companies.<ref name="raggett" /> A markup for mathematical formulas similar to that of HTML was standardized 14 months later in [[MathML]].
==== HTML 4 ====
Line 84:
; October 1991 : ''HTML Tags'',<ref name="tagshtml" /> an informal CERN document listing 18 HTML tags, was first mentioned in public.
; June 1992 : First informal draft of the HTML DTD,<ref>{{cite web|last=Connolly|first=Daniel|title=MIME as a hypertext architecture |url=http://lists.w3.org/Archives/Public/www-talk/1992MayJun/0020.html|publisher=CERN|access-date=24 October 2010|author-link=Dan Connolly (computer scientist)|date=6 June 1992}}</ref> with seven subsequent revisions (July 15, August 6, August 18, November 17, November 19, November 20, November 22)<ref>{{cite web|last=Connolly|first=Daniel|title=HTML DTD enclosed|url=http://lists.w3.org/Archives/Public/www-talk/1992JulAug/0020.html|publisher=CERN|access-date=24 October 2010|author-link=Dan Connolly (computer scientist)|date=15 July 1992}}</ref><ref>{{cite web|last=Connolly|first=Daniel|title=document type declaration subset for Hyper Text Markup Language as defined by the World Wide Web project|url=http://lost-contact.mit.edu/afs/cern.ch/w3.org/www/Frame/fminit2.0/html.dtd|publisher=CERN|access-date=24 October 2010|author-link=Dan Connolly (computer scientist)|date=18 August 1992|archive-date=14 March 2012|archive-url=https://web.archive.org/web/20120314055308/http://lost-contact.mit.edu/afs/cern.ch/w3.org/www/Frame/fminit2.0/html.dtd|url-status=dead}}</ref><ref name="html11">{{cite web|last=Connolly|first=Daniel|title=Document Type Definition for the Hyper Text Markup Language as used by the World Wide Web application|url=http://lost-contact.mit.edu/afs/cern.ch/w3.org/www/MarkUp/Connolly/921125/archive.sh#html.dtd|publisher=CERN|access-date=24 October 2010|author-link=Dan Connolly (computer scientist)|date=24 November 1992|archive-date=18 January 2012|archive-url=https://web.archive.org/web/20120118155040/http://lost-contact.mit.edu/afs/cern.ch/w3.org/www/MarkUp/Connolly/921125/archive.sh#html.dtd|url-status=dead}} See section "Revision History"</ref>
; November 1992 : HTML DTD 1.1 (the first with a version number, based on RCS revisions, which start with 1.1 rather than 1.0), an informal draft<ref name="html11" />
; June 1993 : Hypertext Markup Language<ref>{{cite web|last1=Berners-Lee|first1=Tim|title=Hyper Text Markup Language (HTML) Internet-Draft version 1.1|url=http://tools.ietf.org/html/draft-ietf-iiir-html-00|publisher=IETF IIIR Working Group|access-date=18 September 2010|author-link=Tim Berners-Lee|first2=Daniel|last2=Connolly|author-link2=Dan Connolly (computer scientist)|date=June 1993}}</ref> was published by the [[Internet Engineering Task Force|IETF]] IIIR Working Group as an Internet Draft (a rough proposal for a standard). It was replaced by a second version<ref name="ietfiiir">{{cite web|last1=Berners-Lee|first1=Tim|title=Hypertext Markup Language (HTML) Internet-Draft version 1.2|url=https://www.w3.org/MarkUp/draft-ietf-iiir-html-01.txt|publisher=IETF IIIR Working Group|access-date=18 September 2010|author-link=Tim Berners-Lee|first2=Daniel|last2=Connolly|author-link2=Dan Connolly (computer scientist)|date=June 1993}}</ref> one month later.
; November 1993: [https://www.w3.org/MarkUp/HTMLPlus/htmlplus_1.html HTML+] was published by the IETF as an Internet Draft and was a competing proposal to the Hypertext Markup Language draft. It expired in July 1994.<ref>{{Cite journal|url=https://datatracker.ietf.org/doc/draft-raggett-www-html/history/|title=History for draft-raggett-www-html-00|website=IETF Datatracker|access-date=2019-11-18|date=1993-11-08|last1=Raggett|first1=Dave}}</ref><!-- Forms and input tags introduced -->
; November 1994: First draft (revision 00) of HTML 2.0 published by IETF itself<ref>{{cite journal |last1=Berners-Lee|first1=Tim|title=HyperText Markup Language Specification – 2.0 INTERNET DRAFT|url=http://tools.ietf.org/html/draft-ietf-html-spec-00|website=Internet Engineering Task Force |access-date=24 October 2010|author-link=Tim Berners-Lee|first2=Daniel|last2=Connolly|author-link2=Dan Connolly (computer scientist)|date=28 November 1994}}</ref> (called as "HTML 2.0" from revision 02<ref>{{Cite journal|url=https://tools.ietf.org/html/draft-ietf-html-spec-02#section-1.1|title=Hypertext Markup Language
; April 1995 (authored March 1995) : HTML 3.0<ref>{{cite web|url=https://www.w3.org/MarkUp/html3/|title=HTML 3.0 Draft (Expired!) Materials|publisher=World Wide Web Consortium|date=December 21, 1995|access-date=November 16, 2008}}</ref> was proposed as a standard to the IETF, but the proposal expired five months later (28 September 1995)<ref name=html30cover /> without further action. It included many of the capabilities that were in Raggett's HTML+ proposal, such as support for tables, text flow around figures, and the display of complex mathematical formulas.<ref name=html30cover>{{cite web|url=https://www.w3.org/MarkUp/html3/CoverPage|title=HyperText Markup Language Specification Version 3.0|access-date=June 16, 2007}}</ref>
; : W3C began development of its own [[Arena (web browser)|Arena browser]] as a [[test bed]] for HTML 3 and Cascading Style Sheets,<ref>{{cite web|url=https://www.w3.org/People/Raggett/html3/html3.txt|title=HyperText Markup Language Specification Version 3.0|last=Raggett|first=Dave|date=28 March 1995|website=HTML 3.0 Internet Draft Expires in six months|publisher=[[World Wide Web Consortium]]|access-date=17 June 2010}}</ref><ref>{{cite book |last1=Bowers |first1=N. |chapter=Weblint: just another perl hack |chapter-url=https://www.usenix.org/publications/library/proceedings/usenix98/freenix/bowers.pdf |title=1998 USENIX Annual Technical Conference (USENIX ATC 98) |date=1998 }}</ref><ref>{{cite book|author-link=Håkon Wium Lie|first1=Håkon Wium|last1=Lie|last2=Bos|first2=Bert|author-link2=Bert Bos|title=Cascading style sheets: designing for the Web|url=https://archive.org/details/cascadingstylesh00lieh|url-access=registration|access-date=9 June 2010|date=April 1997|publisher=Addison Wesley Longman|page=[https://archive.org/details/cascadingstylesh00lieh/page/263 263]|isbn=
[[File:HTML5-logo.svg|thumb|right|upright|alt=Official HTML5 logo|Logo of HTML5]]
; January 2008 : [[HTML5]] was published as a [[World Wide Web Consortium#Certification|Working Draft]] by the W3C.<ref>{{cite web |url=https://www.w3.org/TR/html5/|title=HTML5|publisher=World Wide Web Consortium|date=June 10, 2008|access-date=November 16, 2008}}</ref>
Line 111:
=== Transition of HTML publication to WHATWG ===
{{See also|HTML5#W3C and WHATWG conflict}}
On 28 May 2019, the W3C announced that WHATWG would be the sole publisher of the HTML and DOM standards.<ref name="W3C transfer blog">{{cite web|url=https://www.w3.org/blog/2019/05/w3c-and-whatwg-to-work-together-to-advance-the-open-web-platform/|title=W3C and WHATWG to Work Together to Advance the Open Web Platform|last1=Jaffe|first1=Jeff|date=28 May 2019|website=W3C Blog|archive-url=https://web.archive.org/web/20190529021122/https://www.w3.org/blog/2019/05/w3c-and-whatwg-to-work-together-to-advance-the-open-web-platform/|archive-date=29 May 2019|url-status=live|access-date=29 May 2019}}</ref><ref name="W3C transfer HTML">{{cite web|url=https://www.w3.org/html/|title=W3C and the WHATWG Signed an Agreement to Collaborate on a Single Version of HTML and DOM|date=28 May 2019|website=W3C|archive-url=https://web.archive.org/web/20190529012655/https://www.w3.org/html/|archive-date=29 May 2019|url-status=live|access-date=29 May 2019}}</ref><ref name="W3C transfer memo">{{cite web|url=https://www.w3.org/2019/04/WHATWG-W3C-MOU.html|title=Memorandum of Understanding Between W3C and WHATWG|date=28 May 2019|website=W3C|archive-url=https://web.archive.org/web/20190529012854/https://www.w3.org/2019/04/WHATWG-W3C-MOU.html|archive-date=29 May 2019|url-status=live|access-date=29 May 2019}}</ref><ref name="W3C transfer ZDNet">{{cite news |last1=Cimpanu |first1=Catalin |title=Browser vendors Win War with W3C over HTML and DOM standards |url=https://www.zdnet.com/article/browser-vendors-win-war-with-w3c-over-html-and-dom-standards/ |access-date=29 May 2019 |work=ZDNet |date=29 May 2019 |archive-url=https://web.archive.org/web/20190529021959/https://www.zdnet.com/article/browser-vendors-win-war-with-w3c-over-html-and-dom-standards/ |archive-date=29 May 2019}}</ref> The W3C and WHATWG had been publishing competing standards since 2012. While the W3C standard was identical to the WHATWG in 2007 the standards have since progressively diverged due to different design decisions.<ref name="W3C forks">{{cite web |title=W3C
|url=https://www.cnet.com/news/an-epitaph-for-the-web-standard-xhtml-2/
|title=An epitaph for the Web standard, XHTML 2
Line 154:
The start tag may also include the element's ''attributes'' within the tag. These indicate other information, such as identifiers for sections within the document, identifiers used to bind style information to the presentation of the document, and for some tags such as the {{code|lang=html|code=<img>}} used to embed images, the reference to the image resource in the format like this: {{code|lang=html|code=<img src="example.com/example.jpg">}}
Some elements, such as the [[line breaking character|line break]] {{code|lang=html|code=<br />}} do not permit ''any'' embedded content, either text or further tags. These require only a single empty tag (akin to a start tag) and do not use an end tag.
Many tags, particularly the closing end tag for the very commonly used paragraph element {{code|lang=html|code=<p>}}, are optional. An HTML browser or other agent can infer the closure for the end of an element from the context and the structural rules defined by the HTML standard. These rules are complex and not widely understood by most HTML authors.
The general form of an HTML element is therefore: {{code|lang=html|code=<tag attribute1="value1" attribute2="value2">''content''</tag>}}. Some HTML elements are defined as ''empty elements'' and take the form {{code|lang=html|code=<tag attribute1="value1" attribute2="value2">}}. Empty elements may enclose no content, for instance, the {{code|lang=html|code=<br />}} tag or the inline {{code|lang=html|code=<img>}} tag.
The name of an HTML element is the name used in the tags.
The end tag's name is preceded by a slash character, <code>/</code>, and that in empty elements the end tag is neither required nor allowed.
Line 199:
===== Line breaks =====
{{code|lang=html|code=<br />}}. The difference between {{code|lang=html|code=<br />}} and {{code|lang=html|code=<p>}} is that {{code|lang=html|code=<br />}} [[line breaking character|breaks a line]] without altering the semantic structure of the page, whereas {{code|lang=html|code=<p>}} sections the page into [[paragraph]]s. The element {{code|code=<br />|lang=html}} is an ''empty element'' in that, although it may have attributes, it can take no content and it may not have an end tag.
<syntaxhighlight lang="html"><p>This <br> is a paragraph <br> with <br> line breaks</p></syntaxhighlight>
Line 219:
; Structural markup indicates the purpose of text : For example, {{code|lang=html|code=<h2>Golf</h2>}} establishes "Golf" as a second-level [[HTML element#Basic text|heading]]. Structural markup does not denote any specific rendering, but most web browsers have default styles for element formatting. Content may be further styled using [[Cascading Style Sheets]] (CSS).<ref>{{cite web|title=CSS Introduction|url=https://www.w3schools.com/css/css_intro.asp|publisher=W3schools|access-date=16 March 2015}}</ref>
; Presentational markup indicates the appearance of the text, regardless of its purpose : For example, {{code|lang=html|code=<b>bold text</b>}} indicates that visual output devices should render "boldface" in bold text, but gives a little indication what devices that are unable to do this (such as aural devices that read the text aloud) should do. In the case of both {{code|lang=html|code=<b>bold text</b>}} and {{code|lang=html|code=<i>italic text</i>}}, there are other elements that may have equivalent visual renderings but that are more semantic in nature, such as {{code|lang=html|code=<strong>strong text</strong>}} and {{code|lang=html|code=<em>emphasized text</em>}} respectively. It is easier to see how an aural user agent should interpret the latter two elements. However, they are not equivalent to their presentational counterparts: it would be undesirable for a screen reader to emphasize the name of a book, for instance, but on a screen, such a name would be italicized. Most presentational markup elements have become [[Deprecation|deprecated]] under the HTML 4.0 specification in favor of using [[CSS]] for styling.
; Hypertext markup makes parts of a document into links to other documents : An anchor element creates a [[hyperlink]] in the document and its <code>href</code> attribute sets the link's target [[URL]]. For example, the HTML markup {{code|lang=html|code=<a href="https://en.wikipedia.org/">Wikipedia</a>}}, will render the word "<span class="plainlinks">[
==== Attributes ====
Line 257:
!Notes
|-
|{{Code|code=&
|{{Code|code=&
|{{Code|code=&
|{{Code|code=&}}
|[[Ampersand]]
Line 293:
|-
|{{Code|code= }}
|{{Code|code=&
|{{Code|code=&
|{{Code|code=}}
|[[Non-breaking space|Non-Breaking Space]]
Line 300:
|-
|{{Code|code=©}}
|{{Code|code=
|{{Code|code=
|{{Code|code=©}}
|[[Copyright symbol|Copyright]]
Line 307:
|-
|{{Code|code=®}}
|{{Code|code=
|{{Code|code=
|{{Code|code=®}}
|[[Registered trademark symbol|Registered Trademark]]
|
|-
|{{Code|code=
|{{Code|code=
|{{Code|code=
|{{Code|code=†}}
| [[Dagger (mark)|Dagger]]
|
|-
|{{Code|code=
|{{Code|code=
|{{Code|code=
|{{Code|code=‡}}
| [[Dagger (mark)|Double dagger]]
| Names are case sensitive
|-
|{{Code|code=
|{{Code|code=
|{{Code|code=
|{{Code|code=‡}}
| [[Dagger (mark)|Double dagger]]
Line 335:
|-
|{{Code|code=™}}
|{{Code|code=
|{{Code|code=
|{{Code|code=™}}
|[[Trademark symbol|Trademark]]
Line 342:
|}
=== Data types ===
HTML defines several [[data type]]s for element content, such as script data and stylesheet data, and a plethora of types for attribute values, including IDs, names, [[Uniform Resource Identifier|URIs]], numbers, units of length, languages, media descriptors, colors, character encodings, dates and times, and so on. All of these data types are specializations of character data.
=== Document type declaration ===
HTML documents are required to start with a [[Document type declaration]] (informally, a "doctype"). In browsers, the doctype helps to define the rendering mode—particularly whether to use [[quirks mode]].
Line 400:
=== HTML Application ===
{{Main|HTML Application}}
An HTML Application (HTA; file extension <kbd>.hta</kbd>) is a [[Microsoft Windows]] application that uses HTML and Dynamic HTML in a [[Web browser|browser]] to provide the application's graphical interface. A regular HTML file is confined to the security model of the [[Browser security|web browser's security]], communicating only to web servers and manipulating only web page objects and [[HTTP cookie|site cookies]]. An HTA runs as a fully trusted application and therefore has more privileges, like creation/editing/removal of files and [[Windows Registry]] entries. Because they operate outside the browser's security model, HTAs cannot be executed via HTTP, but must be downloaded (just like an [[EXE
== HTML4 variations ==
Line 412:
Like HTML 4.01, XHTML 1.0 has three sub-specifications: strict, transitional, and frameset.
Aside from the different opening declarations for a document, the differences between an HTML 4.01 and XHTML 1.0 document—in each of the corresponding DTDs—are largely syntactic. The underlying syntax of HTML allows many shortcuts that XHTML does not, such as elements with optional opening or closing tags, and even empty elements which must not have an end tag. By contrast, XHTML requires all elements to have an opening tag and a closing tag. XHTML, however, also introduces a new shortcut: an XHTML tag may be opened and closed within the same tag, by including a slash before the end of the tag like this: {{code|lang=html|code=<br />}}. The introduction of this shorthand, which is not used in the SGML declaration for HTML 4.01, may confuse earlier software unfamiliar with this new convention. A fix for this is to include a space before closing the tag, as such: {{code|lang=html|code=<br />}}.<ref>Freeman, E (2005). Head First HTML. O'Reilly.</ref>
To understand the subtle differences between HTML and XHTML, consider the transformation of a valid and well-formed XHTML 1.0 document that adheres to Appendix C (see below) into a valid HTML 4.01 document. Making this translation requires the following steps:
Line 420:
# If present, '''remove the XML declaration.''' (Typically this is: {{code|lang=xml|code=<?xml version="1.0" encoding="utf-8"?>}}).
# '''Ensure that the document's MIME type is set to <code>text/html</code>.''' For both HTML and XHTML, this comes from the HTTP <code>Content-Type</code> header sent by the server.
# '''Change the XML empty-element syntax to an HTML style empty element''' ({{code|lang=html|code=<br />}} to {{code|lang=html|code=<br />}}).
Those are the main changes necessary to translate a document from XHTML 1.0 to HTML 4.01. To translate from HTML to XHTML would also require the addition of any omitted opening or closing tags. Whether coding in HTML or XHTML it may just be best to always include the optional tags within an HTML document rather than remembering which tags can be omitted.
Line 430:
* Use the empty-element syntax only for elements specified as empty in HTML.
* Include an extra space in empty-element tags: for example {{code|lang=html|code=<br />}} instead of {{code|lang=html|code=<br />}}.
* Include explicit close tags for elements that permit content but are left empty (for example, {{code|lang=html|code=
* Omit the XML declaration.
Line 521:
== External links ==
{{
<!-- See discussion at [[Talk:HTML/
{{sister project links|d=Q8811|c=category:HTML|b=HyperText Markup Language|v=HTML|n=no|q=no|s=no|wikt=HTML|m=Help:HTML in wikitext|mw=HTML restriction|species=no}}
* [[WHATWG]]'s [https://html.spec.whatwg.org/multipage/ HTML Living Standard]
Line 539:
{{Portal bar|Computer programming}}
[[Category:HTML| ]]
[[Category:Computer-related introductions in 1990]]
|