fix(aria-valid-attr-value): aria-controls & aria-haspopup incomplete#4418
fix(aria-valid-attr-value): aria-controls & aria-haspopup incomplete#4418gaiety-deque merged 2 commits intodevelopfrom
Conversation
if an element has both aria-controls and aria-haspopup mark it incomplete as we are unsure if the DOM element will be added dynamically later Refs: #4363
WilcoFiers
left a comment
There was a problem hiding this comment.
Code looks good. Well done. Couple extra tests would be useful.
| assert.isFalse(validAttrValueCheck.call(checkContext, null, null, vNode)); | ||
| }); | ||
|
|
||
| it('should return undefined on aria-controls with aria-haspopup as we cannot determine if it is in the DOM later', function () { |
There was a problem hiding this comment.
Let test that messageKey is set here. I would also like to see a test showing this fails with aria-expanded=false. An integration test would also be useful, just to be safe.
There was a problem hiding this comment.
Ah today I learned how testing the messageKey works thanks!
Added that, and an integration test here a823712
- messageKey added to unit test - integration test Refs: #4363
### [4.9.1](v4.9.0...v4.9.1) (2024-05-06) ### Bug Fixes - Prevent errors when loading axe in a page with prototype.js - **aria-allowed-attr:** allow meter role allowed aria-\* attributes on meter element ([#4435](#4435)) ([7ac6392](7ac6392)) - **aria-allowed-role:** add gridcell, separator, slider and treeitem to allowed roles of button element ([#4398](#4398)) ([4788bf8](4788bf8)) - **aria-roles:** correct abstract roles (types) for aria-roles([#4421](#4421)) - **aria-valid-attr-value:** aria-controls & aria-haspopup incomplete ([#4418](#4418)) - fix building axe-core translation files with region locales ([#4396](#4396)) ([5c318f3](5c318f3)), closes [#4388](#4388) - **invalidrole:** allow upper and mixed case role names ([#4358](#4358)) ([105016c](105016c)), closes [#2695](#2695) - **isVisibleOnScreen:** account for position: absolute elements inside overflow container ([#4405](#4405)) ([2940f6e](2940f6e)), closes [#4016](#4016) - **label-content-name-mismatch:** better dismiss and wysiwyg symbolic text characters ([#4402](#4402)) - **region:** Decorative images ignored by region rule ([#4412](#4412)) - **target-size:** ignore descendant elements in shadow dom ([#4410](#4410)) ([6091367](6091367)) - **target-size:** pass for element that has nearby elements that are obscured ([#4422](#4422)) ([3a90bb7](3a90bb7)), closes [#4387](#4387) This PR was opened by a robot 🤖 🎉 (And updated by @WilcoFiers )
|
Hi, @WilcoFiers, I filed the bug report for the aria-control issue to the Deque helpdesk, and I was pointed at this issue. This update removes the error because Axe cannot check the DOM element, which will be added dynamically later. Is that correct? Thanks for the confirmation. "whether both aria-controls and aria-haspopup mark it incomplete as we are unsure if the DOM element will be added dynamically later" |
if an element has both aria-controls and aria-haspopup mark it incomplete as we are unsure if the DOM element will be added dynamically later
dev note: this is my first time adding some language locale for an incomplete, how's it look?
fix: #4363