img Alternate Text
Always include an alt prop on <img> tags. If the image is presentational, alt can be an empty string or the <img> must have role="presentation".
ESLint: jsx-a11y/alt-text
Examples
⇣ Incorrect code for this rule:
<img src="snow.png" />
⇡ Correct code for this rule:
<img src="snow.png" alt="Falling snow" />
<img src="snow.png" alt="" />
<img src="snow.png" role="presentation" />
No Redundant img Alternate Text
Do not use words like "image", "photo", or "picture" in <img> alt props. Screen readers already announce img elements as images, so there is no need to include this information in the alt text.
ESLint: jsx-a11y/img-redundant-alt
Examples
⇣ Incorrect code for this rule:
<img src="snow.png" alt="Picture of falling snow" />
⇡ Correct code for this rule:
<img src="snow.png" alt="Falling snow" />
Valid ARIA Roles
Use only valid, non-abstract ARIA roles.
ESLint: jsx-a11y/aria-role
Examples
⇣ Incorrect code for this rule:
Invalid ARIA role:
<div role="datepicker" />
Abstract ARIA role:
<div role="range" />
⇡ Correct code for this rule:
<div role="button" />
No accessKey
Do not use accessKey on elements. Inconsistencies between keyboard shortcuts and keyboard commands used by people using screen readers and keyboards complicate accessibility.
ESLint: jsx-a11y/no-access-key
Examples
⇣ Incorrect code for this rule:
<div accessKey="h" />
⇡ Correct code for this rule:
<div />