You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The role-has-required-aria-props rule incorrectly flags ARIA 1.1 comboboxes because aria-controls is on the text input and not the parent container with the combobox role.
In the ARIA 1.1 combobox pattern role=combobox is placed on the parent container instead of the text input like in the ARIA 1.0 pattern. Additionally in an ARIA 1.1 pattern, aria-controls is placed on the text input instead of aria-owns. aria-owns is instead on the parent container.
Because of the different pattern between 1.0 and 1.1, the role-has-required-aria-props complains because the parent container with the role=combobox does not have an aria-controls attribute.
For instance, this valid ARIA 1.1 combobox markup fails because the div with role=combobox does not have aria-controls:
<labelfor="ex1-input"
id="ex1-label"
class="combobox-label">
Choice 1 Fruit or Vegetable
</label><divclass="combobox-wrapper"><divrole="combobox"
aria-expanded="false"
aria-owns="ex1-listbox"
aria-haspopup="listbox"
id="ex1-combobox"><inputtype="text"
aria-autocomplete="list"
aria-controls="ex1-listbox"
id="ex1-input"></div><ularia-labelledby="ex1-label"
role="listbox"
id="ex1-listbox"
class="listbox hidden"></ul></div>
The text was updated successfully, but these errors were encountered:
Digging deeper, I guess it depends on whether this plugin currently enforces ARIA 1.2 specifications or not, even if they are in Candidate Recommendation stage.
If enforcing ARIA 1.2 specs, then the markup above should rightly fail as combobox markup have changed back to how they were in 1.0. If that's the case, this issue can be closed.
The
role-has-required-aria-props
rule incorrectly flags ARIA 1.1 comboboxes because aria-controls is on the text input and not the parent container with the combobox role.In the ARIA 1.1 combobox pattern
role=combobox
is placed on the parent container instead of the text input like in the ARIA 1.0 pattern. Additionally in an ARIA 1.1 pattern,aria-controls
is placed on the text input instead ofaria-owns
.aria-owns
is instead on the parent container.https://www.w3.org/TR/wai-aria-practices-1.1/examples/combobox/aria1.1pattern/listbox-combo.html
Because of the different pattern between 1.0 and 1.1, the
role-has-required-aria-props
complains because the parent container with therole=combobox
does not have anaria-controls
attribute.For instance, this valid ARIA 1.1 combobox markup fails because the div with role=combobox does not have aria-controls:
The text was updated successfully, but these errors were encountered: