Examples
Code
React
See Storybook for React guidance of this component.
Web Component
See Storybook for Web Component guidance of this component.
Style customization
The following CSS variables can be overridden to customize Form components:
Guidance
- Inline errors are built in to all design-system form fields but can be used on their own to create custom fields.
- Inline errors should sit either directly above or below the input, depending on the theme defaults.
- Visually align inline validation messages with the input fields, so people using screen magnifiers can read them quickly.
- The form field should have an
aria-describedby
attribute that references theid
of the error message.
Content
- Describe what the user still needs to do in a mandatory field that has been left incomplete or unanswered, or answered incorrectly.
- Repeat what the form label is asking the user to do, but with slightly more detail.
- Use the fewest words possible (i.e., don't use "please").
- Use sentence case.
- End with a period.
Accessibility testing
General observations
- Inline error text should be outside of the label element.
- Inline error messages should be linked to their corresponding input fields via an
aria-describedby
attribute on the input. - Inline error text should meet size and contrast requirements.
Screen reader testing
- When the input field gets focus, its label should be read first and then its hint (if it has one) and its error message.
Learn More
Component maturity
For more information about how we tested and validated our work for each checklist item, read our component maturity documentation.