Skip to content

Commit 7d70b6c

Browse files
coolcorexixphatInternyoyo837
authored
feat: support a11y for menu divider (#661)
* feat: support a11y for menu divider * test: cover a11y support for divider * Update tests/Menu.spec.tsx chore: adapt to feedback Co-authored-by: Amumu <[email protected]> * test: update a11y test expect * test: update snapshot --------- Co-authored-by: phatIntern <[email protected]> Co-authored-by: Amumu <[email protected]>
1 parent d896516 commit 7d70b6c

File tree

4 files changed

+24
-0
lines changed

4 files changed

+24
-0
lines changed

src/Divider.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export default function Divider({ className, style }: DividerProps) {
1616

1717
return (
1818
<li
19+
role="separator"
1920
className={classNames(`${prefixCls}-item-divider`, className)}
2021
style={style}
2122
/>

tests/Menu.spec.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -730,5 +730,21 @@ describe('Menu', () => {
730730

731731
expect(document.activeElement).toBe(last(container.querySelectorAll('li')));
732732
});
733+
734+
it('should render a divider with role="separator"', () => {
735+
const menuRef = React.createRef<MenuRef>();
736+
const { container } = render(
737+
<Menu ref={menuRef} activeKey="cat">
738+
<MenuItem key="light">Light</MenuItem>
739+
<Divider />
740+
<MenuItem key="cat">Cat</MenuItem>
741+
</Menu>,
742+
);
743+
// Get the divider element with the rc-menu-item-divider class
744+
const divider = container.querySelector('.rc-menu-item-divider');
745+
746+
// Assert that the divider element with rc-menu-item-divider class has role="separator"
747+
expect(divider).toHaveAttribute('role', 'separator');
748+
});
733749
});
734750
/* eslint-enable */

tests/__snapshots__/Menu.spec.tsx.snap

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ HTMLCollection [
7676
</li>
7777
<li
7878
class="rc-menu-item-divider"
79+
role="separator"
7980
/>
8081
<li
8182
class="rc-menu-item"
@@ -190,6 +191,7 @@ HTMLCollection [
190191
</li>
191192
<li
192193
class="rc-menu-item-divider"
194+
role="separator"
193195
/>
194196
<li
195197
class="rc-menu-item"
@@ -304,6 +306,7 @@ HTMLCollection [
304306
</li>
305307
<li
306308
class="rc-menu-item-divider"
309+
role="separator"
307310
/>
308311
<li
309312
class="rc-menu-item"
@@ -424,6 +427,7 @@ HTMLCollection [
424427
</li>
425428
<li
426429
class="rc-menu-item-divider"
430+
role="separator"
427431
/>
428432
<li
429433
class="rc-menu-item"
@@ -614,6 +618,7 @@ HTMLCollection [
614618
</li>
615619
<li
616620
class="rc-menu-item-divider"
621+
role="separator"
617622
/>
618623
<li
619624
class="rc-menu-item"
@@ -728,6 +733,7 @@ HTMLCollection [
728733
</li>
729734
<li
730735
class="rc-menu-item-divider"
736+
role="separator"
731737
/>
732738
<li
733739
class="rc-menu-item"

tests/__snapshots__/Options.spec.tsx.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ HTMLCollection [
7373
</li>
7474
<li
7575
class="rc-menu-item-divider"
76+
role="separator"
7677
/>
7778
</ul>,
7879
<div

0 commit comments

Comments
 (0)