最終更新:2013-03-09 (土) 13:36:06 (4065d)  

HTML5/仕様
Top / HTML5 / 仕様

http://www.w3.org/TR/html5/

目次

1 Introduction

  • 1.1 Background
  • 1.2 Audience
  • 1.3 Scope
  • 1.4 History
  • 1.5 Design notes
    • 1.5.1 Serializability of script execution
    • 1.5.2 Compliance with other specifications
  • 1.6 HTML vs XHTML
  • 1.7 Structure of this specification
    • 1.7.1 How to read this specification
    • 1.7.2 Typographic conventions
  • 1.8 Privacy concerns
  • 1.9 A quick introduction to HTML
    • 1.9.1 Writing secure applications with HTML
    • 1.9.2 Common pitfalls to avoid when using the scripting APIs
  • 1.10 Conformance requirements for authors
    • 1.10.1 Presentational markup
    • 1.10.2 Syntax errors
    • 1.10.3 Restrictions on content models and on attribute values
  • 1.11 Recommended reading

2 Common infrastructure

  • 2.1 Terminology
    • 2.1.1 Resources
    • 2.1.2 XML
    • 2.1.3 DOM trees
    • 2.1.4 Scripting
    • 2.1.5 Plugins
    • 2.1.6 Character encodings
  • 2.2 Conformance requirements
    • 2.2.1 Conformance classes
    • 2.2.2 Dependencies
    • 2.2.3 Extensibility
  • 2.3 Case-sensitivity and string comparison
  • 2.4 UTF-8
  • 2.5 Common microsyntaxes
    • 2.5.1 Common parser idioms
    • 2.5.2 Boolean attributes
    • 2.5.3 Keywords and enumerated attributes
    • 2.5.4 Numbers
      • 2.5.4.1 Signed integers
      • 2.5.4.2 Non-negative integers
      • 2.5.4.3 Floating-point numbers
      • 2.5.4.4 Percentages and lengths
      • 2.5.4.5 Lists of integers
      • 2.5.4.6 Lists of dimensions
    • 2.5.5 Dates and times
      • 2.5.5.1 Months
      • 2.5.5.2 Dates
      • 2.5.5.3 Yearless dates
      • 2.5.5.4 Times
      • 2.5.5.5 Local dates and times
      • 2.5.5.6 Time zones
      • 2.5.5.7 Global dates and times
      • 2.5.5.8 Weeks
      • 2.5.5.9 Durations
      • 2.5.5.10 Vaguer moments in time
    • 2.5.6 Colors
    • 2.5.7 Space-separated tokens
    • 2.5.8 Comma-separated tokens
    • 2.5.9 References
    • 2.5.10 Media queries
  • 2.6 URLs
    • 2.6.1 Terminology
    • 2.6.2 Parsing URLs
    • 2.6.3 Base URLs
    • 2.6.4 Resolving URLs
    • 2.6.5 URL manipulation and creation
    • 2.6.6 Dynamic changes to base URLs
    • 2.6.7 Interfaces for URL manipulation
  • 2.7 Fetching resources
    • 2.7.1 Terminology
    • 2.7.2 Processing model
    • 2.7.3 Encrypted HTTP and related security concerns
    • 2.7.4 Determining the type of a resource
    • 2.7.5 Extracting character encodings from meta? elements
    • 2.7.6 CORS settings attributes
    • 2.7.7 CORS-enabled fetch
  • 2.8 Common DOM interfaces
    • 2.8.1 Reflecting content attributes in IDL attributes
    • 2.8.2 Collections
      • 2.8.2.1 HTMLAllCollection?
      • 2.8.2.2 HTMLFormControlsCollection?
      • 2.8.2.3 HTMLOptionsCollection?
    • 2.8.3 DOMStringMap?
    • 2.8.4 Transferable objects
    • 2.8.5 Safe passing of structured data
    • 2.8.6 DOM feature strings
    • 2.8.7 Garbage collection
  • 2.9 Namespaces

