-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Epic: Component a11y consistency with disabled
and aria-disabled
attributes (2036570545)
#7775
Comments
This issue includes multiple components, but will need some additional insights and direction from the testers to determine next steps. Components affected:
|
disabled
and aria-disabled
attributes (2036570545)
@geospatialem the only valid instance of this is found on calcite-design-system/packages/calcite-components/src/components/action/action.tsx Lines 318 to 322 in 06c96e9
All the other instances are a result of the calcite-design-system/packages/calcite-components/src/utils/interactive.tsx Lines 73 to 74 in 06c96e9
These components have a disabled property on them still need the |
@jcfranco if we did want to try and adjust this, we would need to move the |
**Related Issue:** #7775 ## Summary - only set `disabled` on action, not `aria-disabled` since it is redundant.
@geospatialem can we spike this one to determine if we need to remove setting |
@driskull Believe when we checked in with our consultant earlier this year it was recommended to remove |
@geospatialem I wonder if they understand these are web components and not HTML elements like an input or button that have a disabled attribute/property. They may be missing some context. |
Once #10374 is merged the remaining components, with the helper, as-is. When we conduct the audit with our third party vendor in early 2025 we should communicate that its best to interpret the contents as-is to determine if assistive technologies are unable to parse content, or if this surfaces since the custom |
**Related Issue:** #7775 ## Summary - remove setting `aria-disabled` where the `InteractiveContainer` will handle setting `aria-disabled` - add `InteractiveContainer` to handle component - picklist and valuelist also need this but they are deprecated so I didn't update them - some components were setting `aria-disabled` without `toAriaBoolean` so they weren't working anyway `aria-disabled={this.disabled}` - `date-picker-month-header` was not using `toAriaBoolean` - update e2e test - After this PR, we can evaluate if we need to update the `Interactive.tsx` helper.
Changed assignment to address/communicate with Level for the 2025 audit. |
Violation:
Ensure ARIA roles, states, and properties are valid. In each case both the
disabled
andaria-disabled
attributes are added causing error reports across the design system.Fix
Calcite should get rid of the
aria-disabled
wheredisabled
is present.We could consider an eslint rule to prevent both
aria-disabled
anddisabled
from being set in the JSX per Matt's recommendation in thelist-item
issue #7796 (comment).Components affected
action
block
dropdown
split-button
color-picker
combobox
fab
input
input-message
input-date-picker
list-item
rating
panel
radio-button
select
slider
switch
stepper-item
tabs
tile
tile-select
WCAG Reference:
Severity:
5
Media Type:
ARIA
Areas for Remediation:
Pattern: ARIA – Redundant aria-disabled Attribute]
Issue
There are elements with invalid ARIA attribute aria-disabled="true" as it already has native HTML disabled attribute.
Occurrences
04 Action
08 Block & Block Section
09b Split Button
10 Color Picker
11 Combobox, Combobox Item Group and Combobox Item
14a Floating Action Button (FAB)
16 Input & Input Message
17a Input Date Picker
17b Input Time Picker
19 List, List Item Group and List Item
20b Rating
23a Panel
24 Pick List, Pick List Group and Pick List Item
26 Radio Button and Radio Button Group
27 Radio Group and Radio Group Item
28a Select
28b Slider
28c Switch
31 Stepper and Stepper Item
32 Tabs, Tab Nav, Tab Title and Tab
33 Tile
34 Tile Select Group and Tile Select
User Impact
Assistive technologies may be unable to parse this content.
[Code R
eference]
Suggestion
Ensure ARIA roles, states, and properties are valid. Many ARIA attributes can only be used on certain elements. Some can only be used in combination with other attributes. Additionally, if an attribute references an ID, that ID must be present in the page.
To detect many of these errors automatically, use the Nu Html Checker: https://validator.w3.org/nu/
Compliant Code Example
Additional Resources:
The text was updated successfully, but these errors were encountered: