jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/349134 )
Change subject: Set `aria-owns` for everything with a dropdown list (ARIA `role=combobox`) ...................................................................... Set `aria-owns` for everything with a dropdown list (ARIA `role=combobox`) Bug: T149654 Change-Id: I2d27bdbba408c31001e4db088148a3b454eb6e3a --- M src/mixins/LookupElement.js M src/widgets/CapsuleMultiselectWidget.js M src/widgets/ComboBoxInputWidget.js M src/widgets/DropdownWidget.js M tests/QUnit.assert.equalDomElement.js 5 files changed, 11 insertions(+), 1 deletion(-) Approvals: jenkins-bot: Verified VolkerE: Looks good to me, approved diff --git a/src/mixins/LookupElement.js b/src/mixins/LookupElement.js index a95d3eb..dd56bd7 100644 --- a/src/mixins/LookupElement.js +++ b/src/mixins/LookupElement.js @@ -61,6 +61,7 @@ // Initialization this.$input.attr( { role: 'combobox', + 'aria-owns': this.lookupMenu.getElementId(), 'aria-autocomplete': 'list' } ); this.$element.addClass( 'oo-ui-lookupElement' ); diff --git a/src/widgets/CapsuleMultiselectWidget.js b/src/widgets/CapsuleMultiselectWidget.js index 805c2ed..cbcc37e 100644 --- a/src/widgets/CapsuleMultiselectWidget.js +++ b/src/widgets/CapsuleMultiselectWidget.js @@ -158,6 +158,7 @@ this.$input.prop( 'disabled', this.isDisabled() ); this.$input.attr( { role: 'combobox', + 'aria-owns': this.menu.getElementId(), 'aria-autocomplete': 'list' } ); } diff --git a/src/widgets/ComboBoxInputWidget.js b/src/widgets/ComboBoxInputWidget.js index 5342854..440da2a 100644 --- a/src/widgets/ComboBoxInputWidget.js +++ b/src/widgets/ComboBoxInputWidget.js @@ -113,6 +113,7 @@ // Initialization this.$input.attr( { role: 'combobox', + 'aria-owns': this.menu.getElementId(), 'aria-autocomplete': 'list' } ); // Do not override options set via config.menu.items diff --git a/src/widgets/DropdownWidget.js b/src/widgets/DropdownWidget.js index b4fd091..1d2ff0e 100644 --- a/src/widgets/DropdownWidget.js +++ b/src/widgets/DropdownWidget.js @@ -95,6 +95,7 @@ .addClass( 'oo-ui-dropdownWidget-handle' ) .attr( { role: 'combobox', + 'aria-owns': this.menu.getElementId(), 'aria-autocomplete': 'list' } ) .append( this.$icon, this.$label, this.$indicator ); diff --git a/tests/QUnit.assert.equalDomElement.js b/tests/QUnit.assert.equalDomElement.js index 0fbd024..8d69f23 100644 --- a/tests/QUnit.assert.equalDomElement.js +++ b/tests/QUnit.assert.equalDomElement.js @@ -84,10 +84,16 @@ // Filter out acceptable differences between OOjs UI's PHP widgets and JS widgets // Automatically generated IDs (Tag::generateElementId(), OO.ui.generateElementId()) if ( summary.attributes.id !== undefined && summary.attributes.id.match( /^(ooui-|oojsui-)/ ) ) { + // The 'id' might be missing on the JS side, while PHP always generates them for infusion. delete summary.attributes.id; } + // For other attributes using autogenerated ids, the value might differ, but the attribute + // should be either present in both PHP and JS, or missing in both PHP and JS. if ( summary.attributes.for !== undefined && summary.attributes.for.match( /^(ooui-|oojsui-)/ ) ) { - delete summary.attributes.for; + summary.attributes.for = '(autogenerated)'; + } + if ( summary.attributes[ 'aria-owns' ] !== undefined && summary.attributes[ 'aria-owns' ].match( /^(ooui-|oojsui-)/ ) ) { + summary.attributes[ 'aria-owns' ] = '(autogenerated)'; } // Infusion data if ( summary.attributes[ 'data-ooui' ] !== undefined ) { -- To view, visit https://gerrit.wikimedia.org/r/349134 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I2d27bdbba408c31001e4db088148a3b454eb6e3a Gerrit-PatchSet: 4 Gerrit-Project: oojs/ui Gerrit-Branch: master Gerrit-Owner: Bartosz DziewoĆski <matma....@gmail.com> Gerrit-Reviewer: VolkerE <volke...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits