티스토리 수익 글 보기
HTML5
A vocabulary and associated APIs for HTML and XHTML
W3C Recommendation 28 October 2014
- This Version:
- http://www.w3.org/TR/2014/REC-html5-20141028/
- Latest Published Version:
- http://www.w3.org/TR/html5/
- Latest Version of HTML:
- http://www.w3.org/TR/html/
- Latest Editor's Draft of HTML:
- http://www.w3.org/html/wg/drafts/html/master/
- Previous Version:
- http://www.w3.org/TR/2014/PR-html5-20140916/
- Previous Recommendation:
- http://www.w3.org/TR/1999/REC-html401-19991224/
- Editors:
- WHATWG:
- Ian Hickson, Google, Inc.
- W3C:
- Robin Berjon, W3C
- Steve Faulkner, The Paciello Group
- Travis Leithead, Microsoft Corporation
- Erika Doyle Navara, Microsoft Corporation
- Theresa O'Connor, Apple Inc.
- Silvia Pfeiffer
Please check the errata for any errors or issues reported since publication.
This specification is also available as a single page HTML document. See also translations.
Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C liability, trademark and document use rules apply.
Abstract
This specification defines the 5th major revision of the core language of the World Wide Web: the Hypertext Markup Language (HTML). In this version, new features are introduced to help Web application authors, new elements are introduced based on research into prevailing authoring practices, and special attention has been given to defining clear conformance criteria for user agents in an effort to improve interoperability.
Status of This document
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
The W3C HTML Working Group is the W3C working group responsible for this specification's progress. This specification is the 28 October 2014 Recommendation.
If you wish to make comments regarding this document in a manner that is tracked by the W3C, please submit them via our our public bug database (open bugs). If you cannot do this then you can also e-mail feedback to public-html@w3.org (subscribe, archives), and arrangements will be made to transpose the comments to our public bug database. All feedback is welcome.
A comprehensive test suite for this specification is maintained and kept up to date as part of the WebPlatform Tests project. Please see the Working Group's implementation report.
Work on evolutions of this specification proceeds at http://www.w3.org/TR/html/. The HTML5 Recommendation represents a milestone in the development of HTML but far from being the end of the road and improvements are already well under way. It is possible that future versions will no longer be published as a monolithic specification but rather as a set of smaller modules. Irrespective of whether that is the case or not, http://www.w3.org/TR/html/ will be maintained as the entry point to the entirety of HTML technology.
Work on extending this specification typically proceeds through extension specifications which should be consulted to see what new features are being reviewed.
The bulk of the text of this specification is also available in the WHATWG HTML Living Standard, under a license that permits reuse of the specification text.
This document has been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and is endorsed by the Director as a W3C Recommendation. It is a stable document and may be used as reference material or cited from another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its widespread deployment. This enhances the functionality and interoperability of the Web.
Work on this specification is also done at the WHATWG. The W3C HTML working group actively pursues convergence of the HTML specification with the WHATWG living standard, within the bounds of the W3C HTML working group charter. There are various ways to follow this work at the WHATWG:
- Commit-Watchers mailing list (complete source diffs): http://lists.whatwg.org/listinfo.cgi/commit-watchers-whatwg.org
- Annotated summary with unified diffs: http://html5.org/tools/web-apps-tracker
- Raw Subversion interface:
svn checkout http://svn.whatwg.org/webapps/
The following editorial changes were made since Proposed Recommendation:
- The manner in which updates to this specification will be published was clarified.
- The IANA registration for
application/xhtml+xmlwas accepted during PR, leading to a small update to the corresponding section. - "Decoder error" was mistakenly listed as a URL-related definition when it is in fact Encoding-related
- "Parsed URL" has been given a proper mapping to the URL specification
- Improved the informative summary for several elements. (Mostly pointers to tag omission and ARIA rules.)
- Updated a few references to documents that have seen new revisions (RFC4281, RFC2313, RFC3490, MPEG-DASH) and provided a more stable link to BECSS.
- Added a note about and made some modifications to the URL reference.
- A number of small styling tweaks were made and typos were fixed.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
This document is governed by the 14 October 2005 W3C Process Document.
Table of Contents
- 1 Introduction
- 2 Common infrastructure
- 2.1 Terminology
- 2.2 Conformance requirements
- 2.3 Case-sensitivity and string comparison
- 2.4 Common microsyntaxes
- 2.5 URLs
- 2.6 Fetching resources
- 2.7 Common DOM interfaces
- 2.8 Namespaces
- 3 Semantics, structure, and APIs of HTML documents
- 3.1 Documents
- 3.2 Elements
- 3.2.1 Semantics
- 3.2.2 Elements in the DOM
- 3.2.3 Element definitions
- 3.2.4 Content models
- 3.2.5 Global attributes
- 3.2.5.1 The
idattribute - 3.2.5.2 The
titleattribute - 3.2.5.3 The
langandxml:langattributes - 3.2.5.4 The
translateattribute - 3.2.5.5 The
xml:baseattribute (XML only) - 3.2.5.6 The
dirattribute - 3.2.5.7 The
classattribute - 3.2.5.8 The
styleattribute - 3.2.5.9 Embedding custom non-visible data with the
data-*attributes
- 3.2.5.1 The
- 3.2.6 Requirements relating to the bidirectional algorithm
- 3.2.7 WAI-ARIA
- 4 The elements of HTML
- 4.1 The root element
- 4.2 Document metadata
- 4.3 Sections
- 4.4 Grouping content
- 4.4.1 The
pelement - 4.4.2 The
hrelement - 4.4.3 The
preelement - 4.4.4 The
blockquoteelement - 4.4.5 The
olelement - 4.4.6 The
ulelement - 4.4.7 The
lielement - 4.4.8 The
dlelement - 4.4.9 The
dtelement - 4.4.10 The
ddelement - 4.4.11 The
figureelement - 4.4.12 The
figcaptionelement - 4.4.13 The
divelement - 4.4.14 The
mainelement
- 4.4.1 The
- 4.5 Text-level semantics
- 4.5.1 The
aelement - 4.5.2 The
emelement - 4.5.3 The
strongelement - 4.5.4 The
smallelement - 4.5.5 The
selement - 4.5.6 The
citeelement - 4.5.7 The
qelement - 4.5.8 The
dfnelement - 4.5.9 The
abbrelement - 4.5.10 The
dataelement - 4.5.11 The
timeelement - 4.5.12 The
codeelement - 4.5.13 The
varelement - 4.5.14 The
sampelement - 4.5.15 The
kbdelement - 4.5.16 The
subandsupelements - 4.5.17 The
ielement - 4.5.18 The
belement - 4.5.19 The
uelement - 4.5.20 The
markelement - 4.5.21 The
rubyelement - 4.5.22 The
rbelement - 4.5.23 The
rtelement - 4.5.24 The
rtcelement - 4.5.25 The
rpelement - 4.5.26 The
bdielement - 4.5.27 The
bdoelement - 4.5.28 The
spanelement - 4.5.29 The
brelement - 4.5.30 The
wbrelement - 4.5.31 Usage summary
- 4.5.1 The
- 4.6 Edits
- 4.7 Embedded content
- 4.7.1 The
imgelement- 4.7.1.1 Requirements for providing text to act as an alternative for images
- 4.7.1.1.1 Examples of scenarios where users benefit from text alternatives for images
- 4.7.1.1.2 General guidelines
- 4.7.1.1.3 A link or button containing nothing but an image
- 4.7.1.1.4 Graphical Representations: Charts, diagrams, graphs, maps, illustrations
- 4.7.1.1.5 Images of text
- 4.7.1.1.6 Images that include text
- 4.7.1.1.7 Images that enhance the themes or subject matter of the page content
- 4.7.1.1.8 A graphical representation of some of the surrounding text
- 4.7.1.1.9 A purely decorative image that doesn't add any information
- 4.7.1.1.10 Inline images
- 4.7.1.1.11 A group of images that form a single larger picture with no links
- 4.7.1.1.12 Image maps
- 4.7.1.1.13 A group of images that form a single larger picture with links
- 4.7.1.1.14 Images of Pictures
- 4.7.1.1.15 Webcam images
- 4.7.1.1.16 When a text alternative is not available at the time of publication
- 4.7.1.1.17 An image not intended for the user
- 4.7.1.1.18 Icon Images
- 4.7.1.1.19 Logos, insignia, flags, or emblems
- 4.7.1.1.20 CAPTCHA Images
- 4.7.1.1.21 Guidance for markup generators
- 4.7.1.1.22 Guidance for conformance checkers
- 4.7.1.1 Requirements for providing text to act as an alternative for images
- 4.7.2 The
iframeelement - 4.7.3 The
embedelement - 4.7.4 The
objectelement - 4.7.5 The
paramelement - 4.7.6 The
videoelement - 4.7.7 The
audioelement - 4.7.8 The
sourceelement - 4.7.9 The
trackelement - 4.7.10 Media elements
- 4.7.10.1 Error codes
- 4.7.10.2 Location of the media resource
- 4.7.10.3 MIME types
- 4.7.10.4 Network states
- 4.7.10.5 Loading the media resource
- 4.7.10.6 Offsets into the media resource
- 4.7.10.7 Ready states
- 4.7.10.8 Playing the media resource
- 4.7.10.9 Seeking
- 4.7.10.10 Media resources with multiple media tracks
- 4.7.10.11 Synchronising multiple media elements
- 4.7.10.12 Timed text tracks
- 4.7.10.13 User interface
- 4.7.10.14 Time ranges
- 4.7.10.15 Event definitions
- 4.7.10.16 Event summary
- 4.7.10.17 Security and privacy considerations
- 4.7.10.18 Best practices for authors using media elements
- 4.7.10.19 Best practices for implementors of media elements
- 4.7.11 The
mapelement - 4.7.12 The
areaelement - 4.7.13 Image maps
- 4.7.14 MathML
- 4.7.15 SVG
- 4.7.16 Dimension attributes
- 4.7.1 The
- 4.8 Links
- 4.8.1 Links created by
aandareaelements - 4.8.2 Following hyperlinks
- 4.8.3 Downloading resources
- 4.8.4 Link types
- 4.8.4.1 Link type "
alternate" - 4.8.4.2 Link type "
author" - 4.8.4.3 Link type "
bookmark" - 4.8.4.4 Link type "
help" - 4.8.4.5 Link type "
icon" - 4.8.4.6 Link type "
license" - 4.8.4.7 Link type "
nofollow" - 4.8.4.8 Link type "
noreferrer" - 4.8.4.9 Link type "
prefetch" - 4.8.4.10 Link type "
search" - 4.8.4.11 Link type "
stylesheet" - 4.8.4.12 Link type "
tag" - 4.8.4.13 Sequential link types
- 4.8.4.14 Other link types
- 4.8.4.1 Link type "
- 4.8.1 Links created by
- 4.9 Tabular data
- 4.9.1 The
tableelement - 4.9.2 The
captionelement - 4.9.3 The
colgroupelement - 4.9.4 The
colelement - 4.9.5 The
tbodyelement - 4.9.6 The
theadelement - 4.9.7 The
tfootelement - 4.9.8 The
trelement - 4.9.9 The
tdelement - 4.9.10 The
thelement - 4.9.11 Attributes common to
tdandthelements - 4.9.12 Processing model
- 4.9.1 The
- 4.10 Forms
- 4.10.1 Introduction
- 4.10.2 Categories
- 4.10.3 The
formelement - 4.10.4 The
labelelement - 4.10.5 The
inputelement- 4.10.5.1 States of the
typeattribute- 4.10.5.1.1 Hidden state (
type=hidden) - 4.10.5.1.2 Text (
type=text) state and Search state (type=search) - 4.10.5.1.3 Telephone state (
type=tel) - 4.10.5.1.4 URL state (
type=url) - 4.10.5.1.5 E-mail state (
type=email) - 4.10.5.1.6 Password state (
type=password) - 4.10.5.1.7 Date state (
type=date) - 4.10.5.1.8 Time state (
type=time) - 4.10.5.1.9 Number state (
type=number) - 4.10.5.1.10 Range state (
type=range) - 4.10.5.1.11 Color state (
type=color) - 4.10.5.1.12 Checkbox state (
type=checkbox) - 4.10.5.1.13 Radio Button state (
type=radio) - 4.10.5.1.14 File Upload state (
type=file) - 4.10.5.1.15 Submit Button state (
type=submit) - 4.10.5.1.16 Image Button state (
type=image) - 4.10.5.1.17 Reset Button state (
type=reset) - 4.10.5.1.18 Button state (
type=button)
- 4.10.5.1.1 Hidden state (
- 4.10.5.2 Implemention notes regarding localization of form controls
- 4.10.5.3 Common
inputelement attributes- 4.10.5.3.1 The
maxlengthandminlengthattributes - 4.10.5.3.2 The
sizeattribute - 4.10.5.3.3 The
readonlyattribute - 4.10.5.3.4 The
requiredattribute - 4.10.5.3.5 The
multipleattribute - 4.10.5.3.6 The
patternattribute - 4.10.5.3.7 The
minandmaxattributes - 4.10.5.3.8 The
stepattribute - 4.10.5.3.9 The
listattribute - 4.10.5.3.10 The
placeholderattribute
- 4.10.5.3.1 The
- 4.10.5.4 Common
inputelement APIs - 4.10.5.5 Common event behaviors
- 4.10.5.1 States of the
- 4.10.6 The
buttonelement - 4.10.7 The
selectelement - 4.10.8 The
datalistelement - 4.10.9 The
optgroupelement - 4.10.10 The
optionelement - 4.10.11 The
textareaelement - 4.10.12 The
keygenelement - 4.10.13 The
outputelement - 4.10.14 The
progresselement - 4.10.15 The
meterelement - 4.10.16 The
fieldsetelement - 4.10.17 The
legendelement - 4.10.18 Form control infrastructure
- 4.10.19 Attributes common to form controls
- 4.10.19.1 Naming form controls: the
nameattribute - 4.10.19.2 Submitting element directionality: the
dirnameattribute - 4.10.19.3 Limiting user input length: the
maxlengthattribute - 4.10.19.4 Setting minimum input length requirements: the
minlengthattribute - 4.10.19.5 Enabling and disabling form controls: the
disabledattribute - 4.10.19.6 Form submission
- 4.10.19.7 Autofocusing a form control: the
autofocusattribute - 4.10.19.8 Autofilling form controls: the
autocompleteattribute
- 4.10.19.1 Naming form controls: the
- 4.10.20 APIs for the text field selections
- 4.10.21 Constraints
- 4.10.22 Form submission
- 4.10.23 Resetting a form
- 4.11 Scripting
- 4.12 Common idioms without dedicated elements
- 4.13 Disabled elements
- 4.14 Matching HTML elements using selectors
- 5 Loading Web pages
- 5.1 Browsing contexts
- 5.2 The
Windowobject- 5.2.1 Security
- 5.2.2 APIs for creating and navigating browsing contexts by name
- 5.2.3 Accessing other browsing contexts
- 5.2.4 Named access on the
Windowobject - 5.2.5 Garbage collection and browsing contexts
- 5.2.6 Closing browsing contexts
- 5.2.7 Browser interface elements
- 5.2.8 The
WindowProxyobject
- 5.3 Origin
- 5.4 Sandboxing
- 5.5 Session history and navigation
- 5.6 Browsing the Web
- 5.6.1 Navigating across documents
- 5.6.2 Page load processing model for HTML files
- 5.6.3 Page load processing model for XML files
- 5.6.4 Page load processing model for text files
- 5.6.5 Page load processing model for
multipart/x-mixed-replaceresources - 5.6.6 Page load processing model for media
- 5.6.7 Page load processing model for content that uses plugins
- 5.6.8 Page load processing model for inline content that doesn't have a DOM
- 5.6.9 Navigating to a fragment identifier
- 5.6.10 History traversal
- 5.6.11 Unloading documents
- 5.6.12 Aborting a document load
- 5.7 Offline Web applications
- 5.7.1 Introduction
- 5.7.2 Application caches
- 5.7.3 The cache manifest syntax
- 5.7.4 Downloading or updating an application cache
- 5.7.5 The application cache selection algorithm
- 5.7.6 Changes to the networking model
- 5.7.7 Expiring application caches
- 5.7.8 Disk space
- 5.7.9 Application cache API
- 5.7.10 Browser state
- 6 Web application APIs
- 7 User interaction
- 8 The HTML syntax
- 8.1 Writing HTML documents
- 8.2 Parsing HTML documents
- 8.2.1 Overview of the parsing model
- 8.2.2 The input byte stream
- 8.2.3 Parse state
- 8.2.4 Tokenization
- 8.2.4.1 Data state
- 8.2.4.2 Character reference in data state
- 8.2.4.3 RCDATA state
- 8.2.4.4 Character reference in RCDATA state
- 8.2.4.5 RAWTEXT state
- 8.2.4.6 Script data state
- 8.2.4.7 PLAINTEXT state
- 8.2.4.8 Tag open state
- 8.2.4.9 End tag open state
- 8.2.4.10 Tag name state
- 8.2.4.11 RCDATA less-than sign state
- 8.2.4.12 RCDATA end tag open state
- 8.2.4.13 RCDATA end tag name state
- 8.2.4.14 RAWTEXT less-than sign state
- 8.2.4.15 RAWTEXT end tag open state
- 8.2.4.16 RAWTEXT end tag name state
- 8.2.4.17 Script data less-than sign state
- 8.2.4.18 Script data end tag open state
- 8.2.4.19 Script data end tag name state
- 8.2.4.20 Script data escape start state
- 8.2.4.21 Script data escape start dash state
- 8.2.4.22 Script data escaped state
- 8.2.4.23 Script data escaped dash state
- 8.2.4.24 Script data escaped dash dash state
- 8.2.4.25 Script data escaped less-than sign state
- 8.2.4.26 Script data escaped end tag open state
- 8.2.4.27 Script data escaped end tag name state
- 8.2.4.28 Script data double escape start state
- 8.2.4.29 Script data double escaped state
- 8.2.4.30 Script data double escaped dash state
- 8.2.4.31 Script data double escaped dash dash state
- 8.2.4.32 Script data double escaped less-than sign state
- 8.2.4.33 Script data double escape end state
- 8.2.4.34 Before attribute name state
- 8.2.4.35 Attribute name state
- 8.2.4.36 After attribute name state
- 8.2.4.37 Before attribute value state
- 8.2.4.38 Attribute value (double-quoted) state
- 8.2.4.39 Attribute value (single-quoted) state
- 8.2.4.40 Attribute value (unquoted) state
- 8.2.4.41 Character reference in attribute value state
- 8.2.4.42 After attribute value (quoted) state
- 8.2.4.43 Self-closing start tag state
- 8.2.4.44 Bogus comment state
- 8.2.4.45 Markup declaration open state
- 8.2.4.46 Comment start state
- 8.2.4.47 Comment start dash state
- 8.2.4.48 Comment state
- 8.2.4.49 Comment end dash state
- 8.2.4.50 Comment end state
- 8.2.4.51 Comment end bang state
- 8.2.4.52 DOCTYPE state
- 8.2.4.53 Before DOCTYPE name state
- 8.2.4.54 DOCTYPE name state
- 8.2.4.55 After DOCTYPE name state
- 8.2.4.56 After DOCTYPE public keyword state
- 8.2.4.57 Before DOCTYPE public identifier state
- 8.2.4.58 DOCTYPE public identifier (double-quoted) state
- 8.2.4.59 DOCTYPE public identifier (single-quoted) state
- 8.2.4.60 After DOCTYPE public identifier state
- 8.2.4.61 Between DOCTYPE public and system identifiers state
- 8.2.4.62 After DOCTYPE system keyword state
- 8.2.4.63 Before DOCTYPE system identifier state
- 8.2.4.64 DOCTYPE system identifier (double-quoted) state
- 8.2.4.65 DOCTYPE system identifier (single-quoted) state
- 8.2.4.66 After DOCTYPE system identifier state
- 8.2.4.67 Bogus DOCTYPE state
- 8.2.4.68 CDATA section state
- 8.2.4.69 Tokenizing character references
- 8.2.5 Tree construction
- 8.2.5.1 Creating and inserting nodes
- 8.2.5.2 Parsing elements that contain only text
- 8.2.5.3 Closing elements that have implied end tags
- 8.2.5.4 The rules for parsing tokens in HTML content
- 8.2.5.4.1 The "initial" insertion mode
- 8.2.5.4.2 The "before html" insertion mode
- 8.2.5.4.3 The "before head" insertion mode
- 8.2.5.4.4 The "in head" insertion mode
- 8.2.5.4.5 The "in head noscript" insertion mode
- 8.2.5.4.6 The "after head" insertion mode
- 8.2.5.4.7 The "in body" insertion mode
- 8.2.5.4.8 The "text" insertion mode
- 8.2.5.4.9 The "in table" insertion mode
- 8.2.5.4.10 The "in table text" insertion mode
- 8.2.5.4.11 The "in caption" insertion mode
- 8.2.5.4.12 The "in column group" insertion mode
- 8.2.5.4.13 The "in table body" insertion mode
- 8.2.5.4.14 The "in row" insertion mode
- 8.2.5.4.15 The "in cell" insertion mode
- 8.2.5.4.16 The "in select" insertion mode
- 8.2.5.4.17 The "in select in table" insertion mode
- 8.2.5.4.18 The "in template" insertion mode
- 8.2.5.4.19 The "after body" insertion mode
- 8.2.5.4.20 The "in frameset" insertion mode
- 8.2.5.4.21 The "after frameset" insertion mode
- 8.2.5.4.22 The "after after body" insertion mode
- 8.2.5.4.23 The "after after frameset" insertion mode
- 8.2.5.5 The rules for parsing tokens in foreign content
- 8.2.6 The end
- 8.2.7 Coercing an HTML DOM into an infoset
- 8.2.8 An introduction to error handling and strange cases in the parser
- 8.3 Serializing HTML fragments
- 8.4 Parsing HTML fragments
- 8.5 Named character references
- 9 The XHTML syntax
- 10 Rendering
- 10.1 Introduction
- 10.2 The CSS user agent style sheet and presentational hints
- 10.3 Non-replaced elements
- 10.4 Replaced elements
- 10.5 Bindings
- 10.5.1 Introduction
- 10.5.2 The
buttonelement - 10.5.3 The
inputelement as a text entry widget - 10.5.4 The
inputelement as domain-specific widgets - 10.5.5 The
inputelement as a range control - 10.5.6 The
inputelement as a color well - 10.5.7 The
inputelement as a checkbox and radio button widgets - 10.5.8 The
inputelement as a file upload control - 10.5.9 The
inputelement as a button - 10.5.10 The
marqueeelement - 10.5.11 The
meterelement - 10.5.12 The
progresselement - 10.5.13 The
selectelement - 10.5.14 The
textareaelement - 10.5.15 The
keygenelement
- 10.6 Frames and framesets
- 10.7 Interactive media
- 10.8 Print media
- 10.9 Unstyled XML documents
- 11 Obsolete features
- 12 IANA considerations
- Index
- References
- Acknowledgments