HTML Dictionary

A beginner-friendly HTML reference that clearly explains tags and attributes, organizes them into easy-to-understand categories, and includes browser support to help learners build confidently for the web.

Learn HTML
TagDescription
<!--...-->HTML Comment: This allows you to write notes or explanations in your code that won't be visible on the actual webpage. Anything between <!-- and --> is completely ignored by the browser. Example: <!-- This is a note to myself -->. It's useful for documenting your code or temporarily hiding content without deleting it.

Introduced in:
HTMLLevel 1Challenge 22

<!DOCTYPE>Document Type Declaration: This isn't technically a tag but a declaration that tells the browser what version of HTML you're using. It must be the very first thing in your HTML document, before the <html> tag. For modern HTML5, you simply write <!DOCTYPE html>. This helps the browser render your page correctly.

Introduced in:
HTMLLevel 1Challenge 1

<a>Anchor/Link: Creates clickable links that take users to other pages or locations. You use the href attribute to specify where the link goes. Example: <a href="https://example.com">Click here</a>. The text between the opening and closing tags is what users see and click on. Can link to other websites, other pages on your site, or specific sections on the same page.

Introduced in:
HTMLLevel 1Challenge 23

<abbr>Abbreviation: Used to mark up abbreviations or acronyms. You can use the title attribute to show the full meaning when users hover over it. Example: <abbr title="Hypertext Markup Language">HTML</abbr>. This helps with accessibility and provides additional context for readers.

Introduced in:
HTMLLevel 1Challenge 20

<acronym>Acronym (Deprecated): This was used for acronyms but is now obsolete in HTML5. You should use <abbr> instead for all abbreviations and acronyms. It worked similarly to <abbr> but has been removed from modern HTML standards.

Introduced in:
HTMLLevel 2Challenge 52

<address>Contact Information: Contains contact information for the author or owner of a document or article. Typically displays in italic text. Example: <address>Email: info@example.com</address>. Usually used in footers or at the end of articles to provide ways to contact someone.

Introduced in:
HTMLLevel 6Challenge 188

<applet>Java Applet (Deprecated): This was used to embed Java applets (small applications) into web pages. It's completely obsolete now and no longer supported by modern browsers. Use <object> or <embed> for similar functionality, though Java applets themselves are rarely used anymore.

Introduced in:
HTMLLevel 6Challenge 183

<area>Image Map Area: Defines clickable areas within an image map. Used inside a <map> tag to create different clickable regions on a single image. Example: you could have a map image where clicking different countries takes you to different pages. Requires coordinates and a shape attribute.

Introduced in:
HTMLLevel 6Challenge 170

<article>Article Content: Represents a self-contained piece of content that could stand alone, like a blog post, news article, or forum post. It should make sense on its own even if taken out of the page. Search engines and screen readers use this to identify independent content sections.

Introduced in:
HTMLLevel 2Challenge 41

<aside>Sidebar Content: Contains content that's related to the main content but separate from it, like sidebars, pull quotes, or advertising. Think of it as "side information" that complements but isn't essential to the main content. Often styled to appear beside the main content.

Introduced in:
HTMLLevel 2Challenge 53

<audio>Audio Player: Embeds audio content like music or podcasts directly into your webpage. Example: <audio src="song.mp3" controls></audio>. The controls attribute adds play, pause, and volume buttons. You can provide multiple audio formats for different browser compatibility.

Introduced in:
HTMLLevel 2Challenge 37

<b>Bold Text: Makes text bold without implying any special importance (unlike <strong>). It's purely a visual style. Example: <b>This is bold</b>. Use this when you want bold text for stylistic purposes, not to emphasize importance. For important text, use <strong> instead.

Introduced in:
HTMLLevel 4Challenge 100

<base>Base URL: Specifies a base URL for all relative URLs in a document. Goes in the <head> section. Example: <base href="https://example.com/"> means all relative links will be relative to that URL. There can only be one <base> tag per document.

Introduced in:
HTMLLevel 1Challenge 10

<basefont>Base Font (Deprecated): Used to set a default font, size, and color for all text in a document. This is obsolete in HTML5. Use CSS instead to control typography. It was removed because styling should be done with CSS, not HTML.

Introduced in:
HTMLLevel 3Challenge 87

<bdi>Bidirectional Isolate: Isolates text that might be formatted in a different direction (left-to-right vs right-to-left) from the surrounding text. Useful when you have user-generated content that might be in Arabic or Hebrew mixed with English. Prevents directional formatting conflicts.

Introduced in:
HTMLLevel 6Challenge 162

<bdo>Bidirectional Override: Overrides the current text direction. Use the dir attribute with values "ltr" (left-to-right) or "rtl" (right-to-left). Example: <bdo dir="rtl">This text will go right to left</bdo>. Forces text to display in a specific direction regardless of the characters used.

Introduced in:
HTMLLevel 6Challenge 163

<big>Big Text (Deprecated): Made text one size larger than the surrounding text. Obsolete in HTML5 - use CSS like font-size: larger; instead. Removed because HTML should focus on meaning, not appearance.

Introduced in:
HTMLLevel 3Challenge 86

