1. 16 Obsolete features
    1. 16.1 Obsolete but conforming features
      1. 16.1.1 Warnings for obsolete but conforming features
    2. 16.2 Non-conforming features
    3. 16.3 Requirements for implementations
      1. 16.3.1 The marquee element
      2. 16.3.2 Frames
      3. 16.3.3 Other elements, attributes and APIs

    16 Obsolete features

    16.1 Obsolete but conforming features

    Features listed in this section will trigger warnings in conformance checkers.

    Authors should not specify a border attribute on an img element. If the attribute is present, its value must be the string "0". CSS should be used instead.

    Authors should not specify a charset attribute on a script element. If the attribute is present, its value must be an ASCII case-insensitive match for "utf-8". (This has no effect in a document that conforms to the requirements elsewhere in this standard of being encoded as UTF-8.)

    Authors should not specify a language attribute on a script element. If the attribute is present, its value must be an ASCII case-insensitive match for the string "JavaScript" and either the type attribute must be omitted or its value must be an ASCII case-insensitive match for the string "text/javascript". The attribute should be entirely omitted instead (with the value "JavaScript", it has no effect), or replaced with use of the type attribute.

    Authors should not specify a value for the type attribute on script elements that is the empty string or a JavaScript MIME type essence match. Instead, they should omit the attribute, which has the same effect.

    Authors should not specify a type attribute on a style element. If the attribute is present, its value must be an ASCII case-insensitive match for "text/css".

    Authors should not specify the name attribute on a elements. If the attribute is present, its value must not be the empty string and must neither be equal to the value of any of the IDs in the element's ID, if any, nor be equal to the value of any of the other name attributes on a elements in the element's tree. If this attribute is present and the element has an ID, then the attribute's value must be equal to the element's ID. In earlier versions of the language, this attribute was intended as a way to specify possible targets for URLs. The id attribute should be used instead.

    Authors should not, but may despite requirements to the contrary elsewhere in this specification, specify the maxlength and size attributes on input elements whose type attributes are in the Number state. One valid reason for using these attributes regardless is to help legacy user agents that do not support input elements with type="number" to still render the text control with a useful width.

    16.1.1 Warnings for obsolete but conforming features

    To ease the transition from HTML4 Transitional documents to the language defined in this specification, and to discourage certain features that are only allowed in very few circumstances, conformance checkers must warn the user when the following features are used in a document. These are generally old obsolete features that have no effect, and are allowed only to distinguish between likely mistakes (regular conformance errors) and mere vestigial markup or unusual and discouraged practices (these warnings).

    The following features must be categorized as described above:

    Conformance checkers must distinguish between pages that have no conformance errors and have none of these obsolete features, and pages that have no conformance errors but do have some of these obsolete features.

    For example, a validator could report some pages as "Valid HTML" and others as "Valid HTML with warnings".

    16.2 Non-conforming features

    Elements in the following list are entirely obsolete, and must not be used by authors:

    applet

    Use embed or object instead.

    acronym

    Use abbr instead.

    bgsound

    Use audio instead.

    dir

    Use ul instead.

    frame
    frameset
    noframes

    Either use iframe and CSS instead, or use server-side includes to generate complete pages with the various invariant parts merged in.

    isindex

    Use an explicit form and text control combination instead.

    keygen

    For enterprise device management use cases, use native on-device management capabilities.

    For certificate enrollment use cases, use the Web Cryptography API to generate a keypair for the certificate, and then export the certificate and key to allow the user to install them manually. [WEBCRYPTO]

    listing

    Use pre and code instead.

    menuitem

    To implement a custom context menu, use script to handle the contextmenu event.

    nextid

    Use GUIDs instead.

    noembed

    Use object instead of embed when fallback is necessary.

    param

    Use the data attribute of the object element to set the URL of the external resource.

    plaintext

    Use the "MIME type instead.

    rb
    rtc

    Providing the ruby base directly inside the ruby element or using nested ruby elements is sufficient.

    strike

    Use del instead if the element is marking an edit, otherwise use s instead.

    xmp

    Use pre and code instead, and escape "<" and "&" characters as "&lt;" and "&amp;" respectively.

    basefont
    big
    blink
    center
    font
    marquee
    multicol
    nobr
    spacer
    tt

    Use appropriate elements or CSS instead.

    Where the tt element would have been used for marking up keyboard input, consider the kbd element; for variables, consider the var element; for computer code, consider the code element; and for computer output, consider the samp element.

    Similarly, if the big element is being used to denote a heading, consider using the h1 element; if it is being used for marking up important passages, consider the strong element; and if it is being used for highlighting text for reference purposes, consider the mark element.

    See also the text-level semantics usage summary for more suggestions with examples.


    The following attributes are obsolete (though the elements are still part of the language), and must not be used by authors:

    charset on a elements
    charset on link elements

    Use an HTTP `Content-Type` header on the linked resource instead.

    charset on script elements (except as noted in the previous section)

    Omit the attribute. Both documents and scripts are required to use UTF-8, so it is redundant to specify it on the script element since it inherits from the document.

    coords on a elements
    shape on a elements

    Use area instead of a for image maps.

    methods on a elements
    methods on link elements

    Use the HTTP OPTIONS feature instead.

    name on a elements (except as noted in the previous section)
    name on embed elements
    name on img elements
    name on option elements

    Use the id attribute instead.

    rev on a elements
    rev on link elements

    Use the rel attribute instead, with an opposite term. (For example, instead of rev="made", use rel="author".)

    urn on a elements
    urn on link elements

    Specify the preferred persistent identifier using the href attribute instead.

    accept on form elements

    Use the accept attribute directly on the input elements instead.

    hreflang on area elements
    type on area elements

    These attributes do not do anything useful, and for historical reasons there are no corresponding IDL attributes on area elements. Omit them altogether.

    nohref on area elements

    Omitting the href attribute is sufficient; the nohref attribute is unnecessary. Omit it altogether.

    profile on head elements

    Unnecessary. Omit it altogether.

    manifest on html elements

    Use service workers instead. [SW]

    version on html elements

    Unnecessary. Omit it altogether.

    ismap on input elements

    Unnecessary. Omit it altogether. All input elements with a type attribute in the Image Button state are processed as server-side image maps.

    usemap on input elements
    usemap on object elements

    Use the img element for image maps.

    longdesc on iframe elements
    longdesc on img elements

    Use a regular a element to link to the description, or (in the case of images) use an image map to provide a link from the image to the image's description.

    lowsrc on img elements

    Use a progressive JPEG image (given in the src attribute), instead of using two separate images.

    target on link elements

    Unnecessary. Omit it altogether.

    type on menu elements

    To implement a custom context menu, use script to handle the contextmenu event. For toolbar menus, omit the attribute.

    label on menu elements
    contextmenu on all elements
    onshow on all elements

    To implement a custom context menu, use script to handle the contextmenu event.

    scheme on meta elements

    Use only one scheme per field, or make the scheme declaration part of the value.

    archive on object elements
    classid on object elements
    code on object elements
    codebase on object elements
    codetype on object elements

    Use the data and type attributes to invoke plugins.

    declare on object elements

    Repeat the object element completely each time the resource is to be reused.

    standby on object elements

    Optimize the linked resource so that it loads quickly or, at least, incrementally.

    typemustmatch on object elements

    Avoid using object elements with untrusted resources.

    language on script elements (except as noted in the previous section)

    Omit the attribute for JavaScript; for data blocks, use the type attribute instead.

    event on script elements
    for on script elements

    Use DOM events mechanisms to register event listeners. [DOM]

    type on style elements (except as noted in the previous section)

    Omit the attribute for CSS; for data blocks, use script as the container instead of style.

    datapagesize on table elements

    Unnecessary. Omit it altogether.

    summary on table elements

    Use one of the techniques for describing tables given in the table section instead.

    abbr on td elements

    Use text that begins in an unambiguous and terse manner, and include any more elaborate text after that. The title attribute can also be useful in including more detailed text, so that the cell's contents can be made terse. If it's a heading, use th (which has an abbr attribute).

    axis on td and th elements

    Use the scope attribute on the relevant th.

    scope on td elements

    Use th elements for heading cells.

    datasrc on a, button, div, frame, iframe, img, input, label, legend, marquee, object, option, select, span, table, and textarea elements
    datafld on a, button, div, fieldset, frame, iframe, img, input, label, legend, marquee, object, select, span, and textarea elements
    dataformatas on button, div, input, label, legend, marquee, object, option, select, span, and table elements

    Use script and a mechanism such as XMLHttpRequest to populate the page dynamically. [XHR]

    dropzone on all elements

    Use script to handle the dragenter and dragover events instead.

    alink on body elements
    bgcolor on body elements
    bottommargin on body elements
    leftmargin on body elements
    link on body elements
    marginheight on body elements
    marginwidth on body elements
    rightmargin on body elements
    text on body elements
    topmargin on body elements
    vlink on body elements
    clear on br elements
    align on caption elements
    align on col elements
    char on col elements
    charoff on col elements
    valign on col elements
    width on col elements
    align on div elements
    compact on dl elements
    align on embed elements
    hspace on embed elements
    vspace on embed elements
    align on hr elements
    color on hr elements
    noshade on hr elements
    size on hr elements
    width on hr elements
    align on h1h6 elements
    align on iframe elements
    allowtransparency on iframe elements
    frameborder on iframe elements
    framespacing on iframe elements
    hspace on iframe elements
    marginheight on iframe elements
    marginwidth on iframe elements
    scrolling on iframe elements
    vspace on iframe elements
    align on input elements
    border on input elements
    hspace on input elements
    vspace on input elements
    align on img elements
    border on img elements (except as noted in the previous section)
    hspace on img elements
    vspace on img elements
    align on legend elements
    type on li elements
    compact on menu elements
    align on object elements
    border on object elements
    hspace on object elements
    vspace on object elements
    compact on ol elements
    align on p elements
    width on pre elements
    align on table elements
    bgcolor on table elements
    border on table elements
    bordercolor on table elements
    cellpadding on table elements
    cellspacing on table elements
    frame on table elements
    height on table elements
    rules on table elements
    width on table elements
    align on tbody, thead, and tfoot elements
    char on tbody, thead, and tfoot elements
    charoff on tbody, thead, and tfoot elements
    height on thead, tbody, and tfoot elements
    valign on tbody, thead, and tfoot elements
    align on td and th elements
    bgcolor on td and th elements
    char on td and th elements
    charoff on td and th elements
    height on td and th elements
    nowrap on td and th elements
    valign on td and th elements
    width on td and th elements
    align on tr elements
    bgcolor on tr elements
    char on tr elements
    charoff on tr elements
    height on tr elements
    valign on tr elements
    compact on ul elements
    type on ul elements
    background on body, table, thead, tbody, tfoot, tr, td, and th elements

    Use CSS instead.

    16.3 Requirements for implementations

    16.3.1 The marquee element

    The marquee element is a presentational element that animates content. CSS transitions and animations are a more appropriate mechanism. [CSSANIMATIONS] [CSSTRANSITIONS]

    The marquee element must implement the HTMLMarqueeElement interface.

    [Exposed=Window]
    interface HTMLMarqueeElement : HTMLElement {
      [HTMLConstructor] constructor();
    
      [CEReactions] attribute DOMString behavior;
      [CEReactions] attribute DOMString bgColor;
      [CEReactions] attribute DOMString direction;
      [CEReactions] attribute DOMString height;
      [CEReactions] attribute unsigned long hspace;
      [CEReactions] attribute long loop;
      [CEReactions] attribute unsigned long scrollAmount;
      [CEReactions] attribute unsigned long scrollDelay;
      [CEReactions] attribute boolean trueSpeed;
      [CEReactions] attribute unsigned long vspace;
      [CEReactions] attribute DOMString width;
    
      undefined start();
      undefined stop();
    };

    A marquee element can be turned on or turned off. When it is created, it is turned on.

    When the start() method is called, the marquee element must be turned on.

    When the stop() method is called, the marquee element must be turned off.


    The behavior content attribute on marquee elements is an enumerated attribute with the following keywords and states (all non-conforming):

    Keyword State
    scroll scroll
    slide slide
    alternate alternate

    The attribute's missing value default and invalid value default are both the scroll state.


    The direction content attribute on marquee elements is an enumerated attribute with the following keywords and states (all non-conforming):

    Keyword State
    left left
    right right
    up up
    down down

    The attribute's missing value default and invalid value default are both the left state.


    The truespeed content attribute on marquee elements is a boolean attribute.


    A marquee element has a marquee scroll interval, which is obtained as follows:

    1. If the element has a scrolldelay attribute, and parsing its value using the rules for parsing non-negative integers does not return an error, then let delay be the parsed value. Otherwise, let delay be 85.

    2. If the element does not have a truespeed attribute, and the delay value is less than 60, then let delay be 60 instead.

    3. The marquee scroll interval is delay, interpreted in milliseconds.


    A marquee element has a marquee scroll distance, which, if the element has a scrollamount attribute, and parsing its value using the rules for parsing non-negative integers does not return an error, is the parsed value interpreted in CSS pixels, and otherwise is 6 CSS pixels.


    A marquee element has a marquee loop count, which, if the element has a loop attribute, and parsing its value using the rules for parsing integers does not return an error or a number less than 1, is the parsed value, and otherwise is −1.

    The loop IDL attribute, on getting, must return the element's marquee loop count; and on setting, if the new value is different than the element's marquee loop count and either greater than zero or equal to −1, must set the element's loop content attribute (adding it if necessary) to the valid integer that represents the new value. (Other values are ignored.)

    A marquee element also has a marquee current loop index, which is zero when the element is created.

    The rendering layer will occasionally increment the marquee current loop index, which must cause the following steps to be run:

    1. If the marquee loop count is −1, then return.

    2. Increment the marquee current loop index by one.

    3. If the marquee current loop index is now greater than or equal to the element's marquee loop count, turn off the marquee element.


    The behavior, direction, height, hspace, vspace, and width IDL attributes must reflect the respective content attributes of the same name.

    The bgColor IDL attribute must reflect the bgcolor content attribute.

    The scrollAmount IDL attribute must reflect the scrollamount content attribute. The default value is 6.

    The scrollDelay IDL attribute must reflect the scrolldelay content attribute. The default value is 85.

    The trueSpeed IDL attribute must reflect the truespeed content attribute.

    16.3.2 Frames

    The frameset element acts as the body element in documents that use frames.

    The frameset element must implement the HTMLFrameSetElement interface.

    [Exposed=Window]
    interface HTMLFrameSetElement : HTMLElement {
      [HTMLConstructor] constructor();
    
      [CEReactions] attribute DOMString cols;
      [CEReactions] attribute DOMString rows;
    };
    HTMLFrameSetElement includes WindowEventHandlers;

    The cols and rows IDL attributes of the frameset element must reflect the respective content attributes of the same name.

    The frameset element exposes as event handler content attributes a number of the event handlers of the Window object. It also mirrors their event handler IDL attributes.

    The event handlers of the Window object named by the Window-reflecting body element event handler set, exposed on the frameset element, replace the generic event handlers with the same names normally supported by HTML elements.


    The frame element has a content navigable similar to the iframe element, but rendered within a frameset element.

    The frame HTML element insertion steps, given insertedNode, are:

    1. If insertedNode is not root's browsing context is null, then return.

    2. Create a new child navigable for insertedNode.

    3. Process the frame attributes for insertedNode, with initialInsertion set to true.

    The frame HTML element removing steps, given removedNode, are to destroy a child navigable given removedNode.

    Whenever a frame element with a non-null content navigable has its src attribute set, changed, or removed, the user agent must process the frame attributes.

    To process the frame attributes for an element element, with an optional boolean initialInsertion:

    1. Let url be the result of running the shared attribute processing steps for iframe and frame elements given element and initialInsertion.

    2. If url is null, then return.

    3. If url matches about:blank and initialInsertion is true, then:

      1. Fire an event named load at element.

      2. Return.

    4. Navigate an iframe or frame given element, url, and the empty string.

    The frame element potentially delays the load event.

    The frame element must implement the HTMLFrameElement interface.

    [Exposed=Window]
    interface HTMLFrameElement : HTMLElement {
      [HTMLConstructor] constructor();
    
      [CEReactions] attribute DOMString name;
      [CEReactions] attribute DOMString scrolling;
      [CEReactions] attribute USVString src;
      [CEReactions] attribute DOMString frameBorder;
      [CEReactions] attribute USVString longDesc;
      [CEReactions] attribute boolean noResize;
      readonly attribute Document? contentDocument;
      readonly attribute WindowProxy? contentWindow;
    
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginHeight;
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginWidth;
    };

    The name, scrolling, and src IDL attributes of the frame element must reflect the respective content attributes of the same name. For the purposes of reflection, the frame element's src content attribute is defined as containing a URL.

    The frameBorder IDL attribute of the frame element must reflect the element's frameborder content attribute.

    The longDesc IDL attribute of the frame element must reflect the element's longdesc content attribute, which for the purposes of reflection is defined as containing a URL.

    The noResize IDL attribute of the frame element must reflect the element's noresize content attribute.

    The marginHeight IDL attribute of the frame element must reflect the element's marginheight content attribute.

    The marginWidth IDL attribute of the frame element must reflect the element's marginwidth content attribute.

    The contentDocument getter steps are to return this's content document.

    The contentWindow getter steps are to return this's content window.

    16.3.3 Other elements, attributes and APIs

    User agents must treat acronym elements in a manner equivalent to abbr elements in terms of semantics and for purposes of rendering.


    partial interface HTMLAnchorElement {
      [CEReactions] attribute DOMString coords;
      [CEReactions] attribute DOMString charset;
      [CEReactions] attribute DOMString name;
      [CEReactions] attribute DOMString rev;
      [CEReactions] attribute DOMString shape;
    };

    The coords, charset, name, rev, and shape IDL attributes of the a element must reflect the respective content attributes of the same name.


    partial interface HTMLAreaElement {
      [CEReactions] attribute boolean noHref;
    };

    The noHref IDL attribute of the area element must reflect the element's nohref content attribute.


    partial interface HTMLBodyElement {
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString text;
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString link;
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString vLink;
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString aLink;
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
      [CEReactions] attribute DOMString background;
    };

    The text IDL attribute of the body element must reflect the element's text content attribute.

    The link IDL attribute of the body element must reflect the element's link content attribute.

    The aLink IDL attribute of the body element must reflect the element's alink content attribute.

    The vLink IDL attribute of the body element must reflect the element's vlink content attribute.

    The bgColor IDL attribute of the body element must reflect the element's bgcolor content attribute.

    The background IDL attribute of the body element must reflect the element's background content attribute. (The background content is not defined to contain a URL, despite rules regarding its handling in the Rendering section above.)


    partial interface HTMLBRElement {
      [CEReactions] attribute DOMString clear;
    };

    The clear IDL attribute of the br element must reflect the content attribute of the same name.


    partial interface HTMLTableCaptionElement {
      [CEReactions] attribute DOMString align;
    };

    The align IDL attribute of the caption element must reflect the content attribute of the same name.


    partial interface HTMLTableColElement {
      [CEReactions] attribute DOMString align;
      [CEReactions] attribute DOMString ch;
      [CEReactions] attribute DOMString chOff;
      [CEReactions] attribute DOMString vAlign;
      [CEReactions] attribute DOMString width;
    };

    The align and width IDL attributes of the col element must reflect the respective content attributes of the same name.

    The ch IDL attribute of the col element must reflect the element's char content attribute.

    The chOff IDL attribute of the col element must reflect the element's charoff content attribute.

    The vAlign IDL attribute of the col element must reflect the element's valign content attribute.


    User agents must treat dir elements in a manner equivalent to ul elements in terms of semantics and for purposes of rendering.

    The dir element must implement the HTMLDirectoryElement interface.

    [Exposed=Window]
    interface HTMLDirectoryElement : HTMLElement {
      [HTMLConstructor] constructor();
    
      [CEReactions] attribute boolean compact;
    };

    The compact IDL attribute of the dir element must reflect the content attribute of the same name.


    partial interface HTMLDivElement {
      [CEReactions] attribute DOMString align;
    };

    The align IDL attribute of the div element must reflect the content attribute of the same name.


    partial interface HTMLDListElement {
      [CEReactions] attribute boolean compact;
    };

    The compact IDL attribute of the dl element must reflect the content attribute of the same name.


    partial interface HTMLEmbedElement {
      [CEReactions] attribute DOMString align;
      [CEReactions] attribute DOMString name;
    };

    The name and align IDL attributes of the embed element must reflect the respective content attributes of the same name.


    The font element must implement the HTMLFontElement interface.

    [Exposed=Window]
    interface HTMLFontElement : HTMLElement {
      [HTMLConstructor] constructor();
    
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString color;
      [CEReactions] attribute DOMString face;
      [CEReactions] attribute DOMString size; 
    };

    The color, face, and size IDL attributes of the font element must reflect the respective content attributes of the same name.


    partial interface HTMLHeadingElement {
      [CEReactions] attribute DOMString align;
    };

    The align IDL attribute of the h1h6 elements must reflect the content attribute of the same name.


    The profile IDL attribute on head elements (with the HTMLHeadElement interface) is intentionally omitted. Unless so required by another applicable specification, implementations would therefore not support this attribute. (It is mentioned here as it was defined in a previous version of DOM.)


    partial interface HTMLHRElement {
      [CEReactions] attribute DOMString align;
      [CEReactions] attribute DOMString color;
      [CEReactions] attribute boolean noShade;
      [CEReactions] attribute DOMString size;
      [CEReactions] attribute DOMString width;
    };

    The align, color, size, and width IDL attributes of the hr element must reflect the respective content attributes of the same name.

    The noShade IDL attribute of the hr element must reflect the element's noshade content attribute.


    partial interface HTMLHtmlElement {
      [CEReactions] attribute DOMString version;
    };

    The version IDL attribute of the html element must reflect the content attribute of the same name.


    partial interface HTMLIFrameElement {
      [CEReactions] attribute DOMString align;
      [CEReactions] attribute DOMString scrolling;
      [CEReactions] attribute DOMString frameBorder;
      [CEReactions] attribute USVString longDesc;
    
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginHeight;
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginWidth;
    };

    The align and scrolling IDL attributes of the iframe element must reflect the respective content attributes of the same name.

    The frameBorder IDL attribute of the iframe element must reflect the element's frameborder content attribute.

    The longDesc IDL attribute of the iframe element must reflect the element's longdesc content attribute, which for the purposes of reflection is defined as containing a URL.

    The marginHeight IDL attribute of the iframe element must reflect the element's marginheight content attribute.

    The marginWidth IDL attribute of the iframe element must reflect the element's marginwidth content attribute.


    partial interface HTMLImageElement {
      [CEReactions] attribute DOMString name;
      [CEReactions] attribute USVString lowsrc;
      [CEReactions] attribute DOMString align;
      [CEReactions] attribute unsigned long hspace;
      [CEReactions] attribute unsigned long vspace;
      [CEReactions] attribute USVString longDesc;
    
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString border;
    };

    The name, align, border, hspace, and vspace IDL attributes of the img element must reflect the respective content attributes of the same name.

    The longDesc IDL attribute of the img element must reflect the element's longdesc content attribute, which for the purposes of reflection is defined as containing a URL.

    The lowsrc IDL attribute of the img element must reflect the element's lowsrc content attribute, which for the purposes of reflection is defined as containing a URL.


    partial interface HTMLInputElement {
      [CEReactions] attribute DOMString align;
      [CEReactions] attribute DOMString useMap;
    };

    The align IDL attribute of the input element must reflect the content attribute of the same name.

    The useMap IDL attribute of the input element must reflect the element's usemap content attribute.


    partial interface HTMLLegendElement {
      [CEReactions] attribute DOMString align;
    };

    The align IDL attribute of the legend element must reflect the content attribute of the same name.


    partial interface HTMLLIElement {
      [CEReactions] attribute DOMString type;
    };

    The type IDL attribute of the li element must reflect the content attribute of the same name.


    partial interface HTMLLinkElement {
      [CEReactions] attribute DOMString charset;
      [CEReactions] attribute DOMString rev;
      [CEReactions] attribute DOMString target;
    };

    The charset, rev, and target IDL attributes of the link element must reflect the respective content attributes of the same name.


    User agents must treat listing elements in a manner equivalent to pre elements in terms of semantics and for purposes of rendering.


    partial interface HTMLMenuElement {
      [CEReactions] attribute boolean compact;
    };

    The compact IDL attribute of the menu element must reflect the content attribute of the same name.


    partial interface HTMLMetaElement {
      [CEReactions] attribute DOMString scheme;
    };

    User agents may treat the scheme content attribute on the meta element as an extension of the element's name content attribute when processing a meta element with a name attribute whose value is one that the user agent recognizes as supporting the scheme attribute.

    User agents are encouraged to ignore the scheme attribute and instead process the value given to the metadata name as if it had been specified for each expected value of the scheme attribute.

    For example, if the user agent acts on meta elements with name attributes having the value "eGMS.subject.keyword", and knows that the scheme attribute is used with this metadata name, then it could take the scheme attribute into account, acting as if it was an extension of the name attribute. Thus the following two meta elements could be treated as two elements giving values for two different metadata names, one consisting of a combination of "eGMS.subject.keyword" and "LGCL", and the other consisting of a combination of "eGMS.subject.keyword" and "ORLY":

    <!-- this markup is invalid -->
    <meta name="eGMS.subject.keyword" scheme="LGCL" content="Abandoned vehicles">
    <meta name="eGMS.subject.keyword" scheme="ORLY" content="Mah car: kthxbye">

    The suggested processing of this markup, however, would be equivalent to the following:

    <meta name="eGMS.subject.keyword" content="Abandoned vehicles">
    <meta name="eGMS.subject.keyword" content="Mah car: kthxbye">

    The scheme IDL attribute of the meta element must reflect the content attribute of the same name.


    partial interface HTMLObjectElement {
      [CEReactions] attribute DOMString align;
      [CEReactions] attribute DOMString archive;
      [CEReactions] attribute DOMString code;
      [CEReactions] attribute boolean declare;
      [CEReactions] attribute unsigned long hspace;
      [CEReactions] attribute DOMString standby;
      [CEReactions] attribute unsigned long vspace;
      [CEReactions] attribute DOMString codeBase;
      [CEReactions] attribute DOMString codeType;
      [CEReactions] attribute DOMString useMap;
    
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString border;
    };

    The align, archive, border, code, declare, hspace, standby, and vspace IDL attributes of the object element must reflect the respective content attributes of the same name.

    The codeBase IDL attribute of the object element must reflect the element's codebase content attribute, which for the purposes of reflection is defined as containing a URL.

    The codeType IDL attribute of the object element must reflect the element's codetype content attribute.

    HTMLObjectElement/useMap

    Support in all current engines.

    Firefox1+Safari3+Chrome1+
    Opera12.1+Edge79+
    Edge (Legacy)12+Internet Explorer6+
    Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

    The useMap IDL attribute must reflect the usemap content attribute.


    partial interface HTMLOListElement {
      [CEReactions] attribute boolean compact;
    };

    The compact IDL attribute of the ol element must reflect the content attribute of the same name.


    partial interface HTMLParagraphElement {
      [CEReactions] attribute DOMString align;
    };

    The align IDL attribute of the p element must reflect the content attribute of the same name.


    The param element must implement the HTMLParamElement interface.

    [Exposed=Window]
    interface HTMLParamElement : HTMLElement {
      [HTMLConstructor] constructor();
    
      [CEReactions] attribute DOMString name;
      [CEReactions] attribute DOMString value;
      [CEReactions] attribute DOMString type;
      [CEReactions] attribute DOMString valueType;
    };

    The name, value, and type IDL attributes of the param element must reflect the respective content attributes of the same name.

    The valueType IDL attribute of the param element must reflect the element's valuetype content attribute.


    User agents must treat plaintext elements in a manner equivalent to pre elements in terms of semantics and for purposes of rendering. (The parser has special behavior for this element, though.)


    partial interface HTMLPreElement {
      [CEReactions] attribute long width;
    };

    The width IDL attribute of the pre element must reflect the content attribute of the same name.


    partial interface HTMLStyleElement {
      [CEReactions] attribute DOMString type;
    };

    The type IDL attribute of the style element must reflect the element's type content attribute.


    partial interface HTMLScriptElement {
      [CEReactions] attribute DOMString charset;
      [CEReactions] attribute DOMString event;
      [CEReactions] attribute DOMString htmlFor;
    };

    The charset and event IDL attributes of the script element must reflect the respective content attributes of the same name.

    The htmlFor IDL attribute of the script element must reflect the element's for content attribute.


    partial interface HTMLTableElement {
      [CEReactions] attribute DOMString align;
      [CEReactions] attribute DOMString border;
      [CEReactions] attribute DOMString frame;
      [CEReactions] attribute DOMString rules;
      [CEReactions] attribute DOMString summary;
      [CEReactions] attribute DOMString width;
    
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString cellPadding;
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString cellSpacing;
    };

    The align, border, frame, summary, rules, and width IDL attributes of the table element must reflect the respective content attributes of the same name.

    The bgColor IDL attribute of the table element must reflect the element's bgcolor content attribute.

    The cellPadding IDL attribute of the table element must reflect the element's cellpadding content attribute.

    The cellSpacing IDL attribute of the table element must reflect the element's cellspacing content attribute.


    partial interface HTMLTableSectionElement {
      [CEReactions] attribute DOMString align;
      [CEReactions] attribute DOMString ch;
      [CEReactions] attribute DOMString chOff;
      [CEReactions] attribute DOMString vAlign;
    };

    The align IDL attribute of the tbody, thead, and tfoot elements must reflect the content attribute of the same name.

    The ch IDL attribute of the tbody, thead, and tfoot elements must reflect the elements' char content attributes.

    The chOff IDL attribute of the tbody, thead, and tfoot elements must reflect the elements' charoff content attributes.

    The vAlign IDL attribute of the tbody, thead, and tfoot elements must reflect the elements' valign content attributes.


    partial interface HTMLTableCellElement {
      [CEReactions] attribute DOMString align;
      [CEReactions] attribute DOMString axis;
      [CEReactions] attribute DOMString height;
      [CEReactions] attribute DOMString width;
    
      [CEReactions] attribute DOMString ch;
      [CEReactions] attribute DOMString chOff;
      [CEReactions] attribute boolean noWrap;
      [CEReactions] attribute DOMString vAlign;
    
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
    };

    The align, axis, height, and width IDL attributes of the td and th elements must reflect the respective content attributes of the same name.

    The ch IDL attribute of the td and th elements must reflect the elements' char content attributes.

    The chOff IDL attribute of the td and th elements must reflect the elements' charoff content attributes.

    The noWrap IDL attribute of the td and th elements must reflect the elements' nowrap content attributes.

    The vAlign IDL attribute of the td and th elements must reflect the elements' valign content attributes.

    The bgColor IDL attribute of the td and th elements must reflect the elements' bgcolor content attributes.


    partial interface HTMLTableRowElement {
      [CEReactions] attribute DOMString align;
      [CEReactions] attribute DOMString ch;
      [CEReactions] attribute DOMString chOff;
      [CEReactions] attribute DOMString vAlign;
    
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
    };

    The align IDL attribute of the tr element must reflect the content attribute of the same name.

    The ch IDL attribute of the tr element must reflect the element's char content attribute.

    The chOff IDL attribute of the tr element must reflect the element's charoff content attribute.

    The vAlign IDL attribute of the tr element must reflect the element's valign content attribute.

    The bgColor IDL attribute of the tr element must reflect the element's bgcolor content attribute.


    partial interface HTMLUListElement {
      [CEReactions] attribute boolean compact;
      [CEReactions] attribute DOMString type;
    };

    The compact and type IDL attributes of the ul element must reflect the respective content attributes of the same name.


    User agents must treat xmp elements in a manner equivalent to pre elements in terms of semantics and for purposes of rendering. (The parser has special behavior for this element though.)


    partial interface Document {
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString fgColor;
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString linkColor;
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString vlinkColor;
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString alinkColor;
      [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
    
      [SameObject] readonly attribute HTMLCollection anchors;
      [SameObject] readonly attribute HTMLCollection applets;
    
      undefined clear();
      undefined captureEvents();
      undefined releaseEvents();
    
      [SameObject] readonly attribute HTMLAllCollection all;
    };

    The attributes of the Document object listed in the first column of the following table must reflect the content attribute on the body element with the name given in the corresponding cell in the second column on the same row, if the body element is a body element (as opposed to a frameset element). When there is no body element or if it is a frameset element, the attributes must instead return the empty string on getting and do nothing on setting.

    IDL attribute Content attribute
    fgColor text
    linkColor link
    vlinkColor vlink
    alinkColor alink
    bgColor bgcolor

    The anchors attribute must return an HTMLCollection rooted at the Document node, whose filter matches only a elements with name attributes.

    The applets attribute must return an HTMLCollection rooted at the Document node, whose filter matches nothing. (It exists for historical reasons.)

    The clear(), captureEvents(), and releaseEvents() methods must do nothing.


    The all attribute must return an HTMLAllCollection rooted at the Document node, whose filter matches all elements.


    partial interface Window {
      undefined captureEvents();
      undefined releaseEvents();
    
      [Replaceable, SameObject] readonly attribute External external;
    };

    The captureEvents() and releaseEvents() methods must do nothing.

    The external attribute of the Window interface must return an instance of the External interface:

    [Exposed=Window]
    interface External {
      undefined AddSearchProvider();
      undefined IsSearchProviderInstalled();
    };

    The AddSearchProvider() and IsSearchProviderInstalled() methods must do nothing.

    Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

    Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant