The
figure and figcaption elements are two semantic elements that are often used together. If you haven’t looked at the spec, had a chance to use them in your projects, or have no idea how, here are some tips on how to use them correctly.
The
figure element is commonly used for images:<figure>
<img src="dog.jpg" alt="Maltese Terrier">
</figure>
The
figure element represents a self-contained unit of content. This means that if you were to move the element either further down a document, or to the end of the document, it would not affect the document’s meaning.
Therefore, we also need to remember that not every image is a
figure.
Multiple Images in figure
You can put multiple
img tags in a figure if they are related in the context of your document.<figure>
<img src="dog1.jpg" alt="Maltese Terrier">
<img src="dog2.jpg" alt="Black Labrador">
<img src="dog3.jpg" alt="Golden Retriever">
</figure>
Other Elements Can Be Used With figure
The
figure element is not limited to images either. You can use it for things such as:- code blocks,
- videos,
- audio clips, or
- advertisements.
Here is an example of
figure being used for a block of code:<figure>
<pre>
<code>
p {
color: #333;
font-family: Helvetica, sans-serif;
font-size: 1rem;
}
</code>
</pre>
</figure>
Nesting figure Inside Another figure
You can nest a
figure inside another figure if it makes sense to. Here, an ARIA role attribute has been added to improve semantics.<figure role="group">
<figcaption>Dog breeds</figcaption>
<figure>
<img src="dog1.jpg" alt="Maltese Terrier">
<figcaption>Adorable Maltese Terrier</figcaption>
</figure>
<figure>
<img src="dog2.jpg" alt="Black Labrador">
<figcaption>Cute black labrador</figcaption>
</figure>
</figure>
For further guidance on using the
figure and figcaption elements with ARIA, see my earlier article on how to use ARIA effectively with HTML5.
Correct Usage of figcaption
The
figcaption element represents a caption or legend for a figure.
Not every
figure needs a figcaption.
However, when using
figcaption, it should ideally be the first or last element within a figure block:<figure>
<figcaption>Three different breeds of dog.</figcaption>
<img src="dog1.jpg" alt="Maltese Terrier">
<img src="dog2.jpg" alt="Black Labrador">
<img src="dog3.jpg" alt="Golden Retriever">
</figure>
Or:
<figure>
<img src="dog1.jpg" alt="Maltese Terrier">
<img src="dog2.jpg" alt="Black Labrador">
<img src="dog3.jpg" alt="Golden Retriever">
<figcaption>Three different breeds of dog.</figcaption>
</figure>
You Can Use Flow Elements in figcaption Too
If you need to add more semantics to an image, you can use elements such as
h1 and p.<figure>
<img src="dogs.jpg" alt="Group photo of dogs">
<figcaption>
<h2>Puppy School</h2>
<p>Championship Class of 2016</p>
</figcaption>
</figure>
Do you have any other tips for using the
figure and figcaption elements?
The Right Way to Use Figure & Figcaption Elements
Reviewed by JohnBlogger
on
4:10 PM
Rating:

No comments: