HTML <dir> Tag

The <dir> tag was an HTML element intended to represent a directory list. It was used to create a list of file names or other directory-like content. However, it has been deprecated in favor of using the <ul> (unordered list) or <ol> (ordered list) elements, which offer better flexibility and semantic meaning.

HTML Directory List: The <dir> Tag (Legacy)

Syntax

<dir>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</dir>

Attributes

Attribute Value Description
compact compact A boolean attribute indicating that the list should be rendered in a compact style. Deprecated.

Example

<dir>
  <li>File 1.txt</li>
  <li>Document.pdf</li>
  <li>Image.jpg</li>
</dir>

More Examples

Example with Deprecated compact Attribute

Although the compact attribute is deprecated and should not be used, here's how it was used:

<dir compact="compact">
    <li>Item A</li>
    <li>Item B</li>
    <li>Item C</li>
</dir>

The compact attribute was intended to render the list more compactly. However, this behavior is not reliable across browsers and is better achieved using CSS.

Why the <dir> Tag is Deprecated

The <dir> tag was used for directory lists but lacked the flexibility and semantic clarity of other list elements. It also had a non-obvious implementation in most browsers. The semantics of a list, whether ordered or unordered, was not expressed. As such, the HTML standards bodies removed the element and introduced <ul> and <ol> as the better alternatives.

Replacement with <ul>

The recommended practice is to replace <dir> with <ul>. Here's an example:

<ul>
  <li>File 1.txt</li>
  <li>Document.pdf</li>
  <li>Image.jpg</li>
</ul>

This provides the same visual output as a dir tag, and is considered proper HTML.

Browser Support

The <dir> tag is supported by all major browsers, but because it is deprecated, it should not be used in new web development projects.

Browser Support
Chrome Yes
Edge Yes
Firefox Yes
Safari Yes
Opera Yes
Internet Explorer Yes (But Don't Use!)

Notes and Tips

  • Avoid Using <dir>: The <dir> tag is deprecated and should not be used in new projects.
  • Use <ul> or <ol>: Replace <dir> with <ul> for unordered lists or <ol> for ordered lists.
  • CSS for Styling: Use CSS to style your lists for compact or other custom presentations instead of relying on deprecated attributes.
  • Semantic HTML: Using <ul> and <ol> provides better semantic structure and accessibility than <dir>.
  • Maintainability: Modern HTML practices promote the use of clear, semantic elements which will reduce headaches for those who come after you and maintain the code.