Skip to main content Home
About About the Design SystemRoadmap
Get started OverviewDesignersDevelopers
Foundations OverviewColorGridIconographySpacingTypography
Tokens Overview Global colorbox shadowTypographyborderopacityspacelengthIconBreakpointsMedia Queries
Elements All elements Accordion Alert Announcement Audio player Avatar Back to top Badge Blockquote Breadcrumb Button Card Chip Code block Call to action Dialog Disclosure Footer Health index Icon Jump links Navigation (primary) Navigation (secondary) Pagination PopoverPlanned Progress stepsPlanned Site status Skip link Spinner Statistic Subnavigation Surface Switch Table Tabs Tag Tile Timestamp Tooltip Video embed
Theming OverviewColor PalettesCustomizingDevelopers
Patterns All PatternsCardTabsFilterFormLinkLink with iconLogo wallSearch barSkip navigationSticky bannerSticky cardTileVideo thumbnail
Personalization All Personalization PatternsAnnouncement
Accessibility FundamentalsAccessibility toolsAssistive technologiesCI/CDContentContributorsDesignDevelopmentManual testingResourcesScreen readers
Design/code status Release notes Get support

Video embed

OverviewStyleGuidelinesCodeAccessibilityDemos
ImportingUsagerh-video-embedImportingUsagerh-video-embed

Importing

Add rh-video-embed to your page with this import statement:

<script type="module">
  import '@rhds/elements/rh-video-embed/rh-video-embed.js';
</script>
Copy to Clipboard Wrap lines

To learn more about installing RHDS elements on your site using an import map read our getting started docs.

Usage

<rh-video-embed>
  <img slot="thumbnail" src="https://fakeimg.pl/900x499/282828/eae0d0" alt="Image description"/>
  <template>
    <iframe title="Title of video" width="900" height="499" src="https://www.youtube.com/embed/Hc8emNr2igU" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
  </template>
  <p slot="caption"><a class="rh-video-embed-caption-link" href="https://www.redhat.com/">View the infographic</a></p>
</rh-video-embed>

<script type="module">
  import '@rhds/elements/rh-video-embed/rh-video-embed.js';
</script>
Copy to Clipboard Wrap lines

rh-video-embed

A Video embed is a graphical preview of a video overlayed with a play button. When clicked, the embedded YouTube video will begin playing.

Slots 7
Slot Name Description

Place video embed code here; iframe should include a title attribute with the video title

play-button-text

Text for play button; recommended value "Video title (video)"

thumbnail

Optional thumbnail image on top of video embed; should include alt text

consent-message

Text explaining opt-in to cookies is required, e.g. <p>View this video by opting in to “Advertising Cookies.”</p>

consent-button-text

Text for CTA button to update preferences, e.g. "Update preferences"

caption

Optional caption below video embed

autoplay

DO NOT USE! (Used by rh-video-embed.)

Attributes 2
Attribute DOM Property Description Type Default
require-consent requireConsent

Add to rh-video-embed when a video requires consent for cookies

boolean
false
consented consented

Boolean flag to flip with JavaScript when cookie consent has been granted or revoked. See the Require Consent demo for reference.

boolean
false
Methods 0
None
Events 3
Event Name Description
consent-click

"Update preferences" consent button is clicked

request-play

Play button is clicked

play

Video is about to be played

CSS Shadow Parts 5
Part Name Description
figure

The outer container for rh-video-embed

video

The container for the video, thumbnail, and play button

consent-body

The container for the consent message and consent button

play

The play button on top of the thumbnail

caption

The container for the caption

CSS Custom Properties 0
None
Design Tokens 20
Token Copy
--rh-border-radius-default
Full CSS Variable Permalink to this token
--rh-border-width-lg
Full CSS Variable Permalink to this token
--rh-border-width-md
Full CSS Variable Permalink to this token
--rh-color-border-interactive
Full CSS Variable Permalink to this token
--rh-color-surface
Full CSS Variable Permalink to this token
--rh-color-surface-darkest
Full CSS Variable Permalink to this token
--rh-color-text-secondary
Full CSS Variable Permalink to this token
--rh-font-family-heading
Full CSS Variable Permalink to this token
--rh-font-size-body-text-sm
Full CSS Variable Permalink to this token
--rh-font-size-heading-sm
Full CSS Variable Permalink to this token
--rh-font-size-heading-xs
Full CSS Variable Permalink to this token
--rh-length-2xl
Full CSS Variable Permalink to this token
--rh-length-4xl
Full CSS Variable Permalink to this token
--rh-line-height-body-text
Full CSS Variable Permalink to this token
--rh-line-height-heading
Full CSS Variable Permalink to this token
--rh-opacity-20
Full CSS Variable Permalink to this token
--rh-opacity-50
Full CSS Variable Permalink to this token
--rh-opacity-80
Full CSS Variable Permalink to this token
--rh-space-lg
Full CSS Variable Permalink to this token
--rh-space-xl
Full CSS Variable Permalink to this token
© 2021-2025 Red Hat, Inc. Deploys by Netlify