3 Semantics, structure, and APIs of HTML documents

  • 3.1 Documents
    • 3.1.1 The Document object
    • 3.1.2 Security
    • 3.1.3 Resource metadata management
    • 3.1.4 DOM tree accessors
    • 3.1.5 Loading XML documents
  • 3.2 Elements
    • 3.2.1 Semantics
    • 3.2.2 Elements in the DOM
    • 3.2.3 Global attributes
      • 3.2.3.1 The id attribute
      • 3.2.3.2 The title? attribute
      • 3.2.3.3 The lang? and xml:lang? attributes
      • 3.2.3.4 The translate attribute
      • 3.2.3.5 The xml:base? attribute (XML only)
      • 3.2.3.6 The dir attribute
      • 3.2.3.7 The class attribute
      • 3.2.3.8 The style attribute
      • 3.2.3.9 Embedding custom non-visible data with the data-*? attributes
    • 3.2.4 Element definitions
      • 3.2.4.1 Attributes
    • 3.2.5 Content models
      • 3.2.5.1 Kinds of content
      • 3.2.5.1.1 Metadata content
      • 3.2.5.1.2 Flow content
      • 3.2.5.1.3 Sectioning content
      • 3.2.5.1.4 Heading content
      • 3.2.5.1.5 Phrasing content
      • 3.2.5.1.6 Embedded content
      • 3.2.5.1.7 Interactive content
      • 3.2.5.1.8 Palpable content
      • 3.2.5.2 Transparent content models
      • 3.2.5.3 Paragraphs
    • 3.2.6 Requirements relating to bidirectional-algorithm formatting characters
    • 3.2.7 WAI-ARIA
      • 3.2.7.1 ARIA Role Attribute
      • 3.2.7.2 State and Property Attributes
      • 3.2.7.3 Strong Native Semantics
      • 3.2.7.4 Implicit ARIA Semantics
    • 3.3 Interactions with XPath and XSLT
    • 3.4 Dynamic markup insertion
      • 3.4.1 Opening the input stream
      • 3.4.2 Closing the input stream
      • 3.4.3 document.write()
      • 3.4.4 document.writeln?()

4 The elements of HTML

  • 4.1 The root element
    • 4.1.1 The html element
  • 4.2 Document metadata
    • 4.2.1 The head element
    • 4.2.2 The title? element
    • 4.2.3 The base element
    • 4.2.4 The link? element
    • 4.2.5 The meta? element
      • 4.2.5.1 Standard metadata names
      • 4.2.5.2 Other metadata names
      • 4.2.5.3 Pragma directives
      • 4.2.5.4 Other pragma directives
      • 4.2.5.5 Specifying the document's character encoding
    • 4.2.6 The style element
    • 4.2.7 Styling
  • 4.3 Scripting
    • 4.3.1 The script element
      • 4.3.1.1 Scripting languages
      • 4.3.1.2 Restrictions for contents of script elements
      • 4.3.1.3 Inline documentation for external scripts
      • 4.3.1.4 Interaction of script elements and XSLT
    • 4.3.2 The noscript element
  • 4.4 Sections
    • 4.4.1 The body? element
    • 4.4.2 The article? element
    • 4.4.3 The section? element
    • 4.4.4 The nav? element
    • 4.4.5 The aside? element
    • 4.4.6 The h1?, h2?, h3?, h4?, h5?, and h6? elements
    • 4.4.7 The hgroup? element
    • 4.4.8 The header? element
    • 4.4.9 The footer? element
    • 4.4.10 The address? element
    • 4.4.11 Headings and sections
      • 4.4.11.1 Creating an outline
    • 4.4.12 Usage summary
  • 4.5 Grouping content
    • 4.5.1 The p element
    • 4.5.2 The hr? element
    • 4.5.3 The pre element
    • 4.5.4 The blockquote? element
    • 4.5.5 The ol? element
    • 4.5.6 The ul? element
    • 4.5.7 The li element
    • 4.5.8 The dl? element
    • 4.5.9 The dt? element
    • 4.5.10 The dd element
    • 4.5.11 The figure? element
    • 4.5.12 The figcaption? element
    • 4.5.13 The div element
  • 4.6 Text-level semantics
    • 4.6.1 The a? element
    • 4.6.2 The em? element
    • 4.6.3 The strong element
    • 4.6.4 The small? element
    • 4.6.5 The s? element
    • 4.6.6 The cite? element
    • 4.6.7 The q? element
    • 4.6.8 The dfn? element
    • 4.6.9 The abbr? element
    • 4.6.10 The time element
    • 4.6.11 The code element
    • 4.6.12 The var element
    • 4.6.13 The samp? element
    • 4.6.14 The kbd element
    • 4.6.15 The sub and sup? elements
    • 4.6.16 The i? element
    • 4.6.17 The b element
    • 4.6.18 The u element
    • 4.6.19 The mark? element
    • 4.6.20 The ruby element
    • 4.6.21 The rt? element
    • 4.6.22 The rp? element
    • 4.6.23 The bdi? element
    • 4.6.24 The bdo? element
    • 4.6.25 The span? element
    • 4.6.26 The br? element
    • 4.6.27 The wbr element
    • 4.6.28 Usage summary
  • 4.7 Edits
    • 4.7.1 The ins? element
    • 4.7.2 The del? element
    • 4.7.3 Attributes common to ins? and del? elements
    • 4.7.4 Edits and paragraphs
    • 4.7.5 Edits and lists
    • 4.7.6 Edits and tables
  • 4.8 Embedded content
    • 4.8.1 The img? element
      • 4.8.1.1 Requirements for providing text to act as an alternative for images
      • 4.8.1.1.1 General guidelines
      • 4.8.1.1.2 A link or button containing nothing but the image
      • 4.8.1.1.3 A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations
      • 4.8.1.1.4 A short phrase or label with an alternative graphical representation: icons, logos
      • 4.8.1.1.5 Text that has been rendered to a graphic for typographical effect
      • 4.8.1.1.6 A graphical representation of some of the surrounding text
      • 4.8.1.1.7 A purely decorative image that doesn't add any information
      • 4.8.1.1.8 A group of images that form a single larger picture with no links
      • 4.8.1.1.9 A group of images that form a single larger picture with links
      • 4.8.1.1.10 A key part of the content
      • 4.8.1.1.11 An image not intended for the user
      • 4.8.1.1.12 Guidance for markup generators
      • 4.8.1.1.13 Guidance for conformance checkers
    • 4.8.2 The iframe element
    • 4.8.3 The embed? element
    • 4.8.4 The object element
    • 4.8.5 The param? element
    • 4.8.6 The video element
    • 4.8.7 The audio? element
    • 4.8.8 The source element
    • 4.8.9 The track? element
    • 4.8.10 Media elements
      • 4.8.10.1 Error codes
      • 4.8.10.2 Location of the media resource
      • 4.8.10.3 MIME types
      • 4.8.10.4 Network states
      • 4.8.10.5 Loading the media resource
      • 4.8.10.6 Offsets into the media resource
      • 4.8.10.7 Ready states
      • 4.8.10.8 Playing the media resource
      • 4.8.10.9 Seeking
      • 4.8.10.10 Media resources with multiple media tracks
      • 4.8.10.10.1 AudioTrackList? and VideoTrackList? objects
      • 4.8.10.10.2 Selecting specific audio and video tracks declaratively
      • 4.8.10.11 Synchronising multiple media elements
      • 4.8.10.11.1 Introduction
      • 4.8.10.11.2 Media controllers
      • 4.8.10.11.3 Assigning a media controller declaratively
      • 4.8.10.12 Timed text tracks
      • 4.8.10.12.1 Text track model
      • 4.8.10.12.2 Sourcing in-band text tracks
      • 4.8.10.12.3 Sourcing out-of-band text tracks
      • 4.8.10.12.4 Guidelines for exposing cues in various formats as text track cues
      • 4.8.10.12.5 Text track API
      • 4.8.10.12.6 Text tracks describing chapters
      • 4.8.10.12.7 Event definitions
      • 4.8.10.13 User interface
      • 4.8.10.14 Time ranges
      • 4.8.10.15 Event definitions
      • 4.8.10.16 Event summary
      • 4.8.10.17 Security and privacy considerations
      • 4.8.10.18 Best practices for authors using media elements
      • 4.8.10.19 Best practices for implementors of media elements
    • 4.8.11 The canvas element
      • 4.8.11.1 Color spaces and color correction
      • 4.8.11.2 Security with canvas elements
    • 4.8.12 The map element
    • 4.8.13 The area? element
    • 4.8.14 Image maps
      • 4.8.14.1 Authoring
      • 4.8.14.2 Processing model
    • 4.8.15 MathML
    • 4.8.16 SVG
    • 4.8.17 Dimension attributes
    • 4.9 Tabular data
    • 4.9.1 The table? element
      • 4.9.1.1 Techniques for describing tables
      • 4.9.1.2 Techniques for table layout
    • 4.9.2 The caption? element
    • 4.9.3 The colgroup? element
    • 4.9.4 The col element
    • 4.9.5 The tbody? element
    • 4.9.6 The thead? element
    • 4.9.7 The tfoot? element
    • 4.9.8 The tr element
    • 4.9.9 The td? element
    • 4.9.10 The th? element
    • 4.9.11 Attributes common to td? and th? elements
    • 4.9.12 Processing model
      • 4.9.12.1 Forming a table
      • 4.9.12.2 Forming relationships between data cells and header cells
    • 4.9.13 Examples
    • 4.10 Forms
    • 4.10.1 Introduction
      • 4.10.1.1 Writing a form's user interface
      • 4.10.1.2 Implementing the server-side processing for a form
      • 4.10.1.3 Configuring a form to communicate with a server
      • 4.10.1.4 Client-side form validation
      • 4.10.1.5 Date, time, and number formats
    • 4.10.2 Categories
    • 4.10.3 The form? element
    • 4.10.4 The fieldset? element
    • 4.10.5 The legend? element
    • 4.10.6 The label? element
    • 4.10.7 The input element
      • 4.10.7.1 States of the type attribute
      • 4.10.7.1.1 Hidden state (input type=hidden?)
      • 4.10.7.1.2 Text (input type=text?) state and Search state (input type=search?)
      • 4.10.7.1.3 Telephone state (input type=tel?)
      • 4.10.7.1.4 URL state (input type=url?)
      • 4.10.7.1.5 E-mail state (input type=email?)
      • 4.10.7.1.6 Password state (input type=password?)
      • 4.10.7.1.7 Date and Time state (input type=datetime?)
      • 4.10.7.1.8 Date state (input type=date?)
      • 4.10.7.1.9 Month state (input type=month?)
      • 4.10.7.1.10 Week state (input type=week?)
      • 4.10.7.1.11 Time state (input type=time?)
      • 4.10.7.1.12 Local Date and Time state (input type=datetime-local?)
      • 4.10.7.1.13 Number state (input type=number?)
      • 4.10.7.1.14 Range state (input type=range?)
      • 4.10.7.1.15 Color state (input type=color?)
      • 4.10.7.1.16 Checkbox state (input type=checkbox)
      • 4.10.7.1.17 Radio Button state (input type=radio)
      • 4.10.7.1.18 File Upload state (input type=file)
      • 4.10.7.1.19 Submit Button state (input type=submit)
      • 4.10.7.1.20 Image Button state (input type=image)
      • 4.10.7.1.21 Reset Button state (input type=reset?)
      • 4.10.7.1.22 Button state (input type=button?)
      • 4.10.7.2 Implemention notes regarding localization of form controls
      • 4.10.7.3 Common input element attributes
      • 4.10.7.3.1 The autocomplete attribute
      • 4.10.7.3.2 The dirname attribute
      • 4.10.7.3.3 The list? attribute
      • 4.10.7.3.4 The readonly attribute
      • 4.10.7.3.5 The size attribute
      • 4.10.7.3.6 The required attribute
      • 4.10.7.3.7 The multiple? attribute
      • 4.10.7.3.8 The maxlength? attribute
      • 4.10.7.3.9 The pattern? attribute
      • 4.10.7.3.10 The min? and max? attributes
      • 4.10.7.3.11 The step? attribute
      • 4.10.7.3.12 The placeholder? attribute
      • 4.10.7.4 Common input element APIs
      • 4.10.7.5 Common event behaviors
    • 4.10.8 The button? element
    • 4.10.9 The select element
    • 4.10.10 The datalist? element
    • 4.10.11 The optgroup element
    • 4.10.12 The option element
    • 4.10.13 The textarea? element
    • 4.10.14 The keygen? element
    • 4.10.15 The output? element
    • 4.10.16 The progress element
    • 4.10.17 The mete?r element
    • 4.10.18 Association of controls and forms
    • 4.10.19 Attributes common to form controls
      • 4.10.19.1 Naming form controls
      • 4.10.19.2 Enabling and disabling form controls
      • 4.10.19.3 A form control's value
      • 4.10.19.4 Autofocusing a form control
      • 4.10.19.5 Limiting user input length
      • 4.10.19.6 Form submission
      • 4.10.19.7 Submitting element directionality
    • 4.10.20 APIs for the text field selections
    • 4.10.21 Constraints
      • 4.10.21.1 Definitions
      • 4.10.21.2 Constraint validation
      • 4.10.21.3 The constraint validation API
      • 4.10.21.4 Security
    • 4.10.22 Form submission
      • 4.10.22.1 Introduction
      • 4.10.22.2 Implicit submission
      • 4.10.22.3 Form submission algorithm
      • 4.10.22.4 Constructing the form data set
      • 4.10.22.5 URL-encoded form data
      • 4.10.22.6 Multipart form data
      • 4.10.22.7 Plain text form data
    • 4.10.23 Resetting a form
    • 4.11 Interactive elements
    • 4.11.1 The details? element
    • 4.11.2 The summary? element
    • 4.11.3 The command element
    • 4.11.4 The menu? element
      • 4.11.4.1 Introduction
      • 4.11.4.2 Building menus and toolbars
      • 4.11.4.3 Context menus
      • 4.11.4.4 Toolbars
    • 4.11.5 Commands
      • 4.11.5.1 Using the a? element to define a command
      • 4.11.5.2 Using the button? element to define a command
      • 4.11.5.3 Using the input element to define a command
      • 4.11.5.4 Using the option element to define a command
      • 4.11.5.5 Using the command element to define a command
      • 4.11.5.6 Using the command attribute on command elements to define a command indirectly
      • 4.11.5.7 Using the accesskey? attribute on a label? element to define a command
      • 4.11.5.8 Using the accesskey? attribute on a legend? element to define a command
      • 4.11.5.9 Using the accesskey? attribute to define a command on other elements
    • 4.11.6 The dialog? element
      • 4.11.6.1 Anchor points
  • 4.12 Links
    • 4.12.1 Introduction
    • 4.12.2 Links created by a? and area? elements
    • 4.12.3 Following hyperlinks
    • 4.12.4 Downloading resources
    • 4.12.4.1 Hyperlink auditing
    • 4.12.5 Link types
      • 4.12.5.1 Link type "alternate?"
      • 4.12.5.2 Link type "author?"
      • 4.12.5.3 Link type "bookmark?"
      • 4.12.5.4 Link type "help?"
      • 4.12.5.5 Link type "icon?"
      • 4.12.5.6 Link type "license?"
      • 4.12.5.7 Link type "nofollow"
      • 4.12.5.8 Link type "noreferrer?"
      • 4.12.5.9 Link type "prefetch?"
      • 4.12.5.10 Link type "search?"
      • 4.12.5.11 Link type "stylesheet?"
      • 4.12.5.12 Link type "tag?"
      • 4.12.5.13 Sequential link types
      • 4.12.5.13.1 Link type "next"
      • 4.12.5.13.2 Link type "prev?"
      • 4.12.5.14 Other link types
  • 4.13 Common idioms without dedicated elements
    • 4.13.1 The main part of the content
    • 4.13.2 Bread crumb navigation
    • 4.13.3 Tag clouds
    • 4.13.4 Conversations
    • 4.13.5 Footnotes
  • 4.14 Matching HTML elements using selectors
    • 4.14.1 Case-sensitivity
    • 4.14.2 Pseudo-classes

5 Loading Web pages

  • 5.1 Browsing contexts
    • 5.1.1 Nested browsing contexts
      • 5.1.1.1 Navigating nested browsing contexts in the DOM
    • 5.1.2 Auxiliary browsing contexts
      • 5.1.2.1 Navigating auxiliary browsing contexts in the DOM
    • 5.1.3 Secondary browsing contexts
    • 5.1.4 Security
    • 5.1.5 Groupings of browsing contexts
    • 5.1.6 Browsing context names
  • 5.2 The Window object
    • 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 Window object
    • 5.2.5 Garbage collection and browsing contexts
    • 5.2.6 Closing browsing contexts
    • 5.2.7 Browser interface elements
    • 5.2.8 The WindowProxy? object
  • 5.3 Origin
    • 5.3.1 Relaxing the same-origin restriction
  • 5.4 Sandboxing
  • 5.5 Session history and navigation
    • 5.5.1 The session history of browsing contexts
    • 5.5.2 The History? interface
    • 5.5.3 The Location? interface
      • 5.5.3.1 Security
    • 5.5.4 Implementation notes for session history
  • 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-replace resources
    • 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.10.1 Event definitions
    • 5.6.11 Unloading documents
      • 5.6.11.1 Event definition
    • 5.6.12 Aborting a document load
  • 5.7 Offline Web applications
    • 5.7.1 Introduction
      • 5.7.1.1 Supporting offline caching for legacy applications
      • 5.7.1.2 Event summary
    • 5.7.2 Application caches
    • 5.7.3 The cache manifest syntax
      • 5.7.3.1 Some sample manifests
      • 5.7.3.2 Writing cache manifests
      • 5.7.3.3 Parsing cache manifests
    • 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

  • 6.1 Scripting
    • 6.1.1 Introduction
    • 6.1.2 Enabling and disabling scripting
    • 6.1.3 Processing model
      • 6.1.3.1 Definitions
      • 6.1.3.2 Calling scripts
      • 6.1.3.3 Creating scripts
      • 6.1.3.4 Killing scripts
      • 6.1.3.5 Runtime script errors
      • 6.1.3.5.1 Runtime script errors in documents
    • 6.1.4 Event loops
      • 6.1.4.1 Definitions
      • 6.1.4.2 Processing model
      • 6.1.4.3 Generic task sources
    • 6.1.5 The javascript:? URL scheme
    • 6.1.6 Events
      • 6.1.6.1 Event handlers
      • 6.1.6.2 Event handlers on elements, Document objects, and Window objects
      • 6.1.6.3 Event firing
      • 6.1.6.4 Events and the Window object
  • 6.2 Base64 utility methods
  • 6.3 Timers
  • 6.4 User prompts
    • 6.4.1 Simple dialogs
    • 6.4.2 Printing
    • 6.4.3 Dialogs implemented using separate documents
  • 6.5 System state and capabilities
    • 6.5.1 The Navigator object
      • 6.5.1.1 Client identification
      • 6.5.1.2 Custom scheme and content handlers
      • 6.5.1.3 Security and privacy
      • 6.5.1.4 Sample user interface
      • 6.5.1.5 Manually releasing the storage mutex
    • 6.5.2 The External? interface

