Skip to content
SilktideHelp

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

  1. Have the attribute reference the id of the element that contains the visible error message for the field.
  2. Pair it with aria-invalid="true" on the field while the error applies — aria-errormessage is only announced for invalid fields.
  3. 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

  1. Find every element on the page with an aria-errormessage attribute.
  2. Check the ID it references against the element IDs present on the page.
  3. 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.

Learn more

Last updated

Was this page helpful?