openlibhums / openlibhums/janeway
Contact Forms - better assisting users to correct errors
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 238
- Forks
- 97
- Avg merge
- 9d 1h
- Merged PRs (30d)
- 8
Description
From audit #5164
- The form errors shown at the top of the form are in unordered lists, they should be definition lists. It would also be even better to have a link from each error to the input in question.
- Form errors should be a heading or landmark so it is navigable.
- The textarea for "your message" is a required field, but does not inform screen readers of this. Where as the required text input fields do. This may be a difference in how text areas and text inputs are implemented in the frameworks, but should be investigated further.
- Clean does not indicate required fields prior to validation. So users cannot anticipate the errors. Consider adding "All fields are required" at the top of the form.
Please take particular note of WCAG 3.3.1
Often, the error description can be phrased so that it meets both SC 3.3.1 and SC 3.3.3 at the same time. For instance, "Email is not valid" would pass SC 3.3.1, but "Please provide a valid email address in the format name@domain.com" also conveys how it can be fixed and passes both.
- update error suggestions so they are not just a description of what is wrong but include how to fix it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing audit #5164, the Contact Forms implementation, and the WCAG 3.3.1 guidance linked in this issue. Address each checklist item, including error navigation, required-field announcements, anticipated requirements, and corrective error suggestions; done means the form errors and fields satisfy the stated accessibility needs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- accessibility
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100