An accessible tabs block for WordPress Gutenberg editor that follows ARIA best practices.
- ✅ Accessible: Built with proper ARIA attributes and keyboard navigation support
- 🎨 Customizable: Add custom colors and icons to your tabs
- 🧩 Flexible: Nest any WordPress block inside tab panels
- ⚡ Easy to use: Simple interface to add, remove, and reorder tabs
- WordPress 6.2 or higher
- PHP 8.1 or higher
- Gutenberg editor enabled
- Download the plugin files
- Upload the
blockparty-tabsfolder to the/wp-content/plugins/directory - Activate the plugin through the 'Plugins' menu in WordPress
composer require beapi/blockparty-tabs- In the WordPress editor, click the + button to add a new block
- Search for "Tabs" or "Blockparty Tabs"
- Click on the block to insert it into your content
By default, the block comes with 3 tabs. Each tab contains a panel where you can add any content.
- Add a tab: Click the "Add Item After" button in the block toolbar
- Remove a tab: Select the tab you want to remove and click the trash icon in the toolbar
- Select a tab item
- In the block toolbar, click the "Icon" button
- Choose an icon from the available options
- Select the tabs block
- Use the color settings in the right sidebar to customize:
- Tab background colors
- Text colors
- Active tab colors
- Click inside a tab panel
- Add any WordPress block (paragraphs, images, buttons, etc.)
- You can nest multiple blocks within each tab panel
The plugin generates semantic HTML with proper ARIA attributes:
role="tablist"for the tabs containerrole="tab"for each tab buttonrole="tabpanel"for each content panel- Proper
aria-controls,aria-labelledby, andaria-selectedattributes - Keyboard navigation support (Arrow keys, Tab, Enter)
<div class="wp-block-blockparty-tabs" role="tablist">
<ul class="wp-block-blockparty-tabs-nav">
<li class="wp-block-blockparty-tabs-nav-item is-active">
<a id="block-tab-0-0" role="tab" aria-controls="block-panel-0-0"
class="wp-block-blockparty-tabs-nav-link" href="#block-tab-0-0"
aria-selected="true">
<span>Tab 1</span>
</a>
</li>
<!-- More tabs... -->
</ul>
<section class="wp-block-blockparty-tabs-panels">
<div role="tabpanel" tabindex="0"
class="wp-block-blockparty-tabs-panel-item is-active"
id="block-panel-0-0" aria-labelledby="block-tab-0-0">
<div class="wp-block-blockparty-tabs-panel-item__inner">
<!-- Your content here -->
</div>
</div>
<!-- More panels... -->
</section>
</div>npm install
npm run buildnpm startnpm run lint:js
npm run lint:cssFor bug reports and feature requests, please use the GitHub issues page.
Developed by Be API Technical Team
GPL-2.0-or-later
