Skip to content

Commit 1803277

Browse files
authored
chore: Ensure aria-disabled is placed correctly in disabled groups (#3324)
1 parent ebd96be commit 1803277

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

src/button-dropdown/__tests__/button-dropdown-items.test.tsx

+9-3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import createWrapper from '../../../lib/components/test-utils/dom';
1111
import { isItemGroup, isLinkItem } from '../utils/utils';
1212

1313
import categoryStyles from '../../../lib/components/button-dropdown/category-elements/styles.css.js';
14+
import categoryItemStyles from '../../../lib/components/button-dropdown/category-elements/styles.css.js';
1415
import itemStyles from '../../../lib/components/button-dropdown/item-element/styles.css.js';
1516
import iconStyles from '../../../lib/components/icon/styles.css.js';
1617
import optionsListStyles from '../../../lib/components/internal/components/options-list/styles.css.js';
@@ -23,7 +24,7 @@ const renderButtonDropdown = (props: ButtonDropdownProps) => {
2324
const checkRenderedGroup = (
2425
renderedItem: ElementWrapper,
2526
group: ButtonDropdownProps.ItemGroup,
26-
parentIsDisabled = false
27+
parentIsDisabled: boolean
2728
) => {
2829
const element = renderedItem.getElement();
2930

@@ -37,7 +38,12 @@ const checkRenderedGroup = (
3738

3839
if (parentIsDisabled || group.disabled) {
3940
expect(element).toHaveClass(`${categoryStyles.disabled}`);
40-
expect(element).toHaveAttribute('aria-disabled', 'true');
41+
if (group.disabled) {
42+
expect(element.querySelector(`.${categoryItemStyles['items-list-container']}`)).toHaveAttribute(
43+
'aria-disabled',
44+
'true'
45+
);
46+
}
4147
}
4248
};
4349

@@ -88,7 +94,7 @@ const checkRenderedItems = (
8894

8995
expect(renderedItems.length).toBe(items.length);
9096

91-
Array.prototype.forEach.call(renderedItems, (renderedItem, index) => {
97+
renderedItems.forEach((renderedItem: ElementWrapper, index: number) => {
9298
const item = items[index];
9399

94100
if (isItemGroup(item)) {

src/button-dropdown/category-elements/category-element.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@ const CategoryElement = ({
2828
<li
2929
className={clsx(styles.category, styles[`variant-${variant}`], disabled && styles.disabled)}
3030
role="presentation"
31-
aria-disabled={disabled ? 'true' : undefined}
3231
>
3332
{item.text && (
3433
<p className={clsx(styles.header, { [styles.disabled]: disabled })} aria-hidden="true">
3534
{item.text}
3635
</p>
3736
)}
38-
<ul className={styles['items-list-container']} role="group" aria-label={item.text}>
37+
<ul className={styles['items-list-container']} role="group" aria-label={item.text} aria-disabled={disabled}>
3938
{item.items && (
4039
<ItemsList
4140
items={item.items}

0 commit comments

Comments
 (0)