# Bad value “” for attribute “aria-describedby” on element “a”: An IDREFS value must contain at least one non-whitespace character.

> Canonical HTML version: https://rocketvalidator.com/html-validation/bad-value-for-attribute-aria-describedby-on-element-a-an-idrefs-value-must-contain-at-least-one-non-whitespace-character
> Attribution: Rocket Validator (https://rocketvalidator.com)
> License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

The `aria-describedby` attribute cannot be an empty string. It must contain at least one valid ID reference, or be removed entirely.

The `aria-describedby` attribute accepts a space-separated list of `id` values that point to elements providing a description for the current element. When a screen reader encounters an element with `aria-describedby`, it reads the text content of each referenced element as additional context.

An empty string (`""`) is not a valid IDREF value. The W3C validator expects at least one non-whitespace character. This often happens when a template engine or JavaScript outputs an empty variable into the attribute, or when a CMS generates the attribute without a corresponding value.

If no description exists, remove the attribute altogether. An absent `aria-describedby` is perfectly fine — it simply means the element has no supplementary description. Assistive technologies handle missing attributes gracefully, but an empty one can cause unpredictable behavior.

## Examples

### Invalid: empty `aria-describedby`

```html
<a href="/settings" aria-describedby="">Account settings</a>
```

### Fixed: attribute removed

```html
<a href="/settings">Account settings</a>
```

### Fixed: attribute references a valid ID

```html
<a href="/settings" aria-describedby="settings-note">Account settings</a>
<p id="settings-note">Opens your profile and notification preferences.</p>
```
