Skip to content

Commit a410069

Browse files
fix(DataTable): fix a11y issues with selection variant (#14206)
* fix(DataTable): fix a11y issues with selection variant * chore(DataTable): update tests, snapshots --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
1 parent 2e55184 commit a410069

4 files changed

Lines changed: 40 additions & 31 deletions

File tree

packages/react/src/components/DataTable/__tests__/TableSelectRow-test.js

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -39,24 +39,6 @@ describe('DataTable.TableSelectRow', () => {
3939
expect(container).toMatchSnapshot();
4040
});
4141

42-
it('should respect ariaLabel prop', () => {
43-
render(
44-
<Table>
45-
<TableHead>
46-
<TableRow>
47-
<TableSelectRow {...mockProps} />
48-
</TableRow>
49-
</TableHead>
50-
</Table>
51-
);
52-
53-
// eslint-disable-next-line testing-library/no-node-access
54-
expect(screen.getByRole('checkbox').nextSibling).toHaveAttribute(
55-
'aria-label',
56-
mockProps.ariaLabel
57-
);
58-
});
59-
6042
it('should respect checked prop', () => {
6143
render(
6244
<Table>

packages/react/src/components/DataTable/__tests__/__snapshots__/DataTable-test.js.snap

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -626,10 +626,15 @@ exports[`DataTable behaves as expected selection should render and match snapsho
626626
type="checkbox"
627627
/>
628628
<label
629-
aria-label="Select all rows"
630629
class="cds--checkbox-label"
631630
for="data-table-7__select-all"
632-
/>
631+
>
632+
<span
633+
class="cds--visually-hidden"
634+
>
635+
Select all rows
636+
</span>
637+
</label>
633638
</div>
634639
</th>
635640
<th
@@ -669,10 +674,15 @@ exports[`DataTable behaves as expected selection should render and match snapsho
669674
type="checkbox"
670675
/>
671676
<label
672-
aria-label="Select row"
673677
class="cds--checkbox-label"
674678
for="data-table-7__select-row-b"
675-
/>
679+
>
680+
<span
681+
class="cds--visually-hidden"
682+
>
683+
Select row
684+
</span>
685+
</label>
676686
</div>
677687
</td>
678688
<td>
@@ -696,10 +706,15 @@ exports[`DataTable behaves as expected selection should render and match snapsho
696706
type="checkbox"
697707
/>
698708
<label
699-
aria-label="Select row"
700709
class="cds--checkbox-label"
701710
for="data-table-7__select-row-a"
702-
/>
711+
>
712+
<span
713+
class="cds--visually-hidden"
714+
>
715+
Select row
716+
</span>
717+
</label>
703718
</div>
704719
</td>
705720
<td>
@@ -723,10 +738,15 @@ exports[`DataTable behaves as expected selection should render and match snapsho
723738
type="checkbox"
724739
/>
725740
<label
726-
aria-label="Select row"
727741
class="cds--checkbox-label"
728742
for="data-table-7__select-row-c"
729-
/>
743+
>
744+
<span
745+
class="cds--visually-hidden"
746+
>
747+
Select row
748+
</span>
749+
</label>
730750
</div>
731751
</td>
732752
<td>

packages/react/src/components/DataTable/__tests__/__snapshots__/TableSelectRow-test.js.snap

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,15 @@ exports[`DataTable.TableSelectRow renders as expected - Component API should ren
2323
type="checkbox"
2424
/>
2525
<label
26-
aria-label="Aria label"
2726
class="cds--checkbox-label"
2827
for="id"
29-
/>
28+
>
29+
<span
30+
class="cds--visually-hidden"
31+
>
32+
Aria label
33+
</span>
34+
</label>
3035
</div>
3136
</td>
3237
</tr>

packages/react/src/components/InlineCheckbox/InlineCheckbox.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,14 @@ const InlineCheckbox = React.forwardRef(function InlineCheckbox(
6565
<label
6666
htmlFor={id}
6767
className={`${prefix}--checkbox-label`}
68-
aria-label={deprecatedAriaLabel || ariaLabel}
6968
title={title}
7069
onClick={(evt) => {
7170
evt.stopPropagation();
72-
}}
73-
/>
71+
}}>
72+
<span className={`${prefix}--visually-hidden`}>
73+
{deprecatedAriaLabel || ariaLabel}
74+
</span>
75+
</label>
7476
}
7577
</div>
7678
);

0 commit comments

Comments
 (0)