Skip to main content

Design system components

ServicesLedger

Services as a ruled ledger: index, offer, description and capabilities per row, with a Human / Machine switch that shows the same offers as plain text.

Status: beta. Group: marketing. Markdown version: /design-system/components/services-ledger.md

When to use

Homepage services section since 2026-10-20 (replaces ServicesSection there). Labels and capability strings come from the page so all three locales apply.

When not to use

  • Do not put portfolio images or case-study art in the ledger; the homepage work section shows the work.
  • Do not show facts in the machine view that the human view does not.

Look-alikes

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

Props

ServicesLedger props
PropTypeDefaultDescriptionRequired
titlestringnoneNo description in the contract.No
descriptionstringnoneNo description in the contract.No
servicesServicesLedgerItem[]noneNo description in the contract.Yes
machineLinksServicesLedgerLink[][]Machine-readable endpoints listed at the top of the machine view.No
labelsServicesLedgerLabelsnoneNo description in the contract.Yes
classNamestringnoneNo description in the contract.No
idstringservicesNo description in the contract.No
donnyTargetstringhome.servicesDonny site action target id for this section.No

Variants

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

Invalid combinations

The contract records no invalid combinations.

Keyboard

ServicesLedger keyboard behaviour
KeyBehaviour
TabReaches the Human / Machine view switch as one stop (arrow keys, Home and End change the view), then each row link.

Rules

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

ServicesLedger rules
LevelRuleHow it is checked
MUSTARIA: The section is labelled by its heading.Not yet verified: no evidence record. WCAG 4.1.2.
MUSTARIA: The view switch is the SegmentedControl radiogroup, named by the view label; each option reports aria-checked.Not yet verified: no evidence record. WCAG 4.1.2.
MUSTARIA: Row index numbers are decorative (aria-hidden).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.
MUSTEvery documented keyboard interaction works as specified.Not yet verified: no evidence record. WCAG 2.1.1, 2.1.2.
MUSTA human completed an end-to-end accessibility review of this component.Manual review, last on 2026-10-31.

Install and import

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