@@ -563,7 +563,7 @@ export class IgxCarouselComponent implements OnDestroy, AfterContentInit {
563563 if ( this . keyboardSupport ) {
564564 event . preventDefault ( ) ;
565565 this . next ( ) ;
566- requestAnimationFrame ( ( ) => this . slides . find ( s => s . active ) . nativeElement . focus ( ) ) ;
566+ this . focusSlideElement ( ) ;
567567 }
568568 }
569569
@@ -573,7 +573,7 @@ export class IgxCarouselComponent implements OnDestroy, AfterContentInit {
573573 if ( this . keyboardSupport ) {
574574 event . preventDefault ( ) ;
575575 this . prev ( ) ;
576- requestAnimationFrame ( ( ) => this . slides . find ( s => s . active ) . nativeElement . focus ( ) ) ;
576+ this . focusSlideElement ( ) ;
577577 }
578578 }
579579
@@ -599,7 +599,7 @@ export class IgxCarouselComponent implements OnDestroy, AfterContentInit {
599599 if ( this . keyboardSupport && this . slides . length > 0 ) {
600600 event . preventDefault ( ) ;
601601 this . slides . first . active = true ;
602- requestAnimationFrame ( ( ) => this . slides . find ( s => s . active ) . nativeElement . focus ( ) ) ;
602+ this . focusSlideElement ( ) ;
603603 }
604604 }
605605
@@ -609,7 +609,7 @@ export class IgxCarouselComponent implements OnDestroy, AfterContentInit {
609609 if ( this . keyboardSupport && this . slides . length > 0 ) {
610610 event . preventDefault ( ) ;
611611 this . slides . last . active = true ;
612- requestAnimationFrame ( ( ) => this . slides . find ( s => s . active ) . nativeElement . focus ( ) ) ;
612+ this . focusSlideElement ( ) ;
613613 }
614614 }
615615
@@ -1125,6 +1125,16 @@ export class IgxCarouselComponent implements OnDestroy, AfterContentInit {
11251125 } ) ;
11261126 }
11271127 }
1128+ private focusSlideElement ( ) {
1129+ if ( this . leaveAnimationPlayer ) {
1130+ this . leaveAnimationPlayer . onDone ( ( ) => {
1131+ this . slides . find ( s => s . active ) . nativeElement . focus ( ) ;
1132+ } ) ;
1133+ } else {
1134+ requestAnimationFrame ( ( ) => this . slides . find ( s => s . active ) . nativeElement . focus ( ) ) ;
1135+ }
1136+ }
1137+
11281138}
11291139
11301140export interface ISlideEventArgs extends IBaseEventArgs {
0 commit comments