# Conventional keyboard modifier for expanding/collapsing hierarchical tree view

I have a large tree view where users will often want to fully expand or collapse a particular tree. I'm providing a context menu with both of these choices, but I'd also like to allow the user to hold down a keyboard modifier while clicking on the toggle to fully expand or collapse the nodes under it. (e.g. alt-click, or shift-click)

Is there any convention for this that you have seen in other applications?
What modifier(s) should I use?

My app is currently targeting Windows, so conventions there are most important. (Answers for other platforms are also welcome, though, for others who may find this question.) If you can name specific applications providing this functionality, I would appreciate it.

Edit: I have found that in Windows XP and 7 you can select an item in the tree view of Explorer and use numpad-* to fully expand the tree. Sadly, my tree view does not have selectable items, and so this convention cannot be supported.

The simple answer is no. There is no convention for this, so anything you choose is going to be something new for your customers to discover.

Once you accept this the question changes from "what should I use" to "how can I make what I use clear".

If it's on a windows platform ctrl and shift are used for standard select functions so using them would probably break with what people expect in a list.

alt, however has no standard function in windows on a tree list, but is generally used to alternate (where it gets it's name) another standard action. So I would suggest using alt and working hard on making it clear to customers that they have this option.

In truth, making it discoverable without getting in the way of the rest of the application is the hard part.

I can't think of a conventional key combo for this, but I want to suggest the right arrow.

If you're standing on a collapsed item and hit the Right arrow key it expands the current item, just one level, and keeps the selection on the same item. Then a second right could expand the entire tree under it recursively. It's not how trees behave currently on Windows, so that might be confusin.. but if this is a major use-case for your particular container maybe it's worth it. Users are bound to notice this behavior: right to expand further, down to reach child items after expansion.

• A very nice suggestion; unfortunately I can't 'stand on a collapsed item', as the items are not selectable. – Phrogz Oct 4 '11 at 17:33
• no keyboard navigation at all, then? – Assaf Lavie Oct 4 '11 at 17:43
• An excellent point. There isn't currently, but there will be in an upcoming release. – Phrogz Oct 4 '11 at 18:14

I'd recommend experimenting with shift or ctrl.

Both shift and ctrl have come to mean, at a high level, "Apply this interaction to multiple items." You might find an existing (obscure) UI that implements a different (likely, more complicated) pattern, but just because you find it doesn't mean users would ever think to try it.

If you do implement any keyboard modifier, I recommend including hint in a tooltip on the +/- control (or some other similar location).