<blockquote>Block Quotation: Used for longer quotations that should be set apart from the regular text, typically indented. Example: <blockquote>This is a long quote from someone else.</blockquote>. Usually displayed with margins on both sides. Use the cite attribute to specify the source URL.

Introduced in:
HTMLLevel 2Challenge 44

<body>Document Body: Contains all the visible content of your webpage - everything users actually see and interact with. There should be exactly one <body> tag per HTML document, and it comes after the <head> tag. Everything from text to images to videos goes inside the body.

Introduced in:
HTMLLevel 1Challenge 15

<br>Line Break: Creates a single line break, moving content to the next line. It's a self-closing tag, meaning it doesn't have a closing tag. Example: Line 1<br>Line 2 puts Line 2 below Line 1. Use sparingly - for most spacing, CSS is better. Mainly for breaks within text like addresses or poems.

Introduced in:
HTMLLevel 5Challenge 154

<button>Button: Creates a clickable button. Unlike <input type="button">, you can put HTML content inside it. Example: <button>Click Me!</button>. You can add images, icons, or styled text inside. Use the type attribute ("submit", "reset", or "button") to control behavior in forms.

Introduced in:
HTMLLevel 5Challenge 146

<canvas>Graphics Canvas: Creates a blank rectangular area where you can draw graphics using JavaScript. Used for animations, games, data visualizations, and image manipulation. Example: <canvas id="myCanvas" width="200" height="100"></canvas>. The canvas itself is just an empty space - all the actual drawing is done with JavaScript code.

Introduced in:
HTMLLevel 3Challenge 69

<caption>Table Caption: Provides a title or description for a table. Must be placed immediately after the opening <table> tag. Example: <caption>Monthly Sales Data</caption>. Helps users understand what the table is about before reading it. Important for accessibility.

Introduced in:
HTMLLevel 3Challenge 89

<center>Centered Content (Deprecated): Used to center-align text and other content. Obsolete in HTML5 - use CSS text-align: center; instead. Removed because alignment is a visual style that belongs in CSS, not HTML structure.

Introduced in:
HTMLLevel 3Challenge 82

<cite>Citation: Marks the title of a creative work like a book, movie, song, or article. Example: <cite>The Great Gatsby</cite>. Typically displays in italics. Used for references and citations, helping distinguish work titles from regular text.

Introduced in:
HTMLLevel 2Challenge 43

<code>Code: Displays text as computer code in a monospace font. Example: <code>console.log('Hello')</code>. Use this for inline code snippets within regular text. For multi-line code blocks, combine it with <pre>. Helps distinguish code from regular text.

Introduced in:
HTMLLevel 3Challenge 71

<col>Table Column: Defines properties for a column within a table. Used inside <colgroup>. It's self-closing and doesn't contain content. Example: <col style="background-color:yellow">. Allows you to style entire columns at once without repeating styles for each cell.

Introduced in:
HTMLLevel 3Challenge 91

<colgroup>Column Group: Groups one or more columns in a table for formatting purposes. Contains <col> tags. Goes right after the <caption> (if present) and before any table rows. Useful for applying styles to multiple columns at once.

Introduced in:
HTMLLevel 3Challenge 90

<data>Machine-Readable Data: Links content to a machine-readable value. The value attribute contains data that computers can process, while the content is human-readable. Example: <data value="12345">Product ABC</data>. Useful for providing structured data that scripts or search engines can use.

Introduced in:
HTMLLevel 2Challenge 57

<datalist>Input Options List: Provides a list of predefined options for an <input> element, creating an autocomplete dropdown. Example: Users type in an input field and see suggestions. Link it to an input with the list attribute. Gives users suggestions while still allowing custom input.

Introduced in:
HTMLLevel 5Challenge 132

<dd>Description Details: Provides the description or definition in a description list. Must be used inside a <dl> tag and follows a <dt> (term) tag. Example: In a glossary, <dd> contains the definition. Multiple <dd> elements can follow a single <dt>.

Introduced in:
HTMLLevel 2Challenge 50

<del>Deleted Text: Indicates text that has been deleted from a document. Usually displays with a strikethrough line. Example: <del>This was removed</del>. Often used with <ins> to show edits. Can include datetime and cite attributes to explain when and why content was deleted.

Introduced in:
HTMLLevel 6Challenge 176

<details>Disclosure Widget: Creates an expandable/collapsible section that users can open and close. Contains a <summary> tag for the visible heading. Example: Click to reveal hidden content. Great for FAQs, additional information, or anything that should be hidden by default but accessible.

Introduced in:
HTMLLevel 2Challenge 46

<dfn>Definition Term: Marks the term being defined in a definition or explanation. Example: <dfn>HTML</dfn> is a markup language. Usually displayed in italics. Represents the first occurrence of a term that's being explained in the surrounding text.

Introduced in:
HTMLLevel 2Challenge 49

<dialog>Dialog Box: Creates a dialog box or modal window that can be shown or hidden. Example: <dialog>This is a popup</dialog>. Use JavaScript's show() or showModal() methods to display it. The open attribute makes it visible. Useful for popups, confirmations, or forms that appear over the main content.

Introduced in:
HTMLLevel 6Challenge 167

