Why does react-modal require the prop contentLabel?

3.2k Views Asked by At

I started getting this warning on my react-modal components:

Warning: Failed propType: Required prop contentLabel was not specified in Modal.

It doesn't prevent the modal from working correctly, I just see the warning in the dev tools console. I can pass this prop in by specifying some random string, but I do not understand what this is actually used for, and why it is required.

2

There are 2 best solutions below

3
Fabian Schultz On BEST ANSWER

contentLabel improves accessibility. You probably don't notice it, but in certain situations this prop can help your users understand what the modal is about. From their repository:

The Modal object has two required props:

  • isOpen to render its children.
  • contentLabel to improve a11y, since v1.6.0.

The value of contentLabel is set as an aria-label on the modal element. This helps assistive technology, like screen readers, to add a label to an element that would otherwise be anonymous. People with visual impairment for example can make more sense out of your modal when added.

2
Codesingh On

In thishttps://github.com/reactjs/react-modal/blob/master/dist/react-modal.js contentLabel and isOpen is set required like this contentLabel: React.PropTypes.string.isRequired if you remove .isRequired then you can use modal without defining contentLabel prop.