# ErrorSummary

> Lists what went wrong in a form and takes people to each mistake.

- **Level**: molecule · **Status**: stable · **Role**: feedback
- **Import**: `import { ErrorSummary } from "@rrios-forge/ui/molecules/error-summary";`
- **Source**: `packages/ui/src/molecules/error-summary`

Summary of validation errors at the top of a form. role=alert + aria-live=assertive. Each error optionally links to the field via href. Field-level errors still live next to their inputs (Field.Error); ErrorSummary supplements, never replaces. Patterns consulted: Patterns/Forms · ValidationFlow.

## Stories

- [Playground](/?path=/story/components-molecules-errorsummary--playground) · frame: `/iframe.html?id=components-molecules-errorsummary--playground&viewMode=story`
- [With links](/?path=/story/components-molecules-errorsummary--with-links) · frame: `/iframe.html?id=components-molecules-errorsummary--with-links&viewMode=story`
- [Without links](/?path=/story/components-molecules-errorsummary--without-links) · frame: `/iframe.html?id=components-molecules-errorsummary--without-links&viewMode=story`
- [In form](/?path=/story/components-molecules-errorsummary--in-form) · frame: `/iframe.html?id=components-molecules-errorsummary--in-form&viewMode=story`

## Always

- Tokens only (R04); variants are semantic axes, never appearance (R02).
- Typography and actions are Poesía atoms, never raw HTML with utilities.
- Vibrant panes need a ground and never nest (ADR-027).