<dir>Directory list (Deprecated): Was used to create a directory listing of files. Completely obsolete in HTML5. Use <ul> (unordered list) instead for lists. Removed because it had no unique functionality that other list tags didn't provide.

Introduced in:
HTMLLevel 6Challenge 185

<div>Division/Container: A generic container for grouping content. It has no semantic meaning by itself - it's just a box for organizing and styling content with CSS or manipulating with JavaScript. Example: <div class="container">content here</div>. One of the most commonly used tags for layout and structure.

Introduced in:
HTMLLevel 1Challenge 19

<dl>Description List: Creates a list of terms and their descriptions, like a glossary or dictionary. Contains <dt> (term) and <dd> (description) tags. Example: perfect for FAQs, vocabulary lists, or metadata. Different from <ul> and <ol> because it pairs terms with descriptions.

Introduced in:
HTMLLevel 2Challenge 48

<dt>Description Term: Defines a term in a description list. Must be inside a <dl> tag and is followed by one or more <dd> tags that describe it. Example: <dt>HTML</dt> would be the term, followed by <dd> containing its definition.

Introduced in:
HTMLLevel 2Challenge 49

<em>Emphasis: Emphasizes text, indicating stress emphasis that changes the meaning. Typically displays in italics. Example: I <em>really</em> like pizza stresses "really". Different from <i> because it has semantic meaning - it's not just visual styling, it conveys importance. Screen readers will emphasize this text.

Introduced in:
HTMLLevel 1Challenge 29

<embed>Embedded Content: Embeds external content like PDFs, videos, or plugins. Example: <embed src="file.pdf" type="application/pdf">. It's self-closing and can embed various media types. Modern alternative to the obsolete <object> for many uses. Dimensions can be controlled with width and height attributes.

Introduced in:
HTMLLevel 6Challenge 181

<fieldset>Form Field Group: Groups related form controls together and draws a box around them. Often used with <legend> to provide a caption. Example: Group all address fields (street, city, zip) together. Helps organize forms visually and improves accessibility by showing which fields are related.

Introduced in:
HTMLLevel 4Challenge 111

<figcaption>Figure Caption: Provides a caption or description for a <figure>. Must be the first or last child inside <figure>. Example: <figcaption>Image 1: Sunset over mountains</figcaption>. Describes the content of images, diagrams, code snippets, etc. Important for accessibility and context.

Introduced in:
HTMLLevel 2Challenge 36

<figure>Figure with Caption: Represents self-contained content like images, diagrams, code, or illustrations, usually with a caption. Contains the content and a <figcaption>. Example: Used for images that are referenced in the main text. Semantic tag that indicates content is supplementary but referenced.

Introduced in:
HTMLLevel 1Challenge 32

<font>Font Styling (Deprecated): Used to specify font face, size, and color. Completely obsolete in HTML5. Use CSS properties like font-family, font-size, and color instead. Removed because visual styling should be done with CSS, keeping HTML focused on structure and meaning.

Introduced in:
HTMLLevel 3Challenge 83

<footer>Footer Section: Represents the footer of a document or section, typically containing copyright info, links, contact details, or author information. Example: The bottom of a webpage with company info. Can be used for the page footer or for footer information within an <article> or <section>.

Introduced in:
HTMLLevel 2Challenge 44

<form>Form: Creates an interactive form for user input. Contains form controls like text fields, buttons, checkboxes, etc. Example: <form action="/submit" method="post">. The action attribute specifies where to send form data, and method specifies how (usually "get" or "post"). Essential for any user input on websites.

Introduced in:
HTMLLevel 4Challenge 110

<frame>Frame (Deprecated): Defined a single frame within a frameset. Completely obsolete in HTML5 and not supported in modern browsers. Frames divided the browser window into multiple sections, but they caused many usability and accessibility problems, so they were removed entirely.

Introduced in:
HTMLLevel 6Challenge 184

<frameset>Frameset (Deprecated): Contained multiple <frame> elements to divide the browser window. Completely obsolete in HTML5. Use CSS layouts, <iframe>, or modern layout techniques instead. Removed due to accessibility issues and poor user experience. Can't be used in modern HTML at all.

Introduced in:
HTMLLevel 6Challenge 184

<h1> - <h6>Headings Level 1-6: Create headings of different importance levels. <h1> is the main heading (most important), down to <h6> (least important). Example: <h1>Main Title</h1> for the page title, <h2>Section</h2> for sections. Use them in order - don't skip levels. Search engines and screen readers use these to understand page structure.

Introduced in:
HTMLLevel 1Challenge 20

<head>Document Head: Contains metadata about the document - information that doesn't appear on the page itself. Goes between <html> and <body>. Includes things like <title>, <meta> tags, links to CSS files, and scripts. Example: The title that shows in the browser tab goes here. Required in every HTML document.

Introduced in:
HTMLLevel 1Challenge 3

<header>Header Section: Represents introductory content for a page or section, typically containing headings, logos, navigation, or search forms. Example: The top of a webpage with logo and menu. Can be used multiple times in a page - once for the page header and again for section headers within articles.

Introduced in:
HTMLLevel 1Challenge 17

