Missing aria-errormessage ID
Silktide checks every aria-errormessage attribute on your pages and verifies that the element ID it points to actually exists. This attribute connects a form field to the message that explains what is wrong with the value entered in it.
<!-- Problem: no element on the page has id="email-error" -->
<input type="email" aria-invalid="true" aria-errormessage="email-error">
Why this matters
When a form field is marked invalid, the
aria-errormessage attribute tells
where the
explanation lives. If the reference is broken, a
user is told their input is
wrong but never hears why - they are left guessing at formats and
requirements that sighted users can read on screen, and may abandon the form
entirely.
How to fix it
- Make the attribute reference the
idof the element that contains the visible error message for the field. - Pair it with
aria-invalid="true"on the field while the error applies -aria-errormessageis only announced for invalid fields. - Make sure the referenced element contains readable text whenever the error is shown, and is empty or hidden when it is not.
How Silktide tests this
- Find every element on the page with an
aria-errormessageattribute. - Check the ID it references against the element IDs present on the page.
- Report each reference that matches no element.
Troubleshooting
The error element is only added when validation fails
Silktide tests the page as it loads. Prefer keeping the error container in the page permanently (empty or hidden until needed) so the reference always resolves and the announcement works the moment the error appears.
This check reports nothing even though I expect findings
ARIA testing can be turned off per website. Check the advanced settings for the website.