Easy Accessible jQuery Tabs Plugin - accTabs
| File Size: | 70.5 KB | 
|---|---|
| Views Total: | 1096 | 
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website | 
| License: | MIT | 
 
accTabs is a really simple jQuery plugin for rendering a fully accessible tabs component that uses WAI-ARIA roles and state markups to provide an universal experience on various devices and screen readers.
How to use it:
1. To get started, you first need to include the jQuery accTabs plugin after jQuery library.
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script> <script src="jquery.accTabs.js"></script>
2. And then build the markup structure for the tabs component as follow.
<div class="tabs demo">
  <h3>Tabs title one</h3>
  <div>
    <p>Tabs Panel One</p>
  </div>
  <h3>Tabs title two</h3>
  <div>
    <p>Tabs Panel Two</p>
  </div>
  <h3>Tabs title three</h3>
  <div>
    <p>Tabs Panel Three</p>
  </div>
</div> 
3. Just call the function on the top element and the plugin will do the rest.
$(".demo").accTabs();
4. Style the tabs component using your own CSS styles.
/* Tabs control text */
.js-tabs_control-text {
  direction: ltr;
  left: -999em;
  position: absolute;
}
/* Tabs control */
.js-tabs .js-tabs_control {
  float: left;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1000;
}
.js-tabs .js-tabs_control li {
  background: #ddd;
  border-width: 1px 1px 0;
  float: left;
  margin: 0 10px 0 0;
  padding: 0;
  position: relative;
}
.js-tabs .js-tabs_control button {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px 0.5em 10px;
  position: relative;
  outline: 0;
  text-decoration: none;
}
.js-tabs .js-tabs_control button:hover, .js-tabs .js-tabs_control button:focus, .js-tabs .js-tabs_control button:active {
  border-color: #000;
  text-decoration: underline;
}
.js-tabs .js-tabs_control .badge {
  background-color: #C00000;
  border-radius: 10px;
  font-size: 80%;
  color: #fff;
  display: inline-block;
  margin-left: 5px;
  padding: 0 8px;
  text-decoration: none;
}
/* Selected tabs control */
.js-tabs .js-tabs_control .js-tabs_control-item--active, .js-tabs .js-tabs_control .js-tabs_control-item--active:focus, .js-tabs .js-tabs_control .js-tabs_control-item--active:active {
  background: #fafafa;
  border: 1px solid #999;
  border-bottom: none;
  color: #333;
  top: 1px;
  z-index: 1000;
}
/* Tabs panel */
.js-tabs .js-tabs_panel {
  background-color: #fafafa;
  border: 1px solid #999;
  color: #333;
  clear: left;
  display: block;
  overflow: auto;
  position: relative;
  padding: 0 1em 1em;
  visibility: visible;
  z-index: 5;
}
.js-tabs .js-tabs_panel:focus { outline: 1px dotted #999; }
5. Default plugin settings.
$(".demo").accTabs({
  // Specify which tab to open by default using 0-based position
  defaultTab: 0,
  // Callback when the plugin is created
  callbackCreate: function() {},
  // Callback when the plugin is destroyed
  callbackDestroy: function() {},
  // A class applied to the target element
  containerClass: 'js-tabs',
  // A class applied to the active tab control
  controlActiveClass: 'js-tabs_control-item--active',
  // An explanation of how the tabs operate, which is prepended to the tabs content
  controlsText: 'Use the tab and enter or arrow keys to move between tabs',
  // Class to apply to the controls text element
  controlsTextClass: 'js-tabs_control-text',
  // A class applied to the active panel
  panelActiveClass: 'js-tabs_panel--active',
  // Class to apply the controls list
  tabControlsClass: 'js-tabs_control',
  // Ids for tab controls should start with the following string
  tabControlId: 'js-tabs_control-item--',
  // Class to be applied to the tab panel
  tabPanelClass: 'js-tabs_panel',
  // Ids for tab panels should start with the following string
  tabPanelId: 'js-tabs_panel--',
  // Callback when the tab is activated
  callbackTabActivated: function() {}
  
});
This awesome jQuery plugin is developed by nomensa. For more Advanced Usages, please check the demo page or visit the official website.