<hgroup>Heading Group: Groups multiple heading elements (<h1>-<h6>) when a heading has multiple levels, like a title and subtitle. Example: Group a main heading with a subheading. Was removed from HTML5 spec, then added back. Use sparingly - often better to use headings alone with proper levels.

Introduced in:
HTMLLevel 1Challenge 28

<hr>Horizontal Rule: Creates a horizontal line (thematic break) across the page. Self-closing tag. Example: <hr>. Used to separate content sections or indicate a topic change. Represents a thematic break rather than just a visual line - has semantic meaning about content structure.

Introduced in:
HTMLLevel 2Challenge 40

<html>HTML Root: The root element that contains all other HTML elements in the document. Every HTML page must have exactly one <html> tag that wraps everything except the <!DOCTYPE> declaration. Includes the lang attribute to specify the language: <html lang="en">. The entire page content goes inside this tag.

Introduced in:
HTMLLevel 1Challenge 2

<i>Italic Text: Displays text in italics for stylistic purposes without implying emphasis. Example: <i>This is italic</i>. Use for technical terms, foreign phrases, thoughts, or ship names. Different from <em> - <i> is purely visual while <em> indicates emphasis. For actual emphasis, use <em> instead.

Introduced in:
HTMLLevel 1Challenge 30

<iframe>Inline Frame: Embeds another HTML page within the current page. Example: <iframe src="https://example.com"></iframe>. Commonly used for embedding maps, videos from YouTube, or content from other sites. Creates a separate browsing context. Use width and height attributes to control size. Security attributes like sandbox can restrict what the embedded page can do.

Introduced in:
HTMLLevel 6Challenge 180

<img>Image: Embeds an image into the page. Self-closing tag. Example: <img src="photo.jpg" alt="Description">. The src attribute specifies the image file location, and alt provides alternative text for screen readers and when images don't load. Also use width and height attributes. The alt text is crucial for accessibility.

Introduced in:
HTMLLevel 2Challenge 35

<input>Input Field: Creates an interactive form control for user input. Self-closing tag. The type attribute determines what kind of input: "text", "password", "email", "checkbox", "radio", "file", "submit", etc. Example: <input type="text" name="username">. One of the most versatile form elements with many possible types and behaviors.

Introduced in:
HTMLLevel 4Challenge 114

<ins>Inserted Text: Indicates text that has been inserted into a document. Usually displays underlined. Example: <ins>This was added</ins>. Often used with <del> to show edits. Can include datetime and cite attributes to explain when and why content was added. Useful for showing document revisions.

Introduced in:
HTMLLevel 6Challenge 175

<kbd>Keyboard Input: Represents user input from a keyboard, voice input, or other input device. Example: Press <kbd>Ctrl</kbd> + <kbd>C</kbd> to copy. Typically displays in a monospace font. Use for keyboard shortcuts, command-line input, or any text the user should enter. Helps distinguish input instructions from regular text.

Introduced in:
HTMLLevel 3Challenge 76

<label>Form Label: Provides a label for a form control, improving usability and accessibility. Example: <label for="email">Email:</label>. The for attribute should match the id of the form control it labels. Clicking the label will focus/activate the associated control. Essential for accessible forms. Users can click the label text to select the input.

Introduced in:
HTMLLevel 4Challenge 113

<legend>Fieldset Legend: Provides a caption for a <fieldset>. Must be the first child inside the <fieldset>. Example: <legend>Personal Information</legend>. Describes what the grouped form fields are for. Important for accessibility, helping users understand the purpose of a group of form controls.

Introduced in:
HTMLLevel 4Challenge 112

<li>List Item: Defines an item in a list. Must be inside <ul> (unordered), <ol> (ordered), or <menu>. Example: <li>First item</li>. Each item in a bulleted or numbered list uses this tag. Can contain any type of content - text, images, even other lists. Required parent is a list element.

Introduced in:
HTMLLevel 1Challenge 23

<link>External Resource Link: Links external resources to the document, most commonly CSS stylesheets. Self-closing tag that goes in the <head>. Example: <link rel="stylesheet" href="styles.css">. Also used for favicons, fonts, and other resources. The rel attribute specifies the relationship type (usually "stylesheet").

Introduced in:
HTMLLevel 1Challenge 12

<main>Main Content: Represents the main content of the document - the central topic or functionality. There should be only one <main> per page, and it shouldn't be inside <article>, <aside>, <footer>, <header>, or <nav>. Helps screen readers skip to the main content. Improves accessibility and SEO.

Introduced in:
HTMLLevel 1Challenge 26

<map>Image Map: Defines an image map - an image with clickable areas. Used with <area> tags to define the clickable regions. Example: A map of a country where clicking different regions goes to different pages. The name attribute links it to an <img> tag's usemap attribute. Allows one image to have multiple clickable zones.

Introduced in:
HTMLLevel 6Challenge 169

<mark>Marked/Highlighted Text: Highlights text as relevant or important in the current context. Example: <mark>highlighted text</mark>. Typically displays with a yellow background. Use for search results, emphasizing matches, or drawing attention to specific parts. Different from <strong> or <em> - it's about relevance, not importance or emphasis.

Introduced in:
HTMLLevel 1Challenge 31

