Skip to content

Commit

Permalink
[TextField] Use aria-hidden on required asterisk (#20742)
Browse files Browse the repository at this point in the history
  • Loading branch information
alorek committed Apr 25, 2020
1 parent 906fe3d commit 260c596
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 1 deletion.
1 change: 1 addition & 0 deletions packages/material-ui/src/FormLabel/FormLabel.js
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ const FormLabel = React.forwardRef(function FormLabel(props, ref) {
{children}
{fcs.required && (
<span
aria-hidden
className={clsx(classes.asterisk, {
[classes.error]: fcs.error,
})}
Expand Down
4 changes: 3 additions & 1 deletion packages/material-ui/src/FormLabel/FormLabel.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,12 @@ describe('<FormLabel />', () => {
}));

describe('prop: required', () => {
it('should show an asterisk if required is set', () => {
it('should visually show an asterisk but not include it in the a11y tree', () => {
const { container } = render(<FormLabel required>name</FormLabel>);

expect(container.querySelector('label')).to.have.text('name\u2009*');
expect(container.querySelectorAll(`.${classes.asterisk}`)).to.have.lengthOf(1);
expect(container.querySelectorAll(`.${classes.asterisk}`)[0]).toBeAriaHidden();
});

it('should not show an asterisk by default', () => {
Expand All @@ -48,6 +49,7 @@ describe('<FormLabel />', () => {

expect(container.querySelectorAll(`.${classes.asterisk}`)).to.have.lengthOf(1);
expect(container.querySelector(`.${classes.asterisk}`)).to.have.class(classes.error);
expect(container.querySelectorAll(`.${classes.asterisk}`)[0]).toBeAriaHidden();
expect(container.firstChild).to.have.class(classes.error);
});
});
Expand Down

0 comments on commit 260c596

Please sign in to comment.