Paragraph
Content · researchedA block of running text.
atom
Each block is the real component from that system’s own package, in an isolated frame. They are live: hover, focus and press them. Frames are drawn on white so systems compare on one ground, and a font a system licenses only for its own site (GOV.UK’s Transport) falls back to what the system itself specifies.
Ant Design
Typography.Paragraph native: no antd 6.6.5- Variants
- —
- Sizes
- —
- States documented
- disabled
- Accessibility guidance
- no
Renders p; supports copyable, editable, ellipsis.
2 corrected on re-read
- builds_on_native: "yes" → "no" Rendered Typography.Paragraph is div.ant-typography, not <p>; Title gives h2, Text kbd
- states_documented: null → ["disabled"] Typography.Paragraph API row: disabled
Carbon
Checked docs components list, Elements > Typography and the react and web-components directories. Body text is a type-style token set, with no paragraph component.
GOV.UK
Paragraphs (style: govuk-body) native: yes govuk-frontend 6.5.1- Variants
- Lead paragraph, Body small
- Sizes
- govuk-body-l, govuk-body, govuk-body-s
- States documented
- —
- Accessibility guidance
- no
Checked: component index (https://design-system.service.gov.uk/components/ , 37 components), patterns index, styles index, repo tree src/govuk/components and objects, and installed govuk-frontend 6.5.1 components directory. Paragraph text is documented only as type styles (Styles > Paragraphs: govuk-body, govuk-body-l classes).
8 corrected on re-read
- present: "absent" → "ships" Styles > Paragraphs is a documented page; core/_typography.scss ships govuk-body, -l, -s classes; no macro
- alias_kind: null → "same" govuk-body on native <p> does the canonical job; shipped as a style, not a component
- name_in_system: null → "Paragraphs (style: govuk-body)" Styles page "Paragraphs"
- builds_on_native: null → "yes" Classes apply to native <p>
- variants: null → ["Lead paragraph","Body small"] Page headings
- sizes: null → ["govuk-body-l","govuk-body","govuk-body-s"] Classes named on the Paragraphs page (lead paragraph, default, body small)
- a11y_documented: null → "no" No accessibility section on page
- urls: {"docs_url":null,"code_url":null} → {"docs_url":"https://design-system.service.gov.uk/styles/paragraphs/","code_url":"https://github.com/alphagov/govuk-frontend/blob/main/packages/govuk-frontend/src/govuk/core/_typography.scss"} docs 200; blob 200
Material Web
Checked docs/components (20 component pages), the repo top-level dirs, labs/, labs/gb/components and the installed 2.5.0 package. Only type-scale styles (typography/), no text-block component.
Primer
Text contested native: partly @primer/react 38.40.1Spectrum
Text contested native: yes @spectrum-web-components/button 1.12.4- Variants
- serif, emphasized, strong
- Sizes
- XS, S, M, L, XL, XXL, XXXL
- States documented
- —
- Accessibility guidance
- unread
Implementations: S2 and v3. Index disagreement (partial): S2 Text wraps React Aria Text, which defaults to a span (elementType prop), so it is an inline text slot, not a block paragraph; the block-text job is done by the style macro and Content. No spectrum.adobe.com page, no SWC element (typography is CSS in spectrum-css). Not in installed SWC 1.12.4.
4 corrected on re-read
- present: "ships" → "ships" Typography Body style: spectrum-css .spectrum-Body applied to p; SWC gen2 typography docs Body variant. S2/v3 Text is a span, not a paragraph
- variants: null → ["serif","emphasized","strong"] CSS classes spectrum-Body--serif, -emphasized, -strong
- sizes: null → ["XS","S","M","L","XL","XXL","XXXL"] CSS classes spectrum-Body--sizeXS to sizeXXXL
- urls: {"docs_url":"https://react-spectrum.adobe.com/react-spectrum/Text.html","code_url":"https://github.com/adobe/react-spectrum/blob/main/packages/@react-spectrum/s2/exports/Text.ts"} → {"docs_url":"https://spectrum.adobe.com/foundations/typography/overview","code_url":"https://github.com/adobe/spectrum-css/tree/main/components/typography"} HTTP 200; changed: docs_url, code_url
USWDS
Paragraph native: unread @uswds/uswds 3.14.0- Variants
- —
- Sizes
- —
- States documented
- default
- Accessibility guidance
- no
Agrees with index. Style class for the native p; no component page. Prose (separate page and package usa-prose) formats a block of content elements and is a different, larger job.
1 corrected on re-read
- builds_on_native: "yes" → "unread" no markup using usa-paragraph found; scss only
· code ↗
Platform facts
Anatomy
The seven states
| default | Static text. |
|---|---|
| hover | n/a — Not interactive. |
| focus | n/a — Not focusable by default. |
| active | n/a — Not interactive. |
| disabled | n/a — Not defined by APG or HTML. |
| error | n/a — Not defined by APG or HTML. |
| loading | n/a — Not defined by APG or HTML. |
Every cell was read twice, the second time from raw sources by a separate pass. 15 of 35 fields changed on the second read — open any “corrected” note to see what it said before.