Type and text
Figure
An image at full column width with an optional caption, for templates and article bodies.
- Block
.hs-figure- CSS
components/base.css(in/brand.css)- JS
- None
- Status
- Built, open to change
- Decided in
- Components round 3
- Markdown
- /components/figure.md
What it is
An image with an optional caption. Templates use the class form .hs-figure. Inside .hs-prose, a plain <figure> gets the same style, because filtered_html allows no classes.
When to use
- A photo or illustration inside an article body.
- An image with a caption in a template band.
- An image that needs a caption to say what it means or where it comes from.
When not to use
- A video: use Video.
- An image at the top of a teaser card: use the media form of Card.
- A member photo or initials: use Avatar.
- A member testimonial: use Quote.
Rules
- Class form:
<figure class="hs-figure">withimg.hs-figure__img, then an optionalfigcaption.hs-figure__caption. - Inside
.hs-prose, write plain<figure>,<img>and<figcaption>with no classes. - The image fills the column width with an 8px radius. The soft colour shows behind it until it loads.
- Every
<img>stateswidthandheight. Below the hero it takesloading="lazy" decoding="async". - The caption fills the column and sits 8px under the image. The caption says what the image means; the
altsays what it shows.
Accessibility
- Give the image a descriptive
altthat does not repeat the caption. - The caption is 14px slate: 6.2:1 on white, 5.9:1 on soft.
<figcaption>ties the caption to the image for assistive technology.- The figure needs no JavaScript and has no motion.
Variants
Figure
Class form for templates. Image full width, 8px radius; caption 14px slate, 8px under the image.
Preview on white
<figure class="hs-figure">
<img class="hs-figure__img" src="/placeholders/figure.svg" width="1200" height="800" alt="Two graduates in caps and gowns after a commencement ceremony" loading="lazy">
<figcaption class="hs-figure__caption">Commencement marks one achievement; recognition carries it forward.</figcaption>
</figure>Figure inside prose
A plain <figure> in .hs-prose (filtered_html has no classes) gets the same style.
Preview on white
Grades have long been used to measure academic success. While they remain a meaningful indicator, they do not fully capture leadership, collaboration, or initiative.
Expanding the definition of achievement allows institutions to recognize a wider range of contributions that reflect real-world impact.
<div class="hs-prose">
<p>Grades have long been used to measure academic success. While they remain a meaningful indicator, they do not fully capture leadership, collaboration, or initiative.</p>
<figure>
<img src="/placeholders/figure.svg" width="1200" height="800" alt="Two graduates in caps and gowns after a commencement ceremony" loading="lazy">
<figcaption>Commencement marks one achievement; recognition carries it forward.</figcaption>
</figure>
<p>Expanding the definition of achievement allows institutions to recognize a wider range of contributions that reflect real-world impact.</p>
</div>