media-type
rule defined in section 3.7 'Media Types' of RFC 2616. In particular, a valid MIME type may include MIME type parameters. [HTTP]media-type
rule defined in section 3.7 'Media Types' of RFC 2616, but does not contain any U+003B SEMICOLON characters (;). In other words, if it consists only of a type and subtype, with no MIME Type parameters. [HTTP]text/html
and text/html-sandboxed
.@import
rules introduce critical subresources; other resources, e.g. fonts or backgrounds, are not.data:
URL refers to URLs that use the data:
scheme. [RFC2397]http://www.w3.org/1999/xhtml
namespace, at least for the purposes of the DOM and CSS. The term 'HTML elements', when used in this specification, refers to any element in that namespace, and thus refers to both HTML and XHTML elements.http://www.w3.org/1999/xhtml
namespace, and all attributes defined or mentioned in this specification have no namespace.Name
production defined in XML, they contain no U+003A COLON characters (:), and their first three characters are not an ASCII case-insensitive match for the string 'xml
'. [XML]text/xml
, application/xml
, and any MIME type whose subtype ends with the four characters '+xml
'. [RFC3023]Document
object is that Document
's first element child, if any. If it does not have one then the Document
has no root element.Document
object's root element, means the furthest ancestor element node of whatever node is being discussed, or the node itself if it has no ancestors. When the node is a part of the document, then the node's root element is indeed the document's root element; however, if the node is not currently part of the document tree, the root element will be an orphaned node.Document
object, it is said to be in a Document
. An element is said to have been inserted into a document when its root element changes and is now the document's root element. Analogously, an element is said to have been removed from a document when its root element changes from being the document's root element to being another element.Document
, its home subtree is that Document
's tree.Document
of a Node
(such as an element) is the Document
that the Node
's ownerDocument
IDL attribute returns. When a Node
is in a Document
then that Document
is always the Node
's Document
, and the Node
's ownerDocument
IDL attribute thus always returns that Document
.parentNode
/childNodes
relationship).Text
node, including CDATASection
nodes; specifically, any Node
with node type TEXT_NODE
(3) or CDATA_SECTION_NODE
(4). [DOMCORE]cloneNode()
and importNode()
methods of the Node
interface both clone nodes, as do a number of algorithms in this specification. Certain HTML elements (in particular, input
and script
) apply additional requirements on how they are cloned. [DOMCORE]Foo
object', where Foo
is actually an interface, is sometimes used instead of the more accurate 'an object implementing the interface Foo
'.Document
object, but that neither act as child browsing contexts of the Document
nor introduce any Node
objects to the Document
's DOM.text/plain
and application/octet-stream
as having a registered plugin.foobar
element', it would imply that documents are not allowed to contain elements named foobar
.script
element in an XML document, execute the script contained in that element. However, if the element is found within a transformation expressed in XSLT (assuming the user agent also supports XSLT), then the processor would instead treat the script
element as an opaque element that forms part of the transform.script
element in the example above would still implement the HTMLScriptElement
interface.blockquote
element is not a quote, conformance checkers running without the input of human judgement do not have to check that blockquote
elements only contain quoted material).address
element for arbitrary contact information; that element can only be used for marking up contact information for the author of the document or section. However, since an authoring tool is likely unable to determine the difference, an authoring tool is exempt from that requirement. This does not mean, though, that authoring tools can use address
elements for any block of italics text (for instance); it just means that the authoring tool doesn't have to verify that when the user uses a tool for inserting contact information for a section, that the user really is doing that and not inserting something else instead.div
, b
, i
, and span
and making liberal use of the style
attribute.Attr
interfaceCDATASection
interfaceComment
interfaceDOMImplementation
interfaceDocument
interfaceDocumentFragment
interfaceDocumentType
interfaceDOMException
interfaceElement
interfaceNode
interfaceNodeList
interfaceProcessingInstruction
interfaceText
interfacecreateDocument()
methodcreateElement()
methodcreateElementNS()
methodgetElementById()
methodinsertBefore()
methodownerDocument
attributechildNodes
attributelocalName
attributeparentNode
attributenamespaceURI
attributetagName
attributetextContent
attributeEvent
interfaceEventTarget
interfaceUIEvent
interfaceMouseEvent
interfaceclick
eventtarget
attributedouble
) is assigned an Infinity or Not-a-Number (NaN) value, a NOT_SUPPORTED_ERR
exception must be raised.double
) is passed an Infinity or Not-a-Number (NaN) value, a NOT_SUPPORTED_ERR
exception must be raised.DOMString
, or if an IDL attribute is assigned a new value of type DOMString
, the user agent must convert the DOMString
to a sequence of Unicode characters to obtain the string on which the algorithms in this specification are to operate. [WEBIDL]text/javascript
, since that is the most commonly used type, despite it being an officially obsoleted type according to RFC 4329. [RFC4329]rgb(0,0,0
' (with a missing close-parenthesis) for a color value, the close parenthesis is implied by this error handling rule, and a value is obtained (the color 'black'). However, the similar construct 'rgb(0,0,
' (with both a missing parenthesis and a missing 'blue' value) cannot be parsed, as closing the open construct does not result in a viable value.class
attribute to extend elements, effectively creating their own elements, while using the most applicable existing 'real' HTML element, so that browsers and other tools that don't know of the extension can still support it somewhat well. This is the tack used by Microformats, for example.data-*='
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.<meta name='>
mechanism to include page-wide metadata by registering extensions to the predefined set of metadata names.rel='
mechanism to annotate links with specific meanings by registering extensions to the predefined set of link types. This is also used by Microformats.<script type='>
mechanism with a custom type, for further handling by inline or server-side scripts.embed
element. This is how Flash works.x-vendor-feature
', where vendor is a short string that identifies the vendor responsible for the extension, and feature is the name of the feature. New element names should not be created. Using attributes for such extensions exclusively allows extensions from multiple vendors to co-exist on the same element, which would not be possible with elements. Using the 'x-vendor-feature
' form allows extensions to be made without risk of conflicting with future additions to the specification.x-
' are reserved for user agent use and are guaranteed to never be formally added to the HTML language. For flexibility, attributes names containing underscores (the U+005F LOW LINE character) are also reserved for experimental purposes and are guaranteed to never be formally added to the HTML language.pleasold
' and thus name the event 'pleasoldgoingup
', possibly with an event handler attribute named 'onpleasoldgoingup
'.fooTypeTime
' to a control's DOM interface that returned the time it took the user to select the current value of a control (say). On the other hand, defining a new control that appears in a form's elements
array would be in violation of the above requirement, as it would violate the definition of elements
given in this specification.x-vendor-feature
', the IDL attribute should be named 'vendorFeature
' (i.e. the 'x
' is dropped from the IDL attribute's name).