File tree Expand file tree Collapse file tree 2 files changed +19
-4
lines changed
src/material/tabs/tab-nav-bar Expand file tree Collapse file tree 2 files changed +19
-4
lines changed Original file line number Diff line number Diff line change @@ -327,6 +327,19 @@ describe('MDC-based MatTabNavBar', () => {
327327 expect ( tabLinks [ 1 ] . classList . contains ( 'mdc-tab--active' ) ) . toBe ( true ) ;
328328 } ) ;
329329
330+ it ( 'should activate a link when enter is pressed' , ( ) => {
331+ const fixture = TestBed . createComponent ( SimpleTabNavBarTestApp ) ;
332+ fixture . detectChanges ( ) ;
333+
334+ const tabLinks = fixture . nativeElement . querySelectorAll ( '.mat-mdc-tab-link' ) ;
335+ expect ( tabLinks [ 1 ] . classList . contains ( 'mdc-tab--active' ) ) . toBe ( false ) ;
336+
337+ dispatchKeyboardEvent ( tabLinks [ 1 ] , 'keydown' , ENTER ) ;
338+ fixture . detectChanges ( ) ;
339+
340+ expect ( tabLinks [ 1 ] . classList . contains ( 'mdc-tab--active' ) ) . toBe ( true ) ;
341+ } ) ;
342+
330343 describe ( 'ripples' , ( ) => {
331344 let fixture : ComponentFixture < SimpleTabNavBarTestApp > ;
332345
Original file line number Diff line number Diff line change @@ -384,10 +384,12 @@ export class MatTabLink
384384 }
385385
386386 _handleKeydown ( event : KeyboardEvent ) {
387- if ( this . disabled && ( event . keyCode === SPACE || event . keyCode === ENTER ) ) {
388- event . preventDefault ( ) ;
389- } else if ( this . _tabNavBar . tabPanel && event . keyCode === SPACE ) {
390- this . elementRef . nativeElement . click ( ) ;
387+ if ( event . keyCode === SPACE || event . keyCode === ENTER ) {
388+ if ( this . disabled ) {
389+ event . preventDefault ( ) ;
390+ } else if ( this . _tabNavBar . tabPanel ) {
391+ this . elementRef . nativeElement . click ( ) ;
392+ }
391393 }
392394 }
393395
You can’t perform that action at this time.
0 commit comments