vue3-accessible-accordions
v0.5.0
Published
A Vue 3 plugin offering a WAI-ARIA compliant accordion design pattern implementation
Downloads
76
Readme
Vue3 Accessible Accordion
A simple accordion component plugin for Vue 3. Follows the Accordion Design Pattern in WAI-ARIA Authoring Practices 1.1 for accessibility best practices automatically built into the plugin.
Install
npm i vue3-accessible-accordions
or
yarn add vue3-acccessible-accordions
Register as a Global Component
import { createApp } from 'vue';
import App from './App.vue'
import vue3_accessible_accordions from 'vue3-accessible-accordions';
const app = createApp(App)
.use(vue3_accessible_accordions);
.mount('#app')
Register Components Individually
import Accordion, AccordionPanel, AccordionPanelHeader, AccordionPanelContent from 'vue3-accessible-accordions';
export default {
components: {
Accordion,
AccordionPanel,
AccordionPanelHeader,
AccordionPanelContent
}
}
Example Usage
<accordion>
<accordion-panel>
<accordion-panel-header>Question 1</accordion-panel-header>
<accordion-panel-content>Answer to FAQ 1</accordion-panel-content>
</accordion-panel>
<accordion-panel>
<accordion-panel-header>Question 2</accordion-panel-header>
<accordion-panel-content>Answer to FAQ 2</accordion-panel-content>
</accordion-panel>
</accordion-panel>
</accordion>
Components
<accordion>
Props | Prop | Type | Default | Required | Description | | ---------- | ------ | --------- | -------- | ----------- | | modelValue | Array | [] | No | Array of indexes of active tab panels. Defaults to an empty array - no panels will be open | | headerTag | String | h3 | No | HTML tag to be used for rendering around the button toggle of each accordion panel header | | collapsible | Boolean | true | false | Controls whether all accordion panels can be collapsed or if at least one has to be open at all times | | expandable | Boolean | false | false | Controls whether multiple accordion panels can be open at the same time |
Events
None
<accordion-panel>
Props
None
Events
None
<accordion-panel-header>
Props
None
Events
None
<accordion-panel-content>
Props
None
Events
None
Project setup
yarn
Compiles and hot-reloads for development
yarn serve
Compiles and minifies for production
yarn build