diff --git a/src/__tests__/label-helpers.js b/src/__tests__/label-helpers.js new file mode 100644 index 00000000..4fd2448f --- /dev/null +++ b/src/__tests__/label-helpers.js @@ -0,0 +1,7 @@ +import {getRealLabels} from '../label-helpers' + +test('hidden inputs are not labelable', () => { + const element = document.createElement('input') + element.type = 'hidden' + expect(getRealLabels(element)).toEqual([]) +}) diff --git a/src/__tests__/queries.find.js b/src/__tests__/queries.find.js index f8c48f1f..6372f957 100644 --- a/src/__tests__/queries.find.js +++ b/src/__tests__/queries.find.js @@ -35,6 +35,7 @@ test('find asynchronously finds elements', async () => {
header
+ `) await expect(findByLabelText('test-label')).resolves.toBeTruthy() diff --git a/src/label-helpers.js b/src/label-helpers.js index 52c5dc99..d71b4f8e 100644 --- a/src/label-helpers.js +++ b/src/label-helpers.js @@ -34,7 +34,7 @@ function getLabelContent(node) { // Based on https://github.com/eps1lon/dom-accessibility-api/pull/352 function getRealLabels(element) { - if (element.labels !== undefined) return element.labels + if (element.labels !== undefined) return element.labels ?? [] if (!isLabelable(element)) return []