7 User interaction

  • 7.1 The hidden? attribute
  • 7.2 Inert subtrees
  • 7.3 Activation
  • 7.4 Focus
    • 7.4.1 Sequential focus navigation and the tabindex attribute
    • 7.4.2 Focus management
    • 7.4.3 Document-level focus APIs
    • 7.4.4 Element-level focus APIs
  • 7.5 Assigning keyboard shortcuts
    • 7.5.1 Introduction
    • 7.5.2 The accesskey? attribute
    • 7.5.3 Processing model
  • 7.6 Editing
    • 7.6.1 Making document regions editable: The contenteditable? content attribute
    • 7.6.2 Making entire documents editable: The designMode? IDL attribute
    • 7.6.3 Best practices for in-page editors
    • 7.6.4 Editing APIs
    • 7.6.5 Spelling and grammar checking
  • 7.7 Drag and drop
    • 7.7.1 Introduction
    • 7.7.2 The drag data store
    • 7.7.3 The DataTransfer interface
      • 7.7.3.1 The DataTransferItemList? interface
      • 7.7.3.2 The DataTransferItem? interface
    • 7.7.4 The DragEvent? interface
    • 7.7.5 Drag-and-drop processing model
    • 7.7.6 Events summary
    • 7.7.7 The draggable attribute
    • 7.7.8 The dropzone? attribute
    • 7.7.9 Security risks in the drag-and-drop model

