molecule · stable · extension · since 2026-10
PropositionList
Purpose
The criteria a fact makes inapplicable, offered to the auditor. Nothing is written until they accept: a wrong “non applicable” takes the criterion out of the denominator and inflates the rate, which is the figure that ends up in the declaration.
When to use, when not
Use it at the top of a page’s criteria, where the engine has facts to offer. Not for a verdict the engine proved: that is AutoVerdict.
Anatomy
- A heading naming the section.
- The bulk gesture, which becomes its own undo once used.
- One row per proposition: the criterion, the fact, its source, what the analysis could not see, and a button to set it aside.
Props
| Name | Type | Default | What it does |
|---|---|---|---|
propositions | Proposition[] | ||
onaccept | (criteria: string[]) => void | Called with the criteria the auditor keeps. | |
ondismiss | (criterion: string) => void | Called with the criterion the auditor sets aside. | |
onannounce? | (sentence: string) => void | Called with the sentence to announce; the panel owns its live regions. |
States
Two sources with a caveat, a single proposition, and nothing to offer.
hooked
Ce que le composant transmet, écrit à l’écran.
Light
Critères proposés non applicables
11.2 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
11.3 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
Dark
Critères proposés non applicables
11.2 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
11.3 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
320 px, light
Critères proposés non applicables
11.2 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
11.3 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
320 px, dark
Critères proposés non applicables
11.2 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
11.3 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
216 px, light
Critères proposés non applicables
11.2 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
11.3 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
Forced colours, captured

mixed
Deux sources, et une page qui garde du contenu fermé : la réserve se lit avant de valider.
Light
Critères proposés non applicables
11.2 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
11.3 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
Dark
Critères proposés non applicables
11.2 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
11.3 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
320 px, light
Critères proposés non applicables
11.2 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
11.3 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
320 px, dark
Critères proposés non applicables
11.2 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
11.3 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
216 px, light
Critères proposés non applicables
11.2 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
11.3 : Aucun champ de formulaire sur la page
Fait relevé dans la page
- 1 élément replié : leur contenu n’a pas été analysé
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
Forced colours, captured

none
Rien à proposer : la section ne se dessine pas.
Light
Dark
320 px, light
320 px, dark
216 px, light
single
Une seule proposition : le geste de masse reste offert, avec son compte.
Light
Critères proposés non applicables
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
Dark
Critères proposés non applicables
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
320 px, light
Critères proposés non applicables
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
320 px, dark
Critères proposés non applicables
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
216 px, light
Critères proposés non applicables
12.4 : Aucune page « plan du site » sur ce site
Fait déclaré par vous
Forced colours, captured

Accessibility contract
- Role and name: a
sectionnamed by its heading; three real buttons, each naming its criterion. - Keyboard, focus: every proposition is dismissed from the keyboard; after the bulk gesture the focus lands on the undo that replaced it, at the same place.
- Live regions: none of its own. It hands the sentence to
onannounce, since the panel owns its regions.
Content rules
French. The fact never names another criterion: “Aucun champ de formulaire sur la page”, never “NA car 11.1 est NA”.
The voice of the source changes with the surface, and only there. In the panel the auditor is the reader: “Fait relevé dans la page”, “Fait déclaré par vous”. In the report and the exports the reader is someone else, so the same fact reads “déclaré par l’auditeur”. The wordings live in @rgaa-dev/core so the two surfaces cannot drift apart.
Do and don’t
- Do show the caveat before the gesture, not after: validating without knowing an accordion stayed closed is signing for a page one has not seen.
- Do not write the status directly. The component proposes; the panel writes once the auditor accepts.
Examples
<PropositionList {propositions} onaccept={accepter} ondismiss={ecarter} onannounce={announce} /> Surfaces
- Extension: the panel’s criteria screen.
Related
Button, StatusChip, ThemeList.
Decisions
- 2026-10-26: the undo covers the last accepted batch only, and until the next acceptance or dismissal. A longer history would need a stack the auditor cannot see, and an undo that reaches further than the last gesture is one that surprises.
- 2026-10-26: the bulk gesture becomes its own undo, in place, rather than offering a separate “annuler” elsewhere. A gesture that commits twenty criteria at once must be reversible without hunting for the control, and the focus has nowhere to travel.
Criteria held by construction
- 7.1, Chaque script est-il, si nécessaire, compatible avec les technologies d'assistance ?
Real buttons for accepting and dismissing, never a div with a click handler. - 9.1, Dans chaque page web, l'information est-elle structurée par l'utilisation appropriée de titres ?
A heading names the section, so the list is reachable by heading navigation. - 12.9, Dans chaque page web, la navigation ne doit pas contenir de piège au clavier. Cette règle est-elle respectée ?
The gesture that commits many criteria is undone from where it was made: the focus does not travel.
Tokens it reads
- Colour:
--rl-ink-soft,--rl-line - Typography:
--rl-text-sm - Spacing:
--rl-space-1,--rl-space-2,--rl-space-3 - Layout:
--rl-radius,--rl-border