HTML - Definition Lists

Creating a Definition List

To create a definition list in HTML, use the <dl> tag to define the list. Inside the <dl> tag, use the <dt> tag to specify a term and the <dd> tag to provide the definition or description of that term.

Example: Basic structure of a definition list

  <dt>Term 1</dt>
  <dd>Definition or description of Term 1</dd>
  <dt>Term 2</dt>
  <dd>Definition or description of Term 2</dd>

The <dt> tag represents the term being defined, while the <dd> tag represents the definition or description of that term. You can have multiple <dt> and <dd> pairs within a single <dl> list.

The <dt> and <dd> tags must be direct children of the <dl> tag. You cannot nest them inside other elements within the definition list.

The content inside the <dt> and <dd> tags can be any valid HTML, such as text, images, or other inline elements. However, keep the content concise and relevant to the term being defined.

By using the <dl>, <dt>, and <dd> tags, you can create structured and meaningful definition lists in your HTML documents. This helps to organize and present information in a clear and understandable way for both users and search engines.

Example of a Definition List

Definition List Example

  <dd>Hypertext Markup Language, the standard markup language for creating web pages.</dd>

  <dd>Cascading Style Sheets, a style sheet language used for describing the presentation of a document written in HTML.</dd>

  <dd>A high-level, dynamic programming language commonly used for creating interactive web pages.</dd>

  <dt>Front-end Development</dt>
  <dd>The practice of developing the user interface and client-side functionality of a website or application.</dd>
  <dd>It involves using HTML, CSS, and JavaScript to create the visual and interactive elements of a web page.</dd>

We have a definition list (<dl>) that contains terms (<dt>) and their definitions (<dd>).

The first term is "HTML," and its definition is provided in the following <dd> tag. The terms "CSS," "JavaScript," and "Front-end Development" are defined in their <dd> tags.

For the term "Front-end Development," there are two <dd> tags. This shows that you can have multiple definitions or descriptions for a single term. Each <dd> tag represents a separate definition or more information related to the term.

By structuring the definition list this way, you can present a clear and organized list of terms and their definitions. The indentation and line breaks between the tags are optional but can improve the readability of the code.

The content inside the <dt> and <dd> tags can be any valid HTML, so you can include links, images, or other inline elements as needed to provide more context or explanation for each term.

Styling Definition Lists with CSS

To change the look of definition lists, you can use CSS styles on the <dl>, <dt>, and <dd> elements. This lets you control the layout, spacing, typography, and other visual parts of the list.

Example CSS for Definition Lists

dl {
  margin-bottom: 20px;

dt {
  font-weight: bold;
  margin-top: 10px;

dd {
  margin-left: 20px;
  margin-bottom: 10px;
Element Property Description
dl margin-bottom Adds space below the list, separating it from other content.
dt font-weight Makes the terms bold, helping them stand out.
dt margin-top Adds space above each term, creating visual separation between terms.
dd margin-left Indents the definitions, creating a visual hierarchy.
dd margin-bottom Adds space below each definition, separating them from each other.

You can also use other CSS properties to further change the look of definition lists:

Property Description
font-family and font-size Controls the typography of terms and definitions.
color and background-color Changes the text and background colors.
padding Adds internal spacing within the <dt> and <dd> elements.
border Adds borders around the terms or definitions.
list-style-type Changes the bullet style for the definitions (although definition lists do not have bullets by default).

By combining these CSS properties, you can create visually appealing and well-structured definition lists that match the overall design of your web page.

Remember to use class names or IDs to target specific definition lists if you have multiple lists on a page and want to apply different styles to each one.

Accessibility Considerations

When using definition lists in HTML, it's important to consider accessibility so your content is usable and understandable for all users, including those with disabilities.

Proper use of definition lists helps accessibility by providing a clear structure and semantic meaning to the content. Screen readers and other assistive technologies can recognize and convey the relationship between terms and their definitions, making it easier for users to navigate and understand the information.

To improve accessibility when using definition lists:

Tip Description
Use clear and descriptive terms Choose terms that accurately represent the concept being defined. Avoid using abbreviations or jargon without providing an explanation.
Provide concise and meaningful definitions Write definitions that clearly explain the term in a way that is easy to understand. Avoid using complex language or long, convoluted explanations.
Nest properly Make sure that the <dt> and <dd> elements are properly nested within the <dl> element. Incorrect nesting can confuse screen readers and disrupt the structure of the list.
Use appropriate heading levels If your definition list is part of a larger section or document, use appropriate heading levels (<h1> to <h6>) to provide a hierarchical structure and help users navigate the content.
Provide alternative text for images If you include images within your definition list, make sure to provide alternative text using the alt attribute. This allows visually impaired users to understand the content of the image.
Test with assistive technologies To check that your definition list is accessible, test it with various assistive technologies, such as screen readers, to verify that the content is properly conveyed and navigable.

By following these accessibility considerations, you can create definition lists that are inclusive and usable for a wide range of users, regardless of their abilities or the devices they use to access your content.

Remember, accessibility is not just a requirement but also a best practice that benefits all users. By making your definition lists accessible, you improve the overall user experience and make sure that your content reaches a broader audience.