Form field description component for the Municipality of Utrecht based on the NL Design System architecture
npm install @utrecht/form-field-description-cssGebruik dit component voor extra beschrijvingen en instructies bij formuliervelden. Gebruik variaties van dit component voor meldingen dat er iets mis is met de invoer (invalid), dat er iets fout ging met het behandelen van de invoer (error), feedback over de status van de invoer, of feedback dat de invoer OK is.
Dit component is meestal een onderdeel van het _form field_ component.
Formulieren geven meerdere soorten feedback, die kun je allemaal weergeven met de _form field description_ component:
- Informatie over de status van de invoer.
- Resultaat van validatie: niet valide.
- Resultaat van validatie: invoer voldoet aan de eisen.
- Foutmelding bij een actie uitvoeren.
- Resultaat van _submit_: verzenden gelukt.
- Resultaat van _submit_: verzenden niet gelukt, want invoer voldoet niet aan de eisen.
- Resultaat van _submit_: verzenden niet gelukt, want er is een fout bij de server.
- Resultaat van een berekening.
Feedback van een formulier moet duidelijk zijn voor gebruikers die hulpmiddelen gebruiken, zoals een _screen reader_. Kies bij alle feedback welke soort _live region_ gebruikt moet worden: _polite_ of _assertive_, beleefd of dringend.
Let op: in de meeste sitaties moet je geen role="status" en role="alert" gebruiken in server-side templates. Het is niet handig als meerdere teksten direct worden voorgelezen door een _screen reader_ zodra de pagina geladen is.
Gebruik _polite_ voor feedback over acties van de gebruiker. Dat kan in HTML met het attribuut role="status", dat hoeft niet met aria-live="polite". Zie ook: Using role=status to present status messages. Bijvoorbeeld:
- informatie over hoeveel meer tekens nog gebruikt mogen worden voordat de limiet is bereikt.
- informatie over hoeveel zoekresultaten een combobox heeft.
Gebruik role="alert" voor fouten die optreden door een actie van de gebruiker, bijvoorbeeld:
- Wanneer een formulierveld niet juist is ingevuld.
- Wanneer een formulier niet verzonden kan worden, omdat geen verbinding met de server gemaakt kan worden.
- form komt van in HTML en role="form" in WAI-ARIA.
- field komt van in HTML.
- description komt van aria-describedby.
- invalid komt van :invalid in CSS en aria-invalid in WAI-ARIA.
- valid from :valid in CSS.
Gebruik een id attribuut op dit element, zodat je met aria-describedby op de _form control_ een koppeling kunt maken.
Gebruik in HTML in plaats van aria-live="polite" het attribuut role="status".
Gebruik in HTML in plaats van aria-live="assertive" het attribuut role="alert".
- WCAG eis 3.3.1. Gebruik id attribuut op de _form field description_ en koppel de _form control_ met aria-describedby aan deze id. Zie ook: WCAG Technique: Using aria-invalid to Indicate An Error Field
- WCAG eis 3.3.2. Zie ook: WCAG Technique ARIA1: Using the aria-describedby property to provide a descriptive label for user interface controls
- WCAG eis 3.3.2