<div class="crm-flex-box">
<nav class="crm-search-admin-main-tabs">
- <ul class="nav nav-pills nav-stacked" ng-include="'~/crmSearchAdmin/tabs.html'"></ul>
+ <ul class="nav nav-pills nav-stacked" role="tablist" aria-orientation="vertical" ng-include="'~/crmSearchAdmin/tabs.html'"></ul>
</nav>
<div class="crm-flex-4">
- <div ng-if="!$ctrl.selectedDisplay()">
+ <div ng-if="!$ctrl.selectedDisplay()" role="tabpanel">
<div ng-include="'~/crmSearchAdmin/crmSearch-' + controls.tab + '.html'" class="crm-search-admin-relative"></div>
</div>
- <div ng-if="$ctrl.selectedDisplay()">
+ <div ng-if="$ctrl.selectedDisplay()" role="tabpanel">
<div ng-repeat="display in $ctrl.savedSearch.displays" ng-if="controls.tab === ('display_' + $index)">
<crm-search-admin-display class="crm-search-admin-relative" display="display" saved-search="$ctrl.savedSearch"></crm-search-admin-display>
</div>
-<li role="presentation" ng-class="{active: controls.tab === tab.key}" ng-repeat="tab in $ctrl.mainTabs">
+<li role="tab" ng-class="{active: controls.tab === tab.key}" ng-repeat="tab in $ctrl.mainTabs">
<a href ng-click="selectTab(tab.key)">
<i class="crm-i {{:: tab.icon }}"></i>
{{:: tab.title }}
</a>
</li>
<li role="separator" class="disabled"></li>
-<li role="presentation" ng-class="{active: controls.tab === 'group'}" ng-if="$ctrl.savedSearch.groups.length" title="{{ !$ctrl.groupExists ? ts('Group will be deleted.') : '' }}">
+<li role="tab" ng-class="{active: controls.tab === 'group'}" ng-if="$ctrl.savedSearch.groups.length" title="{{ !$ctrl.groupExists ? ts('Group will be deleted.') : '' }}">
<a href ng-click="selectTab('group')" ng-disabled="!$ctrl.groupExists">
<i class="crm-i fa-users"></i>
{{:: ts('Smart Group') }} {{ $ctrl.savedSearch.groups[0].title }}
<i class="crm-i fa-{{ $ctrl.groupExists ? 'trash' : 'undo' }}"></i>
</button>
</li>
-<li role="presentation" ng-repeat="display in $ctrl.savedSearch.displays" ng-class="{active: controls.tab === ('display_' + $index)}" title="{{ display.trashed ? ts('Display will be deleted.') : '' }}">
+<li role="tab" ng-repeat="display in $ctrl.savedSearch.displays" ng-class="{active: controls.tab === ('display_' + $index)}" title="{{ display.trashed ? ts('Display will be deleted.') : '' }}">
<a href ng-click="selectTab('display_' + $index)" ng-disabled="display.trashed">
<i class="crm-i {{ $ctrl.displayTypes[display.type].icon }}"></i>
{{ display.label || ts('Untitled') }}
<i class="crm-i fa-copy"></i>
</button>
</li>
-<li role="presentation">
+<li role="tab">
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="crm-i fa-plus"></i> {{:: ts('Add...') }} <span class="caret"></span>
</button>