Accordion

Problem

The user needs to find an item in the main navigation

Solution

Stack panels vertically or horizontally and open up one panel at the time while collapsing the other panels

From

Use when

Accordions are often used as part of Main Navigation or subnavigation. If used for navigation it is conceptually equivalent to Tabs. Alternative to Navigation Tree. Although accordions are often used as part of a Wizard I strongly recommend against it since it is worse than regular implementations from a usability point of view. Accordions can be a good way to implement a Frequently Asked Questions (FAQ) where it opens up each question. Another good use would be to manage settings. The number of panels should be small, e.g. < 10.

How

Many different variations of the Accordions exisit, both vertical ones and horizontal ones but the crucial aspects of the implementation are:
The vertical opening panels are usually for display sub-menu items, while horizontal opening panels are suitable for large content areas. When implementing the accordion it is important to get the following aspects right:

Why

An accordion is useful for compressing many elements in a compact space. The elements can be properties, questions or simply navigation items. The downside is, of course, that most items get hidden which may not be very desirable when you use accordions for main navigation. Accordions originate from Macromedia applications such as Dreamweaver where they were first used.

The vertical ones are quite common although they do not always animate nicely. The horizontal ones like the one used in the Xbox 360 is far less used. It is not the best solution from a classic usability perspective but it can add to the fun element of the user experience.

More Examples

At the , an accordian is used for displaying subnavigation without requiring a page-reload:

At a small accordion is used to display several recent projects in a very small area:

At a horizontal accordion is used to give the site a non-conventional feel:

The XBox 360 interface also uses a horizontal accordion:


Implementation

Accordion implementations can be found in nearly every AJAX toolkit: YUI, ASP.NET, Rico, Spry

Literature



Also known as


Collapsible Panels

Code examples




plml logo

Comments

0 comments have been added to this pattern



Add a comment
Do you have something to add or say about this pattern? Perhaps some more examples of how this pattern is used in the wild? Add a comment to this pattern and I'll update the pattern when necessary. Please abstain from misuse. I reserve the right to delete or modify inappropriate postings.

Your Name

Comment

Enter the verification code you see in the image below
captcha