diff --git a/projects/igniteui-angular/src/lib/date-picker/date-picker.component.spec.ts b/projects/igniteui-angular/src/lib/date-picker/date-picker.component.spec.ts index d208aed8cd2..4a5dd168697 100644 --- a/projects/igniteui-angular/src/lib/date-picker/date-picker.component.spec.ts +++ b/projects/igniteui-angular/src/lib/date-picker/date-picker.component.spec.ts @@ -231,19 +231,24 @@ describe('IgxDatePicker', () => { expect(datePicker).toBeDefined(); expect(inputGroup.isRequired).toBeTruthy(); + expect((datePicker as any).inputDirective.nativeElement.getAttribute('aria-required')).toEqual('true'); }); - it('should update inputGroup isRequired correctly', () => { + it('should update inputGroup isRequired correctly', fakeAsync(() => { const inputGroup = (datePicker as any).inputGroup; + const inputEl = (datePicker as any).inputDirective.nativeElement; expect(datePicker).toBeDefined(); expect(inputGroup.isRequired).toBeTruthy(); + expect(inputEl.getAttribute('aria-required')).toEqual('true'); (fixture.componentInstance as IgxDatePickerNgModelComponent).isRequired = false; fixture.detectChanges(); + tick(); expect(inputGroup.isRequired).toBeFalsy(); - }); + expect(inputEl.getAttribute('aria-required')).toEqual('false'); + })); it('should set validity to initial when the form is reset', fakeAsync(() => { fixture = TestBed.createComponent(IgxDatePickerInFormComponent); diff --git a/projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts b/projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts index a3a6935af7d..17f8d63f41b 100644 --- a/projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts +++ b/projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts @@ -790,6 +790,8 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr this._ngControl.statusChanges.subscribe(this.onStatusChanged.bind(this)); if (this._ngControl.control.validator) { this.inputGroup.isRequired = this.required; + this._renderer.setAttribute(this.inputDirective.nativeElement, 'aria-required', + (this.required || false).toString()); this.cdr.detectChanges(); } } @@ -862,6 +864,8 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr this.disabled = this._ngControl.disabled; this.updateValidity(); this.inputGroup.isRequired = this.required; + this._renderer.setAttribute(this.inputDirective.nativeElement, 'aria-required', + (this.required || false).toString()); }; private handleSelection(date: Date): void {