<menu>Menu List: Represents a list of commands or options. Originally deprecated, now redefined in HTML5 for toolbar/menu contexts. Example: Context menus or toolbars. Similar to <ul> but with semantic meaning for interactive commands. Browser support varies, so it's often safer to use <ul> styled as needed.

Introduced in:
HTMLLevel 1Challenge 21

<meta>Metadata: Provides metadata about the HTML document - information for browsers and search engines. Self-closing tag that goes in <head>. Example: <meta charset="UTF-8"> for character encoding, or <meta name="description" content="Page description"> for SEO. Also used for viewport settings on mobile and social media previews.

Introduced in:
HTMLLevel 1Challenge 4

<meter>Scalar Measurement: Represents a scalar measurement within a known range, like disk usage or temperature. Example: <meter value="7" min="0" max="10">7 out of 10</meter>. Shows a gauge. Different from <progress> - meter is for measurements that don't change automatically, while progress is for tasks that complete over time.

Introduced in:
HTMLLevel 2Challenge 58

<nav>Navigation Section: Defines a section containing navigation links. Example: The main menu of a website. Can be used for the main site navigation, in-page links, or pagination. Should only be used for major navigation blocks. Not every group of links needs to be in <nav> - use it for primary navigation. Helps screen readers identify navigation.

Introduced in:
HTMLLevel 1Challenge 18

<noframes>No Frames Content (Deprecated): Provided content for browsers that didn't support frames. Completely obsolete since frames are no longer used in HTML5. There's no modern equivalent needed because frames themselves aren't used anymore.

Introduced in:
HTMLLevel 6Challenge 184

<noscript>No Script Content: Provides alternative content for users whose browsers don't support JavaScript or have it disabled. Example: <noscript>This site requires JavaScript</noscript>. The content only displays if JavaScript isn't available. Use to provide fallback content or messages about site requirements. Important for accessibility.

Introduced in:
HTMLLevel 1Challenge 16

<object>Embedded Object: Embeds external resources like images, videos, PDFs, or other web pages. Example: <object data="file.pdf" type="application/pdf"></object>. More flexible than <img> because it can contain fallback content inside. Can also use <param> tags to pass parameters to the embedded content. Often replaced by more specific tags like <video>, <audio>, or <iframe>.

Introduced in:
HTMLLevel 6Challenge 181

<ol>Ordered List: Creates a numbered (ordered) list. Contains <li> items. Example: Step-by-step instructions or rankings. By default shows numbers (1, 2, 3), but can use type attribute for letters (a, b, c) or Roman numerals (i, ii, iii). The start attribute changes where numbering begins. Use when order matters.

Introduced in:
HTMLLevel 2Challenge 55

<optgroup>Option Group: Groups related options within a <select> dropdown. Example: Group countries by continent in a country selector. The label attribute provides a heading for the group. Options within the group are still selectable, but the group label itself isn't. Helps organize long dropdown lists.

Introduced in:
HTMLLevel 4Challenge 124

<option>Select Option: Defines an option within a <select> dropdown or <datalist>. Example: <option value="blue">Blue</option>. The value attribute is what gets submitted with the form, while the text between tags is what users see. The selected attribute makes an option selected by default.

Introduced in:
HTMLLevel 4Challenge 125

<output>Output Result: Represents the result of a calculation or user action. Example: In a form that calculates totals. The for attribute can reference the input elements used in the calculation. Typically populated by JavaScript. Used to display results in a semantically meaningful way.

Introduced in:
HTMLLevel 5Challenge 137

<p>Paragraph: Defines a paragraph of text. Example: <p>This is a paragraph.</p>. One of the most basic and common HTML tags. Browsers automatically add space before and after paragraphs. Use for blocks of text - don't put other block-level elements inside paragraphs. Each paragraph represents a separate idea or topic.

Introduced in:
HTMLLevel 1Challenge 16

<param>Object Parameter (Deprecated): Defined parameters for <object> elements. Example: Passing settings to embedded Flash content. Rarely used now because <object> itself is less common, and many plugins like Flash are obsolete. Modern alternatives handle parameters differently.

Introduced in:
HTMLLevel 6Challenge 181

<picture>Picture Container: Contains multiple image sources, allowing different images for different screen sizes or resolutions (responsive images). Example: Show a different image on mobile vs desktop. Contains <source> elements and a fallback <img>. The browser picks the most appropriate image. Great for art direction and optimizing image loading.

Introduced in:
HTMLLevel 2Challenge 33

<pre>Preformatted Text: Displays text exactly as written, preserving spaces and line breaks. Uses a monospace font. Example: <pre>Code with spaces</pre> keeps all the extra spaces. Perfect for displaying code, ASCII art, or any text where formatting matters. Normally browsers collapse multiple spaces - <pre> prevents this.

Introduced in:
HTMLLevel 6Challenge 174

<progress>Progress Indicator: Shows completion progress of a task. Example: <progress value="70" max="100">70%</progress>. The value is current progress, max is the total. Displays as a progress bar. Use for file uploads, form completion, or any ongoing task. Different from <meter> - progress is for tasks that change over time toward completion.

Introduced in:
HTMLLevel 5Challenge 145

