8 Unknown HTML tags that are actually quite useful
Published: 2022-05-14 12:10:26

The HTML tags that are considered important are the ones that are commonly used however that is not the case there are some important HTML tags that most people don't use and end up wasting time on writing equivalent CSS 

![output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/np4fmk1aco5qvjyorypc.gif)
**Let's Get into it**

1.**The `
` tag**
The `
` tag specifies text that is no longer correct, accurate or    relevant. The text will be displayed With a line through it
The S stands for a Strike-Through 
 Usually used in E-Commerce Website to denote a price drop 
    

```
<h4>Price
    
£15

    <span>£9</span>
</h4>
```


![Output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3h8642lnxw41q9rppyj8.png)
People often prefer using span tag and then add a text-decoration property in CSS,However this is quite handy

2.**The** `<ruby>`, `<rt>`, **and** `<rp>` **tags**
   The `<ruby>` HTML element represents small annotations that are rendered above, below, or next to base text, usually used for showing the pronunciation of East Asian characters. It can also be used for annotating other kinds of text.It Prevents us from writing dreary CSS 
   

```
 <ruby>帶翅膀<rt>Carmine</rt></ruby>
 <ruby>的老鼠<rt>Falcone</rt></ruby>
```

![Output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1xmmeopz2m96ngxh7a6h.png)


    
3.**The `<details> `tag**
   The `<details>` tag specifies additional details that the user can open and close on demand.
         The <details> tag is often used to create an interactive widget that the user can open and    close. By default, the widget is closed. When open, it expands, and displays the content within.


```
<details>

  <summary>Click me to see the Answer</summary>
  <p>
      The Ability to speak doesn’t make you intelligent
.</p>
</details> 
```

![output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wsiretxefavuqz3p45ia.png)


![output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xgal47336yb6ktmuccqm.png)


4.**The `<optgroup>` tag**
  The `<optgroup>` tag is used to group related options in a `<select>` element (drop-down list).
This is one is actually quite useful,It adds additional style in our 
Select tag and makes it a little more attractive and organized
If you have a long list of options, groups of related options are easier to handle for a user.

```
<form >
  <label for="swords">Choose a Sword:</label>
  <select name="swords" id="swords">
    <optgroup label="Valyrian Steel">
      <option value="Oathkeeper">Oathkeeper</option>
      <option value="Widows Wail">Widows Wail</option>
    </optgroup>
    <optgroup label="Knifes">
      <option value="mercedes">Needle</option>
      
    </optgroup>
  </select>
  <br><br>
  <input type="submit" value="Submit">
</form>
```


![output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w0wp0bsrbwuk0egj6bl4.png)

5.**The `<meter>` tag**
The `<meter>` tag defines a scalar measurement within a known range, or a fractional value. This is also known as a gauge.
It is also quite functional as we can define at what percent/value the color of meter should change  for example if you give a value less than the 33(i.e low value) the color of the meter will turn into red similarly for high and optimum,
This is a very useful HTML tag as if you tend to do CSS we may end up writing a long sheets of CSS
`<meter>`tag saves us a lot of time and efforts
Examples: Disk usage, the relevance of a query result, etc.

```
    
   <p> 0L <meter id="fuel"
       min="0" max="100"
       low="33" high="66" optimum="80"
       value="20">
    at 50/100
</meter> 5L</p>
    
    <p> 0L <meter id="fuel"
       min="0" max="100"
       low="33" high="66" optimum="80"
       value="50">
    at 50/100
</meter> 5L</p>
    <p> 0L <meter id="fuel"
       min="0" max="100"
       low="33" high="66" optimum="80"
       value="80">
    at 50/100
</meter> 5L</p>
```

![output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/11rwsx8j10ccqaak6zhs.png)

6.**The `<progress>` tag**
The `<progress>` HTML element displays an indicator showing the completion progress of a task, typically displayed as a progress bar.
Usually i have seen a lot of people write CSS in order to create a progress bar some have even created separate components
in react

```
<label for="file">File progress:</label>

<progress id="file" max="100" value="70"> 70% </progress>
```

![Output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6wm0r9c5ez7iasz6gj3q.png)


7.**The `kbd` tag**
The `<kbd>` tag is used to define keyboard input. The content inside is displayed in the browser's default monospace font.
I was surprised when i found out that this wasn't deprecated since most people end up opting to style a span instead 
```
<p>Press <kbd>Ctrl</kbd> + <kbd>C</kbd> to copy text (Windows).</p>
```

![output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vgqcbg81dptv46om81up.png)
8.**The `bdo` tag**
BDO stands for Bi-Directional Override.
The `<bdo>` tag is used to override the current text direction.
It can be used to create games or in animations.This is one of the rare HTML tags and probably the least used
```
<p><bdo dir="rtl">May the force be with you
.</bdo></p>
```

![Output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5fgeztfop7khla56gae2.png)

![Example](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i54v3vic225493ihkkuy.gif)


Thank You for reading this Article Have a Good Day