2016-12-27 2 views
2

я начал получать это предупреждение о моих реагирующих покадровых компонентах:Почему для реакции-модальности требуется содержание contentLabel?

Предупреждения: Failed propType: Требуется проп contentLabel не был указан в Modal.

Это не мешает модальному работать правильно, я просто вижу предупреждение в консоли инструментов разработчика. Я могу передать эту подсказку, указав некоторую случайную строку, но я не понимаю, для чего это фактически используется, и почему это требуется.

ответ

4

contentLabel улучшает доступность. Вероятно, вы этого не заметите, но в определенных ситуациях этот prop может помочь вашим пользователям понять, что такое модальный. От their repository:

Объект режимное имеет два обязательных реквизита:

  • isOpen для оказания своих детей.
  • contentLabel для улучшения a11y, начиная с v1.6.0.

Значение contentLabel устанавливается как aria-label на модального элемента. Это помогает assistive technology, как и устройства для чтения с экрана, добавить ярлык к элементу, который в противном случае был бы анонимным. Люди с нарушениями зрения, например, могут придать дополнительный смысл вашему модалю при добавлении.

+0

Да, я видел эту документацию, но она не совсем объясняет, почему она требуется. Так что это какая-то помощь пользователям. Мне казалось, что это так или иначе, и я этого не замечал, поэтому вопрос в том, как это точно помогает? – evianpring

+0

В каких ситуациях это помогает? Я видел документацию, но она ничего не говорит, кроме того, что вы наклеили выше. – evianpring

+0

Обновлен мой ответ. –

0

В этом https://github.com/reactjs/react-modal/blob/master/dist/react-modal.js contentLabel и isOpen заданы как это содержимоеLabel: React.PropTypes.string.isRequired, если вы удаляете .isRequired, тогда вы можете использовать модальное значение без определения contentLabel prop.

+0

Я знаю, что могу перейти к фактическому пакету и изменить его, но я не хочу его изменять, я просто хочу понять, что логика требовала. Я не думаю, что это требовалось в более ранних версиях реакционно-модальных. – evianpring

+0

Это из-за arial lable. aria-label делает то же самое, что и lable, но для тех случаев, когда на экране нет практического или желательно иметь ярлык. – Codesingh

Смежные вопросы