# Attribute “aria-disabled” is unnecessary for elements that have attribute “disabled”.

> Canonical HTML version: https://rocketvalidator.com/html-validation/attribute-aria-disabled-is-unnecessary-for-elements-that-have-attribute-disabled
> Attribution: Rocket Validator (https://rocketvalidator.com)
> License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

A control with the `disabled` attribute is already exposed as disabled, so `aria-disabled` repeats the same information and can be removed.

The `disabled` attribute works on `<button>`, `<input>`, `<select>`, `<textarea>`, `<fieldset>`, `<optgroup>` and `<option>`. Browsers take a disabled control out of the tab order, ignore clicks on it, and tell assistive technologies that it is disabled. Adding `aria-disabled="true"` says the same thing again. The ARIA in HTML specification advises against it, and the validator reports it as a warning.

You also get this warning when `aria-disabled` copies the value of `disabled`, as in `disabled="disabled" aria-disabled="disabled"`, or when an empty `aria-disabled=""` sits next to a bare `disabled`. The validator then adds a `Bad value` error as well, because `aria-disabled` only accepts `true` or `false`.

Remove `aria-disabled` and keep `disabled`. If `aria-disabled` is set to `false` on an element with `disabled`, the two attributes contradict each other, and the validator reports that as an error instead.

Sometimes a button should stay focusable while it is unavailable, so keyboard and screen reader users can still reach it and find out why. For that, drop `disabled` and keep only `aria-disabled="true"`. The validator accepts this, but `aria-disabled` changes nothing about behavior: the button still responds to clicks and still submits the form, so your script has to ignore those activations while `aria-disabled` is `true`.

## Invalid example

```html
<form action="/checkout" method="post">
  <label for="email">Email</label>
  <input type="email" id="email" name="email">
  <button type="submit" disabled aria-disabled="true">Place order</button>
</form>
```

## Valid example

```html
<form action="/checkout" method="post">
  <label for="email">Email</label>
  <input type="email" id="email" name="email">
  <button type="submit" disabled>Place order</button>
</form>
```
