HTML
Baseline ReadyA practical reference for deciding whether an HTML feature is ready to use now.
- Widely available120features
- Newly available12features
- Limited support39features
Browse by category
<meter>
The <meter> HTML element represents either a scalar value within a known range or a fractional value.
<progress>
The <progress> HTML element displays an indicator showing the completion progress of a task, typically displayed as a progress bar.
Description list
The <dd> HTML element provides the description, definition, or value for the preceding term (<dt>) in a description list (<dl>).
Tables
The <table> HTML element represents tabular data—that is, information presented in a two-dimensional table comprised of rows and columns of cells containing data.
<address>
The <address> HTML element indicates that the enclosed HTML provides contact information for a person or people, or for an organization.
<article>
The <article> HTML element represents a self-contained composition in a document, page, application, or site, which is intended to be independently distributable or reusable (e.
<figure> and <figcaption>
The <figure> HTML element represents self-contained content, potentially with an optional caption, which is specified using the <figcaption> element.
<h1> through <h6>
The <h1> to <h6> HTML elements represent six levels of section headings.
<ol>, <ul>, and <li>
The <li> HTML element is used to represent an item in a list.
contenteditable
The contenteditable global attribute is an enumerated attribute indicating if the element should be editable by the user.
<iframe>
The <iframe> HTML element represents a nested browsing context, embedding another HTML page into the current one.
srcdoc
The srcdoc property of the HTMLIFrameElement interface gets or sets the inline HTML markup of the frame's document.
<button>
The <button> HTML element is an interactive element activated by a user with a mouse, keyboard, finger, voice command, or other assistive technology.
<fieldset> and <legend>
The <fieldset> HTML element is used to group several controls as well as labels (<label>) within a web form.
<form>
The <form> HTML element represents a document section containing interactive controls for submitting information.
<input type="button">
<input> elements of type button are rendered as push buttons, which can be programmed to control custom functionality anywhere on a webpage as required when assigned an event handler function (typically for the click event).
<input type="checkbox">
<input> elements of type checkbox are rendered by default as boxes that are checked (ticked) when activated, like you might see in an official government paper form.
<input type="file" multiple>
The Boolean multiple attribute, if set, means the form control accepts one or more values.
<input type="file">
<input> elements with type="file" let the user choose one or more files from their device storage.
<input type="hidden">
<input> elements of type hidden let web developers include data that cannot be seen or modified by users when a form is submitted.
<input type="image">
<input> elements of type image are used to create graphical submit buttons, i.
<input type="number">
The max attribute defines the maximum value that is acceptable and valid for the input containing the attribute.
<input type="password">
<input> elements of type password provide a way for the user to securely enter a password.
<input type="radio">
<input> elements of type radio are generally used in radio groups—collections of radio buttons describing a set of related options.
<input type="range">
<input> elements of type range let the user specify a numeric value which must be no less than a given value, and no more than another given value.
<input type="reset">
<input> elements of type reset are rendered as buttons, with a default click event handler that resets all inputs in the form to their initial values.
<input type="search">
<input> elements of type search are text fields designed for the user to enter search queries into.
<input type="submit">
<input> elements of type submit are rendered as buttons.
<input>
The <input> HTML element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.
<label>
The <label> HTML element represents a caption for an item in a user interface.
<output>
The <output> HTML element is a container element into which a site or app can inject the results of a calculation or the outcome of a user action.
<select>
The <select> HTML element represents a control that provides a menu of options.
<textarea>
The <textarea> HTML element represents a multi-line plain-text editing control, useful when you want to allow users to enter a sizeable amount of free-form text, for example a comment on a review or feedback form.
autofocus
The autofocus global attribute is a Boolean attribute indicating whether the element should be focused on page load or, if it is nested inside a <dialog> or popover element, when the <dialog> or popover is shown.
Date and time <input> types
<input> elements of type="date" create input fields that let the user enter a date.
dirname
The <input> HTML element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.
Email, telephone, and URL <input> types
<input> elements of type email are used to let the user enter and edit an email address, or, if the multiple attribute is specified, a list of email addresses.
inputmode
The inputmode global attribute is an enumerated attribute that hints at the type of data that might be entered by the user while editing the element or its contents.
<canvas>
Use the HTML <canvas> element with either the canvas scripting API or the WebGL API to draw graphics and animations.
<details>
The <details> HTML element creates a disclosure widget in which information is visible only when the widget is toggled into an open state.
<dialog>
The <dialog> HTML element represents a modal or non-modal dialog box or other interactive component, such as a dismissible alert, inspector, or subwindow.
inert
The inert global attribute is a Boolean attribute indicating that the element and all of its flat tree descendants become inert.
tabindex
The tabindex global attribute allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the Tab key, hence the name) and determine their relative ordering for sequential focus navigation.
<audio>
The <audio> HTML element is used to embed sound content in documents.
<img>
The <img> HTML element embeds an image into the document.
<picture>
The <picture> HTML element contains zero or more <source> elements and one <img> element to offer alternative versions of an image for different display/device scenarios.
<source>
The <source> HTML element specifies one or more media resources for the <picture>, <audio>, and <video> elements.
<video>
The <video> HTML element embeds a media player which supports video playback into the document.
Text tracks
The read-only textTracks
<ruby>
The <ruby> HTML element represents small annotations that are rendered above, below, or next to base text, usually used for showing the pronunciation of East Asian characters.
Import maps
The importmap value of the type attribute of the <script> element indicates that the body of the element contains an import map.
JavaScript modules
The import() syntax, commonly called dynamic import, is a function-like expression that allows loading an ECMAScript module asynchronously and dynamically into a potentially non-module environment.
srcset and sizes
The srcset property of the HTMLImageElement interface identifies one or more image candidate strings, separated using commas (,), each specifying image resources to use under given circumstances.
<a>
The <a> HTML element (or anchor element), with its href attribute, creates a hyperlink to web pages, files, email addresses, locations in the same page, or anything else a URL can address.
accesskey
The accesskey global attribute provides a hint for generating a keyboard shortcut for the current element.
download
The HTMLAnchorElement.
enterkeyhint
The enterkeyhint global attribute
lang
The lang global attribute helps define the language of an element: the language that non-editable elements are written in, or the language that the editable elements should be written in by the user.
spellcheck
The spellcheck global attribute is an enumerated attribute that defines whether the element may be checked for spelling errors.
style (attribute)
The style global attribute contains CSS styling declarations to be applied to the element.
title (attribute)
The title global attribute contains text representing advisory information related to the element it belongs to.
translate
The translate global attribute is an enumerated attribute that is used to specify whether an element's translatable attribute values and its Text node children should be translated when the page is localized, or whether to leave them unchanged.
<link rel="modulepreload">
The modulepreload keyword, for the rel attribute of the <link> element, provides a declarative way to preemptively fetch a module script, parse and compile it, and store it in the document's module map for later execution.
<link rel="preconnect">
The preconnect keyword for the rel attribute of the <link> element is a hint to browsers that the user is likely to need resources from the target resource's origin, and therefore the browser can likely improve the user experience by preemptively initiating a connection to that origin.
<link rel="preload">
The preload value of the <link> element's rel attribute lets you declare fetch requests in the
<aside>
The <aside> HTML element represents a portion of a document whose content is only indirectly related to the document's main content.
<header> and <footer>
The <footer> HTML element represents a footer for its nearest ancestor sectioning content or sectioning root element.
<main>
The <main> HTML element represents the dominant content of the <body> of a document.
<nav>
The <nav> HTML element represents a section of a page whose purpose is to provide navigation links, either within the current document or to other documents.
<section>
The <section> HTML element represents a generic standalone section of a document, which doesn't have a more specific semantic element to represent it.
Content Security Policy (CSP)
The csp property of the HTMLIFrameElement
Referrer policy
The
Sandboxed iframes
The read-only sandbox property of the HTMLIFrameElement returns a live DOMTokenList object indicating extra restrictions on the behavior of the nested content.
<b>
The <b> HTML element is used to draw the reader's attention to the element's contents, which are not otherwise granted special importance.
<base>
The <base> HTML element specifies the base URL to use for all relative URLs in a document.
<bdi>
The <bdi> HTML element tells the browser's bidirectional algorithm to treat the text it contains in isolation from its surrounding text.
<bdo>
The <bdo> HTML element overrides the current directionality of text, so that the text within is rendered in a different direction.
<body>
The <body> HTML element represents the content of an HTML document.
<br>
The <br> HTML element produces a line break in text (carriage-return).
<cite>
The <cite> HTML element is used to mark up the title of a creative work.
<code>
The <code> HTML element displays its contents styled in a fashion intended to indicate that the text is a short fragment of computer code.
<del>
The <del> HTML element represents a range of text that has been deleted from a document.
<dfn>
The <dfn> HTML element indicates a term to be defined.
<div>
The <div> HTML element is the generic container for flow content.
<em>
The <em> HTML element marks text that has stress emphasis.
<embed>
The <embed> HTML element embeds external content at the specified point in the document.
<head>
The <head> HTML element contains machine-readable information (metadata) about the document, like its title, scripts, and style sheets.
<hgroup>
The <hgroup> HTML element represents a heading and related content.
<hr>
The <hr> HTML element represents a thematic break between paragraph-level elements: for example, a change of scene in a story, or a shift of topic within a section.
<html>
The <html> HTML element represents the root (top-level element) of an HTML document, so it is also referred to as the root element.
<i>
The <i> HTML element represents a range of text that is set off from the normal text for some reason, such as idiomatic text, technical terms, taxonomical designations, among others.
<ins>
The <ins> HTML element represents a range of text that has been added to a document.
<kbd>
The <kbd> HTML element represents a span of inline text denoting textual user input from a keyboard, voice input, or any other text entry device.
<link>
The <link> HTML element specifies relationships between the current document and an external resource.
<mark>
The <mark> HTML element represents text which is marked or highlighted for reference or notation purposes due to the marked passage's relevance in the enclosing context.
<menu>
The <menu> HTML element is described in the HTML specification as a semantic alternative to <ul>, but treated by browsers (and exposed through the accessibility tree) as no different than <ul>.
<meta>
The <meta> HTML element represents metadata that cannot be represented by other meta-related elements, such as <base>, <link>, <script>, <style>, or <title>.
<object>
The <object> HTML element represents an external resource, which can be treated as an image, a nested browsing context, or a resource to be handled by a plugin.
<q>
The <q> HTML element indicates that the enclosed text is a short inline quotation.
<s>
The <s> HTML element renders text with a strikethrough, or a line through it.
<samp>
The <samp> HTML element is used to enclose inline text which represents sample (or quoted) output from a computer program.
<script> and <noscript>
The <script> HTML element is used to embed executable code or data; this is typically used to embed or refer to JavaScript code.
<slot>
The <slot> HTML element is a placeholder inside a Web Component that you can fill with your own markup when the component is used.
<small>
The <small> HTML element represents side-comments and small print, like copyright and legal text, independent of its styled presentation.
<span>
The <span> HTML element is a generic inline container for phrasing content, which does not inherently represent anything.
<strong>
The <strong> HTML element indicates that its contents have strong importance, seriousness, or urgency.
<style>
The <style> HTML element contains style information for a document, or part of a document.
<sub> and <sup>
The <sub> HTML element specifies inline text which should be displayed as subscript for solely typographical reasons.
<template>
The <template> HTML element serves as a mechanism for holding HTML fragments, which can either be used later via JavaScript or generated immediately into shadow DOM.
<time>
The <time> HTML element represents a specific period in time.
<title>
The <title> HTML element defines the document's title that is shown in a browser's title bar or a page's tab.
<u>
The <u> HTML element represents a span of inline text which should be rendered in a way that indicates that it has a non-textual annotation.
<var>
The <var> HTML element represents the name of a variable in a mathematical expression or a programming context.
<wbr>
The <wbr> HTML element represents a word break opportunity—a position within text where the browser may optionally break a line, though its line-breaking rules would not otherwise create a break at that location.
Image maps
The <area> HTML element defines an area inside an image map that has predefined clickable areas.
<abbr>
The <abbr> HTML element represents an abbreviation or acronym.
<blockquote>
The <blockquote> HTML element indicates that the enclosed text is an extended quotation.
<data>
The <data> HTML element links a given piece of content with a machine-readable translation.
<p>
The <p> HTML element represents a paragraph.
<pre>
The <pre> HTML element represents preformatted text which is to be presented exactly as written in the HTML file.
Lazy-loading images and iframes
The loading property of the HTMLIFrameElement interface is a string that provides a hint to the browser indicating whether the iframe should be loaded immediately on page load, or only when it is needed.
<input type="file" webkitdirectory>
The webkitRelativePath read-only property of the File interface
Invoker commands
The CommandEvent interface represents an event notifying the user when a button element with valid commandForElement and command attributes is about to invoke an interactive element.
Declarative shadow DOM
The <template> HTML element serves as a mechanism for holding HTML fragments, which can either be used later via JavaScript or generated immediately into shadow DOM.
Popover
The popover global attribute is used to designate an element as a popover element.
Preloading responsive images
The imageSizes property of the HTMLLinkElement interface indicates the size and conditions for the preloaded images defined by the imageSrcset property.
contenteditable="plaintext-only"
The contenteditable="plaintext-only" global HTML attribute allows the user to edit the content of an element, but prevents rich-text formatting.
Scroll to text fragment
The fragmentDirective read-only property of the Document interface returns the FragmentDirective for the current document.
<link rel="dns-prefetch">
The dns-prefetch keyword for the rel attribute of the <link> element is a hint to browsers that the user is likely to need resources from the target resource's origin, and therefore the browser can likely improve the user experience by preemptively performing DNS resolution for that origin.
Fetch priority
The fetchpriority attribute allows a developer to signal that fetching a particular image early in the loading process has more or less impact on user experience than a browser can reasonably infer when assigning an internal priority.
<search>
The <search> HTML element is a container representing the parts of the document or application with form controls or other content related to performing a search or filtering operation.
Mutually exclusive <details> elements
The name property of the HTMLDetailsElement interface reflects the name attribute of <details> elements.
Attribution reporting
The attributionSrc property of the HTMLAnchorElement interface gets and sets the attributionsrc attribute on an <a> element programmatically, reflecting the value of that attribute.
Permissions policy
The allow property of the HTMLIFrameElement interface indicates the Permissions Policy specified for this <iframe> element.
Picture-in-picture (video)
The exitPictureInPicture() method of the Document interface
Presentation API
The presentation read-only property of Navigator serves as the entry
Topics
The browsingTopics() method of the Document interface returns a promise that fulfills with an array of objects representing the top topics for the user, one from each of the last three epochs.
`alpha` and `colorspace` attributes for `<input type=color>`
<input> elements of type color provide a user interface element that lets a user specify a color, either by using a visual color picker interface or by entering the color into a text field in a CSS color value format.
<datalist>
The <datalist> HTML element contains a set of <option> elements that represent the permissible or recommended options available to choose from within other controls.
<input type="color">
<input> elements of type color provide a user interface element that lets a user specify a color, either by using a visual color picker interface or by entering the color into a text field in a CSS color value format.
Customizable <select>
The <selectedcontent> HTML is used inside a <select> element to display the contents of its currently selected <option> within its first child <button>.
HTML media capture
The capture attribute specifies that, optionally, a new file should be captured, and which device should be used to capture that new media of a type defined by the accept attribute.
writingsuggestions
The writingsuggestions global attribute is an enumerated attribute indicating if browser-provided writing suggestions should be enabled under the scope of the element or not.
controlslist
The controlsList property of the
Lazy-loading media
The loading property of the HTMLMediaElement interface provides a hint to the browser on how to handle the loading of the media which is currently outside the window's visual viewport.
Remote playback
The RemotePlayback interface of the Remote Playback API allows the page to detect availability of remote playback devices, then connect to and control playing on these devices.
<link rel="expect">
The rel="expect" attribute for the <link> HTML element is a hint to the browser to block rendering until the element that the href value references is connected to the document and fully parsed.
<meta name="theme-color">
The theme-color value for the name attribute of the <meta> element indicates a suggested color that user agents should use to customize the display of the page or of the surrounding user interface.
blocking="render"
The read-only blocking property of the HTMLLinkElement returns a live DOMTokenList object containing the operations that should be blocked on the fetching of an external resource.
Compression Dictionary Transport
The rel attribute defines the relationship between a linked resource and the current document.
hidden="until-found"
An element receives a beforematch event when it is in the hidden until found state and the browser is about to reveal its content because the user has found the content through the "find in page" feature or through fragment navigation.
Interest invokers
The interestForElement property of the HTMLAnchorElement interface gets or sets the target element of an interest invoker, in cases where the associated <a> element is specified as an interest invoker.
popover="hint"
The popover="hint" global HTML attribute creates a popover that is subordinate to popovers with a popover="auto" attribute. You can use this to create tooltips that don't dismiss auto popovers.
Signature-based resource integrity
Signature-based resource integrity verifies a script's provenance by checking that the resource has been signed with a trusted key given by the <script> element's integrity attribute.
Speculation rules
The speculationrules value of the type attribute of the <script> element indicates that the body of the element contains speculation rules.
<fencedframe>
The <fencedframe> HTML element represents a nested browsing context, embedding another HTML page into the current one.
<img sizes="auto" loading="lazy">
The sizes property of the HTMLImageElement interface allows you to specify the layout width of the image for each of a list of media queries, or auto for lazy-loaded images to allow the browser to automatically select an image to display based on the layout size of the element.
<meta name="application-title">
The name="application-title" attribute for the <meta> HTML element sets an installed web application's title bar text.
Alternative style sheets
The alternate stylesheet keyword pair, when used as a value for the rel attribute of the <link> element, indicates that the target resource is an alternative style sheet.
autocapitalize
The autocapitalize global attribute is an enumerated attribute that controls whether inputted text is automatically capitalized and, if so, in what manner.
autocorrect
The autocorrect global attribute is an enumerated attribute that controls whether autocorrection of editable text is enabled for spelling and/or punctuation errors.
Feature policy
The featurePolicy read-only property of the Document interface returns the FeaturePolicy interface which provides a simple API for inspecting the Permissions Policies applied to a specific document.
ping
The ping property of the HTMLAnchorElement interface is a space-separated list of URLs.
Private click measurement
The attributionSourceId property of the HTMLAnchorElement interface gets and sets the attributionsourceid HTML attribute on an <a> element.
Virtual keyboard
The virtualKeyboard read-only property
Web app manifest
The manifest keyword for the rel attribute of the <link> element indicates that the target resource is a Web app manifest.
<link rel="prefetch">
The prefetch keyword for the rel attribute of the <link> element provides a hint to browsers that the user is likely to need the target resource for future navigations, and therefore the browser can likely improve the user experience by preemptively fetching and caching the resource.
Credentialless iframes
IFrame credentialless provides a mechanism for developers to load third-party resources in <iframe>s using a new, ephemeral context.
<dialog closedby>
The closedBy property of the
Table styling
The align property of the HTMLTableCaptionElement interface is a string indicating how to horizontally align text in the <caption> table element.
Customized built-in elements
The is global attribute allows you to specify that a standard HTML element should behave like a defined customized built-in element (see Using custom elements for more details).