Missing aria-errormessage ID
Silktide checks every aria-errormessage attribute on your pages and verifies that the element ID to which it points 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 as invalid, the
aria-errormessage attribute tells
where the
explanation is. If the reference is broken, a
user will be told their input is
wrong but will never hear why — they are left guessing formats and
requirements that sighted users can read on the screen, and may abandon the form
entirely.
How to fix it
- Have 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. - Ensure 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. Preferably keep 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 for a website. Check the advanced settings for the website.