From 3e9e077cd53ef54e108bcdcb6da4a65fac453883 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Tue, 21 Apr 2015 22:42:59 -0500 Subject: [PATCH] tabs aria --- src/components/tabs/tab.js | 11 ++++++++++- src/components/tabs/tabs.js | 13 +++++++++---- src/components/tabs/tabs.scss | 7 ++++++- src/util/util.js | 5 +++++ 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/components/tabs/tab.js b/src/components/tabs/tab.js index 574cb57cfb..af97e7bdf9 100644 --- a/src/components/tabs/tab.js +++ b/src/components/tabs/tab.js @@ -9,6 +9,7 @@ import { import {NavViewport} from 'ionic2/components/nav-viewport/nav-viewport' import {NavPane} from 'ionic2/components/nav-pane/nav-pane' import {Tabs} from 'ionic2/components/tabs/tabs' +import * as util from 'ionic2/util' import {IonicComponent} from 'ionic2/config/component' @@ -33,12 +34,20 @@ export class Tab extends NavViewport { constructor( element: NgElement, @Ancestor() tabs: Tabs, - @PropertySetter('class.hide') setHidden: Function + @PropertySetter('class.hide') setHidden: Function, + @PropertySetter('attr.role') setRole: Function, + @PropertySetter('attr.id') setId: Function, + @PropertySetter('attr.aria-labelledby') setLabelby: Function ) { super(element) this.config = Tab.config.invoke(this) this.setHidden = setHidden + this.tabId = util.uid() + setId('tab-content-' + this.tabId) + setLabelby('tab-item-' + this.tabId) + setRole('tabpanel') + this.setSelected(false) tabs.addTab(this) } diff --git a/src/components/tabs/tabs.js b/src/components/tabs/tabs.js index 7417e6cb59..4bde8a4452 100644 --- a/src/components/tabs/tabs.js +++ b/src/components/tabs/tabs.js @@ -16,18 +16,23 @@ import {IonicComponent} from 'ionic2/config/component' -