8 The HTML syntax

  • 8.1 Writing HTML documents
    • 8.1.1 The DOCTYPE
    • 8.1.2 Elements
      • 8.1.2.1 Start tags
      • 8.1.2.2 End tags
      • 8.1.2.3 Attributes
      • 8.1.2.4 Optional tags
      • 8.1.2.5 Restrictions on content models
      • 8.1.2.6 Restrictions on the contents of raw text and RCDATA elements
    • 8.1.3 Text
      • 8.1.3.1 Newlines
    • 8.1.4 Character references
    • 8.1.5 CDATA sections
    • 8.1.6 Comments
  • 8.2 Parsing HTML documents
    • 8.2.1 Overview of the parsing model
    • 8.2.2 The input byte stream
      • 8.2.2.1 Determining the character encoding
      • 8.2.2.2 Character encodings
      • 8.2.2.3 Changing the encoding while parsing
      • 8.2.2.4 Preprocessing the input stream
    • 8.2.3 Parse state
      • 8.2.3.1 The insertion mode
      • 8.2.3.2 The stack of open elements
      • 8.2.3.3 The list of active formatting elements
      • 8.2.3.4 The element pointers
      • 8.2.3.5 Other parsing state flags
    • 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 elements
      • 8.2.5.2 Closing elements that have implied end tags
      • 8.2.5.3 Foster parenting
      • 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 "after body" insertion mode
      • 8.2.5.4.19 The "in frameset" insertion mode
      • 8.2.5.4.20 The "after frameset" insertion mode
      • 8.2.5.4.21 The "after after body" insertion mode
      • 8.2.5.4.22 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.2.8.1 Misnested tags: <b><i></b></i>
    • 8.2.8.2 Misnested tags: <b><p></b></p>
    • 8.2.8.3 Unexpected markup in tables
    • 8.2.8.4 Scripts that modify the page as it is being parsed
    • 8.2.8.5 The execution of scripts that are moving across multiple documents
    • 8.2.8.6 Unclosed formatting elements
  • 8.3 Serializing HTML fragments
  • 8.4 Parsing HTML fragments
  • 8.5 Named character references

