2

I'm trying to find examples of expandable/collapsable accordions in iOS but I cannot seem to find any. I haven't seen any official statements from Apple but it seems as if all native apps prefer menu bars at the bottom and lists that dive into other lists or pages to reveal more content instead of hiding / revealing content from a single view. There are definitely not any native controls for this which makes implementing any design with them a hurdle. Is this because it's discouraged pattern? Thanks!

5

As you've discovered, the iOS Human Interface Guidelines document (or HIG) makes no mention of an accordion, however they do refer to the UITableView. This StackOverflow question gets the credit for that. There are also other accordion solutions, such as this one on YouTube.

But I think your question isn't "How do I do this" but "Is it OK to do this?" That depends on whether you think UITableView was meant to behave as an accordion. The HIG certainly describes its use to progressively disclose content—the formal term for this kind of beahviour—in the section on Detail Disclosure Button.

In my opinion—which isn't worth any more than yours—Apple has left many patterns that other platforms use out of its guidelines, even when independent research shows there's a problem with some of their choices. They tend to favour things that are simple, so those early experiences are delightfully easy. But some tasks require more.

You can be purist if you want, and do only what the HIG tells you. Or you can build and test an accordion, if you think that's a better design choice than what the HIG has to offer. Design isn't easy; it's about resolving issues that are in tension—and that involves compromises. You can legitimately decide that the need to progressively disclose data outweighs the need to follow the HIG.

As an aside: If you're not sure how to organize and group the content in your accordion, do a card-sort. You can do this online by using OptimalSort. It's inexpensive, and you can set up the entire study before you pay the fee for 1 month of use.

Hope this helps you move forward. :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.