Highlighting Definitions in HTML with the〈dfn〉Tag

Use-Cases of this Tutorial

  • You are looking to know the correct tag for specifying definitions in HTML pages
  • You are looking to know about the HTML Definition element <dfn>

The HTML Definition element represented by <dfn> is the standard markup used to highlight terms being defined in webpages.

<p>A <dfn>synonym</dfn> is a word having almost the same meaning as a different word.</p>

Using standard markup elements bring a sense meaning to the page, especially for automated machines like web crawlers. A web crawler can read a <dfn> tag and get to know that there is term being defined. This term and its definition can be used by the crawler for specific purposes.

Note that <dfn> tag holds the term being defined, and not the definition. The associated definition needs to be defined nearby to have a meaning for the <dfn> element.

Identifying the Term Being Defined

Following rules are used to identify the term being defined:

  • If the attribute title is present in the <dfn> element, its value is considered to be the term being defined. The text must be present within the element though.

    <!-- "CSS" is the defined term -->
    <p>A <dfn title="CSS">CSS</dfn> stands for Cascading Style Sheets.</p>
    
  • If <dfn> contains no inner text and <abbr> element is the only child element in it, then the title attribute of the <abbr> element is considered the term being defined (if title attribute present).

    <!-- "PHP" is the defined term -->
    <p><dfn><abbr title="PHP"></abbr></dfn> stands for Hypertext Preprocessor.</p>
    
  • In rest of the cases the text content of <dfn> is considered to be the term being defined.

    <!-- "CSS" is the defined term -->
    <p><dfn>CSS</dfn> stands for Cascading Style Sheets.</p>
    

Identifying the Complete Definition of the Term

The complete definition for the term represented by <dfn> can be found in the nearest parent <p> or <section> or <dt> / <dd> pair.

<!-- "CSS" is the defined term -->
<!-- "CSS stands for Cascading Style Sheets." is the definition -->
<p><dfn>CSS</dfn> stands for Cascading Style Sheets.</p>