HTML element page template

Note: Remove this whole explanatory note before publishing


Page front matter:

The frontmatter at the top of the page is used to define "page metadata". The values should be updated appropriately for the particular element.

md
---
title: "<NameOfTheElement>: The NameOfTheElement element"
slug: Web/HTML/Element/NameOfTheElement
page-type: html-element
status:
  - experimental
  - deprecated
  - non-standard
browser-compat: html.elements.NameOfTheElement
---
title

Title heading displayed at the top of the page. Format as '<NameOfTheElement>: Description of element's purpose'. For example, the <video> element has a title of: '<video>: The Video Embed element'.

slug

The end of the URL path after https://developer.mozilla.org/en-US/docs/. This will be formatted like Web/HTML/Element/NameOfTheElement, where the element name is in lower case. For example, the <video> element has a slug of Web/HTML/Element/video.

page-type

Always html-element.

status

Flags describing the status of this feature. An array which may contain one or more of the following: experimental, deprecated, non-standard. This key should not be set manually: it is set automatically based on values in the browser compatibility data for the feature. See "How to add or update feature statuses".

browser-compat

Replace the placeholder value html.elements.NameOfTheElement with the query string for the element in the Browser compat data repo. The toolchain automatically uses the key to populate the compatibility and specification sections (replacing the {{Compat}} and {{Specifications}} macros).

Note that you may first need to create/update an entry for the element in our Browser compat data repo, and the entry will need to include specification information. See our guide on how to do this.


Top-of-page macros

A number of macro calls appear at the top of the content section (immediately below the page frontmatter). These macros are automatically added by the toolchain (there is no need to add/remove):

  • {{SeeCompatTable}} — this generates a This is an experimental technology banner that indicates the technology is experimental. If it is experimental, and the technology is hidden behind a pref in Firefox, you should also fill in an entry for it in the Experimental features in Firefox page.
  • {{Deprecated_Header}} — this generates a Deprecated banner that indicates that use of the technology is discouraged.
  • {{Non-standard_Header}} — this generates a Non-standard banner that indicates that the feature is not part of any specification.

You should update or delete the following macros according to the advice below:

  • {{SecureContext_Header}} — this generates a Secure context banner that indicates the technology is only available in a secure context. If it isn't, then you can remove the macro call. If it is, then you should also fill in an entry for it in the Features restricted to secure contexts page.
  • {{HTMLSidebar}} — this generates the left-hand-side reference sidebar for the element. The content of the sidebar depends on the tags in the page metadata.
  • Remember to remove the {{MDNSidebar}} macro when you copy this page.

Do not provide status header macros manually. Refer to the section "How to add or update feature statuses" to add these statuses to the page.

Samples of the Experimental, Deprecated, and Non-standard banners are shown right after this note block.

Remember to remove this whole explanatory note before publishing

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

Non-standard: This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The <insert_the_element_name> HTML element does (insert a summary paragraph naming the element and saying what it does, ideally one or two short sentences).

{{EmbedInteractiveExample("pages/tabbed/nameOfElement.html", "tabbed-standard")}}

Further information — at this point, include a few more paragraphs explaining the most important things you need to know about using the element and its main features. It is good to explain briefly what is going on in the interactive example if it is not immediately obvious. You could also explain key points about how this element interacts with important related JavaScript or CSS features. Not too much detail — you don't want to repeat the documentation across pages — but a key point plus a link to that feature's page would be useful. Again, see the <video> page for an example.

Attributes

This element includes the global attributes.

attribute1 Deprecated Experimental

Include description here of what the attribute does. Include one term and definition for each attribute. If the attribute is not experimental/deprecated, remove the relevant macro calls.

attribute2

etc.

Events

Include a table of the events fired on this type of element, if any.

Event name Fired when
event 1 Explain briefly when it is fired
event 2 Explain briefly when it is fired
etc.

Examples

Note that we use the plural "Examples" even if the page only contains one example.

A descriptive heading

Each example must have an H3 heading (###) naming the example. The heading should be descriptive of what the example is doing. For example, "A simple example" does not say anything about the example and therefore, not a good heading. The heading should be concise. For a longer description, use the paragraph after the heading.

See our guide on how to add code examples for more information.

Note: Sometimes you will want to link to examples given on another page.

Scenario 1: If you have some examples on this page and some more examples on another page:

Include an H3 heading (###) for each example on this page and then a final H3 heading (###) with the text "More examples", under which you can link to the examples on other pages. For example:

md
## Examples

### Using the fetch API

Example of Fetch

### More examples

Links to more examples on other pages

Scenario 2: If you only have examples on another page and none on this page:

Don't add any H3 headings; just add the links directly under the H2 heading "Examples". For example:

md
## Examples

For examples of this API, see [the page on fetch()](https://example.org).

Accessibility concerns

Optionally, warn of any potential accessibility concerns that exist with using this element, and how to work around them. Remove this section if there are none to list.

Technical summary

Content categories Fill in a list of the content categories the HTML element belongs to.
Permitted content What content is the element allowed to contain?
Tag omission Can the end tag be omitted, or must it be present? Must it be omitted?
Permitted parents What parent elements can the element be a child of? For example "Any element that accepts flow content."
Permitted ARIA roles Fill in a list of ARIA roles that can be set on the element; for example directory.
DOM interface What DOM interface represents the element in JavaScript? For example HTMLOListElement in the case of ol.

Specifications

{{Specifications}}

To use this macro, remove the backticks and backslash in the markdown file.

Browser compatibility

{{Compat}}

To use this macro, remove the backticks and backslash in the markdown file.

See also

Include links to reference pages and guides related to the current element. For more guidelines, see the See also section in the Writing style guide.

  • link1
  • link2
  • external_link (year)