From f502b8b362cdefff55e92478bea6a70241bc010a Mon Sep 17 00:00:00 2001 From: justin-john Date: Sat, 7 Jun 2014 15:19:26 +0530 Subject: [PATCH 1/3] fix #2290 Added an accessibility feature for tab directive --- src/tabs/test/tabs.spec.js | 30 ++++++++++++++++++++++++++++++ template/tabs/tab.html | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/tabs/test/tabs.spec.js b/src/tabs/test/tabs.spec.js index bf5e2c671c..ddc1fda5a4 100644 --- a/src/tabs/test/tabs.spec.js +++ b/src/tabs/test/tabs.spec.js @@ -778,4 +778,34 @@ describe('tabs', function() { expect(elm.find('.outer-tab-content').eq(0).text().trim()).toEqual(scope.tabs[0].content); })); }); + describe('tab switching using keyboard', function() { + beforeEach(inject(function($compile, $rootScope) { + scope = $rootScope.$new(); + + elm = $compile([ + '', + ' heading 0content 0', + ' heading 1content 1', + ' heading 2content 2', + '' + ].join('\n'))(scope); + scope.$apply(); + })); + + it('should switch tab on focus', function() { + titles().eq(0).find('a').click(); + + titles().eq(1).find('a').focus(); + expect(titles().eq(1)).toHaveClass('active'); + expect(contents().eq(1)).toHaveClass('active'); + expect(titles().eq(0)).not.toHaveClass('active'); + expect(contents().eq(0)).not.toHaveClass('active'); + + titles().eq(2).find('a').focus(); + expect(titles().eq(2)).toHaveClass('active'); + expect(contents().eq(2)).toHaveClass('active'); + expect(titles().eq(1)).not.toHaveClass('active'); + expect(contents().eq(1)).not.toHaveClass('active'); + }); + }); }); diff --git a/template/tabs/tab.html b/template/tabs/tab.html index aedd7ef379..5588a4edd6 100644 --- a/template/tabs/tab.html +++ b/template/tabs/tab.html @@ -1,3 +1,3 @@
  • - {{heading}} + {{heading}}
  • From d55e76d880c91992859eaebcf021bedb34f751b0 Mon Sep 17 00:00:00 2001 From: Justin John Mathews Date: Sat, 7 Jun 2014 15:26:57 +0530 Subject: [PATCH 2/3] Corrected code alignment in tabs spec. --- src/tabs/test/tabs.spec.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/tabs/test/tabs.spec.js b/src/tabs/test/tabs.spec.js index ddc1fda5a4..59f9f68e70 100644 --- a/src/tabs/test/tabs.spec.js +++ b/src/tabs/test/tabs.spec.js @@ -795,14 +795,14 @@ describe('tabs', function() { it('should switch tab on focus', function() { titles().eq(0).find('a').click(); - titles().eq(1).find('a').focus(); - expect(titles().eq(1)).toHaveClass('active'); + titles().eq(1).find('a').focus(); + expect(titles().eq(1)).toHaveClass('active'); expect(contents().eq(1)).toHaveClass('active'); - expect(titles().eq(0)).not.toHaveClass('active'); + expect(titles().eq(0)).not.toHaveClass('active'); expect(contents().eq(0)).not.toHaveClass('active'); - titles().eq(2).find('a').focus(); - expect(titles().eq(2)).toHaveClass('active'); + titles().eq(2).find('a').focus(); + expect(titles().eq(2)).toHaveClass('active'); expect(contents().eq(2)).toHaveClass('active'); expect(titles().eq(1)).not.toHaveClass('active'); expect(contents().eq(1)).not.toHaveClass('active'); From 464c73e7dce13a96a33e713b7e0fe91242c147e1 Mon Sep 17 00:00:00 2001 From: justin-john Date: Sat, 7 Jun 2014 19:35:00 +0530 Subject: [PATCH 3/3] test(tabs): clean up trailing whitespaces --- src/tabs/test/tabs.spec.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/tabs/test/tabs.spec.js b/src/tabs/test/tabs.spec.js index ddc1fda5a4..7ab517d611 100644 --- a/src/tabs/test/tabs.spec.js +++ b/src/tabs/test/tabs.spec.js @@ -795,17 +795,17 @@ describe('tabs', function() { it('should switch tab on focus', function() { titles().eq(0).find('a').click(); - titles().eq(1).find('a').focus(); - expect(titles().eq(1)).toHaveClass('active'); + titles().eq(1).find('a').focus(); + expect(titles().eq(1)).toHaveClass('active'); expect(contents().eq(1)).toHaveClass('active'); - expect(titles().eq(0)).not.toHaveClass('active'); + expect(titles().eq(0)).not.toHaveClass('active'); expect(contents().eq(0)).not.toHaveClass('active'); - titles().eq(2).find('a').focus(); - expect(titles().eq(2)).toHaveClass('active'); + titles().eq(2).find('a').focus(); + expect(titles().eq(2)).toHaveClass('active'); expect(contents().eq(2)).toHaveClass('active'); expect(titles().eq(1)).not.toHaveClass('active'); expect(contents().eq(1)).not.toHaveClass('active'); }); - }); + }); });