We currently put a * next to the form fields that are mandatory. This is a good practice and it can be improved for accessibility.
The current problems are:
- we assume that this * is universally understood but it is not the case. There is no way to understand it when it stands on its own.
- it's also problematic for visual impaired users who use a screen reader.
Screen readers often switch to “Forms Mode” when they are processing content within a <form> element. In this mode they usually only read aloud form elements such as <input>, <select>, <textarea>, <legend>, and <label>.
Since it is necessary to provide instructions to help users understand how to complete the form we should add the following instruction at the beginning of the form:
All fields marked with * are required