9 The XHTML syntax

  • 9.1 Writing XHTML documents
  • 9.2 Parsing XHTML documents
  • 9.3 Serializing XHTML fragments
  • 9.4 Parsing XHTML fragments

10 Rendering

  • 10.1 Introduction
  • 10.2 The CSS user agent style sheet and presentational hints
  • 10.3 Non-replaced elements
    • 10.3.1 Hidden elements
    • 10.3.2 The page
    • 10.3.3 Flow content
    • 10.3.4 Phrasing content
    • 10.3.5 Bidirectional text
    • 10.3.6 Quotes
    • 10.3.7 Sections and headings
    • 10.3.8 Lists
    • 10.3.9 Tables
    • 10.3.10 Form controls
    • 10.3.11 The hr? element
    • 10.3.12 The fieldset? element
  • 10.4 Replaced elements
    • 10.4.1 Embedded content
    • 10.4.2 Images
    • 10.4.3 Attributes for embedded content and images
    • 10.4.4 Image maps
    • 10.4.5 Toolbars
  • 10.5 Bindings
    • 10.5.1 Introduction
    • 10.5.2 The button? element
    • 10.5.3 The details? element
    • 10.5.4 The input element as a text entry widget
    • 10.5.5 The input element as domain-specific widgets
    • 10.5.6 The input element as a range control
    • 10.5.7 The input element as a color well
    • 10.5.8 The input element as a checkbox and radio button widgets
    • 10.5.9 The input element as a file upload control
    • 10.5.10 The input element as a button
    • 10.5.11 The marquee? element
    • 10.5.12 The meter? element
    • 10.5.13 The progress element
    • 10.5.14 The select element
    • 10.5.15 The textarea? element
    • 10.5.16 The keygen? element
  • 10.6 Frames and framesets
  • 10.7 Interactive media
    • 10.7.1 Links, forms, and navigation
    • 10.7.2 The title? attribute
    • 10.7.3 Editing hosts
    • 10.7.4 Text rendered in native user interfaces
  • 10.8 Print media
  • 10.9 Unstyled XML documents

11 Obsolete features

  • 11.1 Obsolete but conforming features
    • 11.1.1 Warnings for obsolete but conforming features
  • 11.2 Non-conforming features
  • 11.3 Requirements for implementations
    • 11.3.1 The applet? element
    • 11.3.2 The marquee? element
    • 11.3.3 Frames
  • 11.3.4 Other elements, attributes and APIs

12 IANA considerations

Index

  • Elements
  • Element content categories
  • Attributes
  • Element Interfaces
  • All Interfaces
  • Events

References

Acknowledgements