reactjs/react-a11y

"The `alt` prop cannot be empty string if role="presentation" is not set" when it is

Open

#144 opened on Mar 16, 2018

View on GitHub
 (3 comments) (0 reactions) (0 assignees)JavaScript (147 forks)batch import
Hacktoberfestbug

Repository metrics

Stars
 (2,334 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

With the following code, I get the error presented in the title. Not sure if this is a bug or what, but it sure is annoying.

// rest of it isn't relevant
const image = getImageData(data, size)
const { src, alt } = image

const a11yProps = { alt }

if (alt.length === 0) {
  a11yProps.alt = ''
  a11yProps.role = 'presentation'
}

// eslint-disable-next-line jsx-a11y/alt-text
return <img src={src} {...a11yProps} {...remaining} />

If I remove the alt from the props object entirely, more errors appear. I'm pretty sure I could work around this with two returns, but I'd rather not do that.

image

And there's nothing in remaining that would overwrite role or alt.

Contributor guide