Ready for implementation
Magnolia should let me navigate and browse trees (see Definition of terms#tree) easily by using either a mouse, a keyboard and using touch gestures.
Description of desired behaviour
A tree can be navigated by using the keyboard's UP and DOWN arrow keys. The tree shall load additional, previously invisible items on demand to ensure good performance even with large tree structures. A visual indicator shows if data is being loaded dynamically.
Likewise, a tree may be navigated by using the mouse and the scrollbar. As is the case with keyboard navigation, a clear visual indicator appears if previously hidden items are being loaded and disappears once they become visible.
For touch input, scrolling the tree is supported using the common gesture by swiping a single finger up or down.
Note that all scrolling operations should be smooth and not jumpy to avoid loosing sense of where in the tree you currently are.
Expand and collapse folder items
A folder item is a regular item, which - in addition to providing the tasks defined by its type - contains other items. Folder items may be expanded or collapsed by clicking on or touching an expand/collapse visual indicator displayed right next to an item's icon. The indicator clearly shows, if its item is expanded to show the next level of items, or collapsed, hiding all its sub items. If a folder item is expanded, only the next level of its sub items is shown. If data about items has to be loaded first, a visual indicator asks the user for patience. Clicking on or touching the expand/collapse visual indicator of an expanded folder item collapses it again and hides all of its sub items.
Folder items can also be expanded by hitting the RIGHT arrow key (LEFT on RTL installations) while the keyboard focus is on a collapsed folder item (nothing happens, if the folder item is open already). To collapse a folder item again, hit the LEFT arrow key (RIGHT on RTL installations) with the keyboard focus either on the folder item you intend to collapse or any of its sub items on the next level only.
Using the arrow keys presents a very efficient way to navigate a tree. It will quickly become one major way to work with trees for any experienced user. Care must be taken therefore to ensure that this will be a smooth, reliable, complete and non-irritating experience.
Tree views by default shall only show elements down to a given level - for the web site structure, this could include all items used by the site navigation. All items further down the tree will be hidden initially. The level to which a tree view is initially expanded could also be configurable. In order to ensure good performance of the interface, the next, still invisible level of all folder items of a tree view could be made available at all times through pre-loading and caching.
Magnolia could offer inertial scrolling as seen of today's touch devices to allow users to quickly navigate large data sets without loosing track of where they are. This would be especially useful on said touch devices, but may actually be a function required to be offered by the browser.
Illustrations, not mockups
The illustrations mainly show which UI elements have to be present in order for the navigation of grids to work. They are presented isolated here, without the context they usually appear in. In the actual mockups e.g. for AdminCentral, some of these elements are actually placed in sidebars, others may remain in the toolbar.