Web platform features explorer

📃 November 2004 release notes

New in Firefox

The following features are now available in Firefox:

  • <a>: The <a> element creates a hyperlink to any resource that's accessible via a URL, such as web pages, files, email addresses, or locations within the same page.
  • <abbr>: The <abbr> HTML element represents an abbreviation or acronym.
  • Absolute positioning: The position: absolute CSS declaration removes an element from the normal flow and positions it relative to its containing block, which is often the root element, or closest positioned ancestor.
  • <address>: The <address> element represents contact information for a person or people, or for an organization.
  • Alerts: The window.alert(), window.confirm(), and window.prompt() methods open modal dialogs for notifying the user, asking for confirmation, or entering text.
  • Array (initial support): Arrays are ordered lists of JavaScript values.
  • Array splice(): The array splice() method changes an array in-place. You can use it to delete items, overwrite items, or insert items, starting from an index.
  • attr() (content only): The attr() CSS function, in content property declarations, sets a ::before or ::after pseudo-element's content to the value of the specified HTML attribute.
  • Autofocus: The autofocus HTML attribute gives focus to an element on page load.
  • <b>: The <b> HTML element draws reader's attention to text, styling text as bold by default.
  • background-color: The background-color CSS property sets the fill color of an element, behind any content and background images or gradients.
  • <base>: The <base> element sets the base URL (the URL that relative URLs are relative to) for all relative URLs in the document.
  • Base64 encoding and decoding: The atob() and btoa() global functions encode and decode strings to and from base 64, respectively.
  • Beforeunload: The beforeunload event is fired when the current window is about to be unloaded. Typically this is used to display a dialog to confirm if users really want to leave the page when there is unsaved data that would be lost.
  • <blockquote>: The <blockquote> element represents an extended quotation, styling contents as an indented block by default.
  • <body>: The <body> element represents the content of an HTML document.
  • Borders: The border CSS property sets the color, style, and width of the line around an element.
  • <br>: The <br> element produces line breaks in text.
  • <button>: The <button> HTML element represents a button that triggers some action, such as submitting a form or opening a dialog, styled as a labeled rectangular box by default.
  • ch unit: The ch CSS length unit is a font-relative length based on the width of the zero (0) character.
  • Change event: The change event for <input>, <select>, and <textarea> elements fires when the user modifies the element's value. Unlike the input event, the change event does not necessarily fire on every alteration to an element's value.
  • <cite>: The <cite> element represents the title of a quoted, referenced, or mentioned creative work, such as a film or book.
  • <code>: The <code> element displays its contents as a fragment of computer code.
  • Color: The color CSS property sets the primary foreground color of an element, which is used for text, the default border color, and text decorations.
  • Content: The content CSS property sets the content inside of an element or pseudo-element, replacing the current value. It's often used with the ::before and ::after pseudo-elements to generate cosmetic content.
  • cookieEnabled: The navigator.cookieEnabled property returns a Boolean value for whether the browser accepts or ignores attempts to write cookie data.
  • Cookies: The Set-Cookie HTTP header stores limited amounts of data that persist across request and response, creating shared state between the browser and server.
  • Counters (CSS): The counter-reset and counter-increment CSS properties and the counter() and counters() functions automatically number headings or ordered list items.
  • Date: The Date object represents a single moment in time.
  • <del>: The <del> element element represents a range of text that has been deleted from a document, styling text as strikethrough by default.
  • Description list: The <dl>, <dt>, and <dd> HTML elements represent a list of terms and their associated descriptions. Use a description list to create glossaries or similar list of key-value pairs.
  • <dfn>: The <dfn> element marks a term to be defined, styling text as italic by default.
  • Display: The display CSS property sets the display behavior of an element's box within its layout and sets the layout behavior for its child elements.
  • display: list-item: The display: list-item CSS declaration renders an element with the box layout of a <li> HTML element.
  • <div>: The <div> HTML element is the generic container for content.
  • DOM: The DOM (Document Object Model) API represents HTML and XML documents as trees of nodes. You can use the API to inspect and modify the structure and content of a document.
  • dominant-baseline: The dominant-baseline CSS property sets the specific baseline used to align an elements's text and inline-level contents.
  • <em>: The <em> HTML element emphasizes or stresses the content, styling text as italic by default.
  • em unit: The em CSS length unit is a font-relative length equal to the specified font size. In an element with a 2 inch font, 1em equals 2 inches.
  • :empty: The :empty CSS pseudo-class matches elements without child elements.
  • Events: The Event API and the addEventListener() method on objects that receive events (event targets) represent and handle significant things happening on a page. Many APIs fire events for a wide range of situations relating to those APIs, such as an image loading, a user clicking, or a value changing.
  • ex unit: The ex CSS length unit is a font-relative length equal to the used x-height of the first available font. X-height is often equal to the height of the lowercase x.
  • <fieldset> and <legend>: The <fieldset> and <legend> elements group several form control elements within a web form.
  • ::first-letter: The ::first-letter CSS pseudo-element selects the first letter in an element for styling.
  • ::first-line: The ::first-line CSS pseudo-element selects the first line of text in an element for styling.
  • Fixed positioning: The position: fixed CSS declaration removes an element from the normal flow and positions it relative to the viewport or page.
  • float and clear: The float CSS property aligns an element to either side of its container, allowing text and inline elements to flow around it. The clear CSS property sets whether an element is moved below floating elements that proceed it.
  • font-family: The font-family CSS property sets the desired font face for text, along with optional fallback font faces.
  • Font shorthand: The font CSS property shorthand sets multiple font properties, including style, weight, size, and font family.
  • font-size: The font-size CSS property sets the text height.
  • font-style: The font-style CSS property sets the text style, with normal, italic, and oblique options.
  • font-variant: The font-variant CSS property is a shorthand for font-variant-alternates, font-variant-caps, font-variant-east-asian, font-variant-emoji, font-variant-ligatures, font-variant-numeric, and font-variant-position.
  • font-weight: The font-weight CSS property controls the thickness of a font. It is set explicitly with the keyword bold or a number, or relative to the inherited thickness with the keywords bolder or lighter.
  • <form>: The <form> element contains interactive controls for submitting information.
  • Functions: Functions are series of statements that can be called and return a value. The function keyword (as in function () { }) and arrow (=>) expression create functions. The JavaScript functions protocol includes default and rest parameters and binding to this.
  • <head>: The <head> element contains machine-readable information (metadata) about the document, such as the title, <script> and <style> elements, and <meta> elements.
  • <h1> through <h6>: The <h1> through <h6> HTML elements represent six levels of section headings, in order of decreasing importance.
  • <hr>: The <hr> element represents a thematic break between paragraphs, often shown as a horizontal rule.
  • <html>: The <html> element represents the top-level of an HTML document and is referred to as the root element.
  • HTTP authentication: The Authorization and WWW-Authenticate headers authenticate a user with a server.
  • HTTP/1.1: HTTP/1.1 is a network protocol used by browsers and servers. It has been superseded by HTTP/2 and HTTP/3.
  • <i>: The <i> HTML element identifies idiomatic content, styling text as italic by default.
  • <iframe>: The <iframe> element embeds another HTML page into the current page.
  • Image maps: The <area> and <map> elements define a clickable area on an image.
  • <img>: The <img> element adds an image into the document.
  • @import: The @import CSS at-rule loads styles from another stylesheet.
  • inherit: The inherit keyword resets any CSS property to the computed value of that property from the parent element.
  • <input>: The <input type="text"> HTML element allows the user to enter information into a form. By default, an <input> element is a text input.
  • <input type="button">: The <input type="button"> HTML element represents a button that triggers some action, such as submitting a form or opening a dialog, styled as a labeled rectangular box by default. Not to be confused with the <button> element, which contains HTML content.
  • <input type="hidden">: The <input type="hidden"> HTML element represents a form field that is not shown visually but is still included in the form submission.
  • <input type="image">: The <input type="image"> HTML element is an image that can be used to submit a form, like the <input type="submit"> element.
  • <input type="password">: The <input type="password"> HTML element represents a field for users to enter a password. The password is hidden from view, typically replaced by dots or asterisks.
  • <input type="radio">: The <input type="radio"> HTML element represents one button in a group such that only one can be chosen at a time.
  • <input type="reset">: The <input type="reset"> HTML element represents a button that sets all form fields to their initial values.
  • Input selectors: The :checked, :disabled, and :enabled CSS pseudo-classes match form elements based on their state.
  • <input type="submit">: The <input type="submit"> HTML element represents a button that triggers an action on its associated <form>, such as sending the form data to a server.
  • <ins>: The <ins> element element represents a range of text that has been inserted into a document, styling text as underlined by default.
  • JavaScript (initial core language support): JavaScript is a programming language that runs in browsers, usually through the <script> element. JavaScript has changed over many years. This feature represents the oldest language features, such as built-in objects, statements, and operators. Also known as ECMAScript.
  • <kbd>: The <kbd> element represents textual user input, such as keyboard or voice input, styling text in monospaced type by default.
  • <label>: The <label> HTML element represents a caption for a form field.
  • :lang(): The :lang() CSS functional pseudo-class matches elements based on their content language.
  • Lang: The lang global HTML attribute defines the language of an element. It's used by assistive technology to correctly read the content, translation tools to select the origin language, and other applications.
  • Language: The navigator.language read-only property returns a string representing the preferred language of the user, usually the language of the browser UI. The navigator.languages read-only property returns an array of strings representing the user's preferred languages.
  • letter-spacing: The letter-spacing CSS property controls the amount of space between each letter in an element or block of text.
  • line-height: The line-height CSS property sets the spacing between text baselines, oriented to the horizontal or vertical writing mode.
  • <link>: The <link> element creates a relationship between the current document and an external resource, such as a stylesheet or favicon.
  • <ol>, <ul>, and <li>: The <ol>, <ul>, and <li> HTML elements represent ordered and unordered lists.
  • List style: The list-style shorthand CSS property and the list-style-image, list-style-position, and list-style-type longhand properties set the position and appearance of a list item's marker.
  • Location: The location global object represents the current page's address. You can use it to get the parts of the address (such as location.hostname or location.pathname) or navigate to another URL.
  • margin: The margin CSS property sets space around an element. It is a shorthand for margin-top, margin-right, margin-bottom, and margin-left.
  • Media queries: The @media CSS rule conditionally applies styles based on the output device type, its capabilities, and the user's preferences. Media queries are composed of an optional media type such as screen or print, and one or more mandatory media features, such as prefers-reduced-animations.
  • <menu>: The <menu> element represents an unordered list of action items (<li>), such as a toolbar. It is a semantic alternative to the <ul> element.
  • <meta>: The <meta> element represents metadata about the page used by the browser or search engines, including description, keywords, and character sets.
  • Min and max width and height: The min-width, min-height, max-width, and max-height CSS properties set the minimum and maximum size of an element.
  • Mouse events: Mouse events, such as click, mousedown, or mousemove, fire when users interact with an input or pointing device such as a mouse, trackpad, or touchscreen.
  • Named colors: Some CSS color values can be referenced by name, such as red or limegreen. They stand in for specific RGB color values.
  • @namespace: The @namespace CSS rule sets a default namespace or namespace prefix. Namespace prefixes allow CSS selectors to distinguish elements with the same name but different document types, such as the HTML <a> element and the SVG <a> element.
  • Navigator: The window.navigator API is a generic global object, under which many other, more interesting APIs are located. It doesn't do anything interesting on its own.
  • Math and numbers: The number type (and Number object) represents floating-point numbers, such as 42 or -4.201, while the Math API contains mathematical functions and constants. JavaScript can also represent boundless negative and positive values as Infinity or not-a-number as NaN (as in 0 * Infinity).
  • <object>: The <object> element represents an external resource such as a PDF or SVG document. It was historically used for plugins such as Shockwave Flash.
  • Object: Objects in JavaScript are collections of key-value pairs.
  • opacity: The opacity CSS property sets the transparency of an element.
  • Opacity (SVG): The fill-opacity, and stroke-opacity SVG attributes and CSS properties control the transparency of a stroke or fill of an SVG element.
  • <p>: The <p> element represents a paragraph of text.
  • padding: The padding CSS property sets space between an element's edge and its contents. It is a shorthand for padding-top, padding-right, padding-bottom, and padding-left.
  • Physical properties: The physical CSS properties, top, right, bottom, and left, set the inset position of an element relative to the corresponding side of a container determined by the element's position property.
  • Position: The position CSS property sets the origin position of an element to an element, the element's scrollport, or the viewport.
  • <pre>: The <pre> element represents a block element of preformatted text that is presented exactly as written, including all white space.
  • window.print(): The window.print() method opens the browser's print dialog.
  • <q>: The <q> element represents a short inline quotation.
  • Regular expressions: The RegExp object represents a regular expression, a notation for matching text patterns.
  • Relative positioning: The position: relative CSS declaration offsets the position of an element relative to its position in the normal flow.
  • :root: The :root pseudo-class matches the root element of the document, usually the <html> element.
  • <s>: The <s> HTML element indicates text that is no longer relevant or accurate, styling text as strikethrough by default.
  • <samp>: The <samp> element represents a sample or quoted output from a computer program. Styled in a monospace font by default.
  • Screen: The window.screen property contains information about the screen of the output device that the referenced window is being rendered on.
  • <script> and <noscript>: The <script> element contains or loads data or executable code. This is typically used to load JavaScript code. The <noscript> element represents alternative content to show when scripting is not allowed.
  • <select>: The <select> element provides a menu of options for a user to pick from, typically rendered as a dropdown list.
  • Selectors (core): CSS selectors match elements based on their type, attributes, and relationship to other elements. They define the specific elements to which a block of styles will be applied. This feature represents the oldest selectors of CSS.
  • setInterval: The setInterval() global function repeatedly executes provided code on a given delay, and the accompanying clearInterval() cancels the interval.
  • setTimeout: The setTimeout() global function executes provided code after a given duration of time, and the accompanying clearTimeout() cancels the timer.
  • <small>: The <small> element represents side-comments and small print, like copyright and legal text, independent of its styled presentation. Styled in a reduced font size by default.
  • <span>: The <span> HTML element is the generic inline container for content.
  • Static positioning: The position: static CSS declaration positions an element in the normal flow. A statically positioned element ignores physical and logical properties such as top or inset-block-start.
  • String (initial support): The string type (and String object) represents a sequence of characters.
  • <strong>: The <strong> HTML element brings attention to the content, styling text as bold by default.
  • <style>: The <style> element embeds an inline CSS stylesheet in a document.
  • style (attribute): The style global HTML attribute applies inline CSS styling declarations to individual elements.
  • <sub> and <sup>: The <sub> and <sup> elements sets inline text to be displayed as subscript or superscript for solely typographical reasons.
  • System colors: The system color CSS keywords, such as ButtonBorder or LinkText, allow you to match default colors from the user agent.
  • Tables: The <table> HTML element, with several related elements, represents tabular data in rows and columns of cells.
  • :target: The :target CSS pseudo-class matches the element with an ID matching the URL fragment.
  • text-align: The text-align CSS property sets the horizontal placement of the inner content of a block element.
  • text-decoration: The text-decoration CSS property sets the style and color of decorative lines including underline, overline, line-through, or a combination of lines.
  • text-indent: The text-indent CSS property sets the size of the empty space (indentation) at the beginning of lines in a text.
  • text-transform: The text-transform CSS property sets text case and capitalization.
  • <textarea>: The <textarea> element represents an editing control that allows users to enter multi-line, free-form, plain text.
  • <title>: The <title> element sets the title of the document and exposes it to users via the UI of the browser or app they're using and through assistive technology.
  • Title: The title global HTML attribute sets information about an element, such as a name or description. The value is typically shown as a tooltip that appears on mouse over. Since it's not often available to touch-only, keyboard-only, or assistive technology users, it's not a substitute for other text.
  • <u>: The <u> HTML element makes non-textual annotations, styling text as underlined by default.
  • User action pseudo-classes: The :active, :focus, and :hover CSS pseudo-classes match elements based on how users are interacting with them.
  • <var>: The <var> element represents the name of a variable in a mathematical expression or a programming context.
  • vertical-align: The vertical-align CSS property sets the vertical alignment of inline, inline-block, and table cell elements. It has no effect on block-level elements.
  • visibility: The visibility CSS property sets whether an element is shown. Invisible elements still affect the document layout.
  • <wbr>: The <wbr> HTML element represents a word break opportunity, to explicitly mark a place within a word where a line might be broken.
  • white-space: The white-space CSS property sets how white space is collapsed and how lines wrap. It is a shorthand for white-space-collapse and text-wrap-mode.
  • Width and height: The width and height CSS properties set the preferred physical size of an element.
  • Window: The window global object represents a browser tab or iframe and its relationship to the document and other tabs. It's also a generic global object, under which many other APIs are located.
  • word-spacing: The word-spacing CSS property sets the amount of white space between words.
  • XMLHttpRequest: The XMLHttpRequest API makes HTTP requests. It's the predecessor to fetch(). Also known as XHR.
  • XMLSerializer: The XMLSerializer API provides the serializeToString() method to construct an XML string representing a DOM tree.
  • XPath: The document.evaluate() method selects elements in an HTML or XML document based on an expression of XPath, a domain specific language for querying XML documents. Also known as XML Path Language.
  • XSLT: The XSLTProcessor API transforms XML documents into new XML or HTML documents, using XSLT stylesheets. You can use XSLT to convert data between different XML schemas or to convert XML data into web pages or PDF documents. Also known as Extensible Stylesheet Language Transformations.