Find labels manually when input.labels isn't supported

This commit is contained in:
Mu-An ✌️ Chiou 2017-09-26 17:53:55 +08:00
Родитель 6f98141d0c
Коммит a704bb5b0a
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -50,7 +50,9 @@
var inputElements = context.querySelectorAll('input[type=text], textarea')
for (var i = 0; i < inputElements.length; i++) {
var input = inputElements[i]
if (input.labels && !input.labels.length && !elementIsHidden(input) && !input.hasAttribute('aria-label')) {
// In case input.labels isn't supported by browser, find the control manually (IE)
var label = input.labels ? input.labels[0] : input.closest('label') || document.querySelector('label[for="' + input.id + '"]')
if (!label && !elementIsHidden(input) && !input.hasAttribute('aria-label')) {
logError(new ElementWithoutLabelError(input))
}
}