<q>Inline Quote: Used for short inline quotations. Example: He said <q>Hello</q>. Browsers automatically add quotation marks around the content. Use the cite attribute to reference the source URL. Different from <blockquote> which is for longer, block-level quotes. Use <q> when the quote is part of a sentence.

Introduced in:
HTMLLevel 6Challenge 190

<rp>Ruby Fallback: Provides fallback parentheses for browsers that don't support ruby annotations. Used within <ruby>. Example: Shows parentheses around pronunciation guides when ruby isn't supported. Only displays in browsers without ruby support. Part of the ruby annotation system for East Asian typography.

Introduced in:
HTMLLevel 6Challenge 164

<rt>Ruby Text: Defines the text part of a ruby annotation - small annotations above or beside text, typically for pronunciation guides in East Asian languages. Example: Showing how to pronounce a Japanese kanji character. Goes inside <ruby>. The annotation appears above (or beside) the main text.

Introduced in:
HTMLLevel 6Challenge 164

<ruby>Ruby Annotation: Represents ruby annotations - small annotations above or beside text used for pronunciation guides, especially in East Asian typography. Example: Showing pronunciation of Japanese kanji. Contains the base text and <rt> (ruby text) elements. Can also include <rp> for browser fallback. Common in Japanese, Chinese, and Korean text.

Introduced in:
HTMLLevel 6Challenge 164

<s>Strikethrough: Displays text with a strikethrough line, indicating it's no longer relevant or accurate. Example: <s>Was $100</s> Now $80 for sale prices. Different from <del> - use <s> for things that are no longer true but weren't actually deleted from the document. <del> is for content that was removed.

Introduced in:
HTMLLevel 3Challenge 84

<samp>Sample Output: Represents sample output from a computer program or system. Example: <samp>Error: File not found</samp>. Typically displays in a monospace font. Use for displaying program output, error messages, or computer-generated text. Helps distinguish system output from regular text or code input.

Introduced in:
HTMLLevel 5Challenge 156

<script>Script: Embeds or references JavaScript code. Example: <script src="script.js"></script> for external files, or put code directly between the tags. Can go in <head> or <body>. Use async or defer attributes to control loading behavior. Essential for adding interactivity and dynamic behavior to web pages.

Introduced in:
HTMLLevel 6Challenge 191

<search>Search Section: Represents a section containing search functionality. Example: The search box and button on a website. New in HTML5 as a semantic way to mark search features. Contains the search form and related controls. Helps assistive technologies identify search functionality. Similar to <form role="search"> but clearer.

Introduced in:
HTMLLevel 4Challenge 109

<section>Section: Represents a thematic grouping of content, typically with a heading. Example: Chapters in a document or different topics on a page. More specific than <div> (which has no meaning) but more general than <article>. Each section should have a heading. Use when content forms a distinct, themed portion of the document.

Introduced in:
HTMLLevel 1Challenge 27

<select>Dropdown List: Creates a dropdown selection list. Contains <option> elements. Example: <select name="color"><option>Red</option></select>. Users click to see options and choose one. The multiple attribute allows selecting multiple options. The size attribute controls how many options are visible at once. Essential form control for choosing from predefined options.

Introduced in:
HTMLLevel 4Challenge 123

<small>Small Text: Displays smaller text, typically for side comments, fine print, or legal text. Example: <small>Terms and conditions apply</small>. Represents less important content. Not just a styling tag - it has semantic meaning about the content's significance. Often used for copyright notices, disclaimers, or caveats.

Introduced in:
HTMLLevel 2Challenge 60

<source>Media Source: Specifies multiple media resources for <picture>, <audio>, or <video> elements. Self-closing tag. Example: Provide both MP4 and WebM video formats so any browser can play one. The browser picks the first format it supports. Enables responsive images and cross-browser media compatibility.

Introduced in:
HTMLLevel 2Challenge 34

<span>Inline Container: A generic inline container for grouping and styling content. Has no semantic meaning on its own. Example: <span class="highlight">important text</span>. Use for styling specific parts of text or for JavaScript manipulation. Unlike <div> (block-level), <span> is inline and doesn't create line breaks. Very commonly used for applying CSS or JavaScript to small text portions.

Introduced in:
HTMLLevel 2Challenge 42

<strike>Strikethrough (Deprecated): Displayed text with a line through it. Obsolete in HTML5 - use <s> or <del> instead depending on meaning. Removed because it was purely visual without semantic meaning. Use <del> for deleted content or <s> for content that's no longer accurate.

Introduced in:
HTMLLevel 3Challenge 84

<strong>Strong Importance: Indicates strong importance, seriousness, or urgency. Typically displays as bold. Example: <strong>Warning:</strong> Don't do this. Has semantic meaning unlike <b> (which is just visual). Screen readers emphasize this text. Use for truly important content, not just to make text bold. Conveys meaning beyond appearance.

Introduced in:
HTMLLevel 1Challenge 30

<style>Style Information: Contains CSS style rules for the document. Goes in the <head> section. Example: <style>body { color: blue; }</style>. Defines styles directly in the HTML rather than an external stylesheet. Good for small style changes, but external CSS files are usually better for maintainability. Can target elements throughout the page.

Introduced in:
HTMLLevel 1Challenge 14

<sub>Subscript: Displays text as subscript - slightly below and smaller than normal text. Example: H<sub>2</sub>O for water's chemical formula. Use for chemical formulas, mathematical notation, or footnote references. Purely for display purposes but important for correctly representing certain types of content.

Introduced in:
HTMLLevel 5Challenge 155

<summary>Details Summary: Provides a visible heading for a <details> element. Must be the first child inside <details>. Example: The clickable text that reveals/hides content

Introduced in:
HTMLLevel 2Challenge 47

<sup>Superscript: Displays text as superscript - slightly above and smaller than normal text. Example: E = mc<sup>2</sup> for Einstein's equation or 1<sup>st</sup> for "first place". Use for mathematical exponents (like squared or cubed), ordinal number indicators (1st, 2nd, 3rd), or footnote reference numbers. The annotation appears raised above the baseline and is typically rendered smaller than surrounding text.

Introduced in:
HTMLLevel 5Challenge 154

<svg>Scalable Vector Graphics: Embeds vector graphics directly into your HTML document. Example: <svg width="100" height="100"><circle cx="50" cy="50" r="40"/></svg> draws a circle. Unlike regular images (JPG, PNG), SVG graphics are defined by mathematical coordinates and shapes, so they scale to any size without losing quality or becoming pixelated. Perfect for icons, logos, charts, and illustrations. Contains its own special elements like <circle>, <rect>, <path>, <line>, etc. Can be styled with CSS and animated with JavaScript.

Introduced in:
HTMLLevel 3Challenge 78

<table>Table: Creates a structured data table with rows and columns. Example: Use for displaying spreadsheet-like data, schedules, or comparison charts. A table consists of <tr> elements (rows) that contain <td> elements (data cells) or <th> elements (header cells). Can be organized with <thead>, <tbody>, and <tfoot> sections. Tables should be used for tabular data only, never for page layout (use CSS for layout instead). Proper tables improve accessibility and make data easier to understand.

Introduced in:
HTMLLevel 3Challenge 88

<tbody>Table Body: Groups the main body content rows in a table, separating them from header (<thead>) and footer (<tfoot>) rows. Example: In a sales table, <tbody> would contain all the individual sale records, while the column headers are in <thead>. Contains one or more <tr> elements. Helps browsers and screen readers understand table structure. Useful for styling - you can apply different styles to the body versus headers/footers. When printing long tables, browsers can repeat headers and footers on each page while the body content flows.

Introduced in:
HTMLLevel 4Challenge 98

<td>Table Data Cell: Defines a single data cell within a table row. Example: <td>John Smith</td> creates one cell containing "John Smith". Must be inside a <tr> (table row). Each <td> represents one piece of information in the table grid. Can contain any type of content - text, images, links, even other tables. Use the colspan attribute to make a cell span multiple columns, or rowspan to span multiple rows. Different from <th> which is for headers.

Introduced in:
HTMLLevel 4Challenge 100

<template>Content Template: Holds HTML content that is not rendered immediately but can be used later by JavaScript. Example: <template id="card"><div class="card">...</div></template>. The content inside is completely hidden and inert - it won't display, scripts won't run, images won't load. JavaScript can clone and activate this content when needed, making it perfect for creating reusable components or dynamically generating repeated elements. Think of it as a blueprint that JavaScript can copy and use multiple times without rewriting the HTML.

Introduced in:
HTMLLevel 6Challenge 177

<textarea>Multi-line Text Input: Creates a multi-line text input field where users can enter longer text. Example: <textarea rows="4" cols="50">Default text here</textarea>. Unlike <input type="text"> which is single-line, this allows for multiple lines and includes a scrollbar if needed. The rows attribute sets visible height, cols sets width (though CSS is better for sizing). Perfect for comments, messages, descriptions, or any text that might span multiple lines. The text between opening and closing tags becomes the default value.

Introduced in:
HTMLLevel 5Challenge 133

<tfoot>Table Footer: Groups footer rows in a table, typically containing summary information like totals. Example: In a sales table, <tfoot> might contain a row showing the total of all sales. Contains one or more <tr> elements. Must come before <tbody> in the HTML (even though it displays at the bottom), or after <tbody> depending on HTML version - HTML5 allows it after. When printing long tables, browsers can repeat the footer on every page. Useful for styling footer rows differently from body rows.

Introduced in:
HTMLLevel 3Challenge 90

<th>Table Header Cell: Defines a header cell in a table - cells that describe what the columns or rows contain. Example: <th>Name</th><th>Age</th> creates column headers. Similar to <td> but semantically indicates this is a label, not data. Typically displays bold and centered by default. Use the scope attribute ("col" or "row") to specify whether it's a column or row header - this is crucial for accessibility. Screen readers use <th> elements to help users understand table structure. Can also use colspan and rowspan like <td>.

Introduced in:
HTMLLevel 3Challenge 95

<thead>Table Header: Groups the header rows of a table, containing the column labels or titles. Example: <thead><tr><th>Name</th><th>Price</th></tr></thead>. Contains one or more <tr> elements with <th> cells. Separates header content from the main body data, making tables more organized and accessible. When printing long tables, browsers can repeat the header on every page. Allows different styling for headers versus data rows. Should appear before <tbody> in the HTML structure.

