Skip to content

Commit 1450943

Browse files
cpatin10Catalina Patiño
authored andcommitted
fix(material-experimental/mdc-chips): add 'required' to chips input (#23055)
Adds missing 'required' attribute to chips input. Currently, chips add 'aria-required' only, which is for backwards compatibility. The addision also fixes a bug for axe tests that check for the same value fort 'required' and 'aria-required' attributes. Co-authored-by: Catalina Patiño <[email protected]> (cherry picked from commit ca02022)
1 parent 431e2e6 commit 1450943

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/material-experimental/mdc-chips/chip-input.spec.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,15 @@ describe('MDC-based MatChipInput', () => {
9494
expect(inputNativeElement.getAttribute('aria-required')).toBe('true');
9595
});
9696

97+
it('should be required if the list is required', () => {
98+
expect(inputNativeElement.hasAttribute('required')).toBe(false);
99+
100+
fixture.componentInstance.required = true;
101+
fixture.detectChanges();
102+
103+
expect(inputNativeElement.getAttribute('required')).toBe('true');
104+
});
105+
97106
it('should allow focus to escape when tabbing forwards', fakeAsync(() => {
98107
const gridElement: HTMLElement = fixture.nativeElement.querySelector('mat-chip-grid');
99108

src/material-experimental/mdc-chips/chip-input.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ let nextUniqueId = 0;
6969
'[attr.placeholder]': 'placeholder || null',
7070
'[attr.aria-invalid]': '_chipGrid && _chipGrid.ngControl ? _chipGrid.ngControl.invalid : null',
7171
'[attr.aria-required]': '_chipGrid && _chipGrid.required || null',
72+
'[attr.required]': '_chipGrid && _chipGrid.required || null',
7273
}
7374
})
7475
export class MatChipInput implements MatChipTextControl, AfterContentInit, OnChanges, OnDestroy {

0 commit comments

Comments
 (0)