Skip to main content

Design system components

ClientLogoMarquee

Animated client logo marquee on the homepage.

Status: stable. Group: marketing. Markdown version: /design-system/components/client-logo-marquee.md

When to use

Homepage social-proof marquee of client logos; visitors can pause it and reduced-motion users receive a static grid. The visual logos are decorative because one semantic list names every client.

When not to use

The contract records no forbidden uses.

Look-alikes

The contract names no look-alike with a deciding condition.

Props

ClientLogoMarquee props
PropTypeDefaultDescriptionRequired
ariaLabelstringnoneAccessible name for the marquee section.Yes
pauseLabelstringnoneLabel for the control that pauses the marquee. Defaults to the translated homeClientLogosPause label.No
resumeLabelstringnoneLabel for the control that resumes the marquee. Defaults to the translated homeClientLogosResume label.No
classNamestringnoneAdditional CSS classes on the marquee section.No

Variants

No variant dimensions and no props with a fixed set of values.

Invalid combinations

The contract records no invalid combinations.

Keyboard

The contract records no keyboard interaction.

Rules

Every item under When not to use is a MUST NOT. MUST and SHOULD follow RFC 2119.

ClientLogoMarquee rules
LevelRuleHow it is checked
MUSTARIA: Section landmark named by the ariaLabel prop.Not yet verified: no evidence record. WCAG 4.1.2.
MUSTARIA: One visually hidden list names every client once; every logo svg and the duplicate animation lane are aria-hidden.Not yet verified: no evidence record. WCAG 4.1.2.
MUSTARIA: The pause/resume control is a Button (Tab, Enter, Space) whose label swaps between pauseLabel and resumeLabel to name the next action; it carries no aria-pressed. The reduced-motion static grid renders no control.Not yet verified: no evidence record. WCAG 4.1.2.
MUSTRequired stories produce no axe violations at the configured severity.Automated by npm run test:stories:matrix:ci. WCAG 2.5.8.
MUSTThe accessibility tree (role, name, state) matches the committed snapshot for every required story.Automated by npm run test:stories:matrix:ci. WCAG 1.3.1, 4.1.2.
MUSTThe component remains legible and operable under a real browser forced-colors: active pass.Automated by npm run test:stories:hc.
MUSTA human completed an end-to-end accessibility review of this component.Manual review, last on 2026-11-04.
MUST NOTMaintainers: Do not bypass design tokens or skip forced-colors verification at beta.Release review; not machine-checked.

Install and import

  • In-repo only. ClientLogoMarquee is not exported from @digitaltableteur/react, so there is no public import path.