Introduced in:
HTMLLevel 3Challenge 89

<time>Date/Time: Represents a specific date, time, or duration in a machine-readable format. Example: <time datetime="2025-12-31">December 31, 2025</time>. The datetime attribute contains the standardized format (ISO 8601) that computers can understand, while the content between tags is the human-readable version. Useful for events, publication dates, or any temporal information. Helps search engines and browsers understand dates properly. Can represent dates, times, durations, or date ranges. Important for structured data and accessibility.

Introduced in:
HTMLLevel 2Challenge 56

<title>Document Title: Defines the title of the HTML document that appears in the browser tab, bookmarks, and search engine results. Example: <title>My Awesome Website</title>. Goes inside the <head> section, never in <body>. This is not visible on the actual page content - it only shows in the browser tab/window title bar. Every HTML document must have exactly one <title> tag. Extremely important for SEO (search engine optimization) and usability. Should be descriptive and unique for each page. Limited to about 50-60 characters for best display in search results.

Introduced in:
HTMLLevel 1Challenge 11

<tr>Table Row: Defines a single row in a table. Example: <tr><td>Cell 1</td><td>Cell 2</td></tr> creates one row with two cells. Must be inside <table>, <thead>, <tbody>, or <tfoot>. Contains <td> (data cells) or <th> (header cells). Tables are built row by row - each <tr> represents a horizontal line of information. Think of a table like a spreadsheet: <tr> creates each row, and the cells (<td> or <th>) inside it create the columns within that row.

Introduced in:
HTMLLevel 3Challenge 94

<track>Text Track: Provides timed text tracks for <video> or <audio> elements, like subtitles, captions, or descriptions. Example: <track src="subtitles.vtt" kind="subtitles" srclang="en" label="English">. The src points to a WebVTT file containing the timed text. The kind attribute specifies the type: "subtitles" (translation), "captions" (transcription with sound effects), "descriptions" (video descriptions for blind users), or "chapters" (navigation). Essential for accessibility and reaching international audiences. Multiple tracks can provide different languages or purposes.

Introduced in:
HTMLLevel 2Challenge 39

<tt>Teletype Text (Deprecated): Displayed text in a monospace (fixed-width) font like old teletype machines or typewriters. Example: <tt>Monospace text</tt>. Completely obsolete in HTML5. Use <code>, <kbd>, <samp>, or CSS font-family: monospace; instead, depending on the semantic meaning. Removed because it was purely presentational without indicating what kind of content it contained.

Introduced in:
HTMLLevel 6Challenge 186

<u>Underlined Text: Displays text with an underline. Example: <u>This is underlined</u>. Historically deprecated but brought back in HTML5 with new semantic meaning: use it for text that should be stylistically distinct but not emphasized, like misspelled words, proper names in Chinese text, or other non-textual annotations. Should generally be avoided for regular emphasis or importance (use <em> or <strong> instead). Never use it for links - underlined text strongly suggests clickability to users, which can be confusing if it's not a link.

Introduced in:
HTMLLevel 3Challenge 85

<ul>Unordered List: Creates a bulleted (unordered) list where the order doesn't matter. Example: A shopping list or list of features. Contains <li> (list item) elements. By default displays with bullet points (•), but CSS can change the bullet style to circles, squares, or custom images. Use when the sequence isn't important - if you're listing items where the order doesn't convey meaning. Different from <ol> which shows numbered items where sequence matters. One of the most commonly used HTML elements.

Introduced in:
HTMLLevel 2Challenge 61

<var>Variable: Represents a variable in mathematical expressions or programming contexts. Example: In the equation <var>x</var> + <var>y</var> = 10, the variables are marked up. Typically displays in italics. Use for mathematical variables, programming variables, or placeholders. Example: "The formula is <var>price</var> × <var>quantity</var>". Helps distinguish variables from regular text and provides semantic meaning that the text represents a changeable value.

Introduced in:
HTMLLevel 5Challenge 157

<video>Video Player: Embeds video content directly into the webpage with a built-in player. Example: <video src="movie.mp4" controls width="640" height="360"></video>. The controls attribute adds play, pause, volume, and fullscreen buttons. Can include multiple <source> elements to provide different video formats for browser compatibility (MP4, WebM, Ogg). Can also include <track> elements for subtitles. Attributes like autoplay, loop, muted, and poster (thumbnail image) control behavior. Much simpler than embedding videos through plugins, and works on mobile devices.

Introduced in:
HTMLLevel 3Challenge 73

<wbr>Word Break Opportunity: Suggests where a line break could occur within a word if needed. Self-closing tag. Example: supercali<wbr>fragilistic<wbr>expialidocious - the browser can break the long word at those points if it doesn't fit on one line. Different from <br> which forces a break - <wbr> is just a suggestion the browser uses only when necessary. Useful for very long URLs, file paths, or compound words that might cause layout problems. The break only happens if the line is too long; otherwise the word stays intact.

Introduced in:
HTMLLevel 6Challenge 173