-
Notifications
You must be signed in to change notification settings - Fork 317
Description
We've been having a lively discussion within some teams around Microsoft about the toolbar wording in Understanding Reflow's content exceptions, and what it means. It has mostly coalesced into two separate questions:
-
What is a toolbar? Is it only an element with
role="toolbar"
, or anything that visually or functionally resembles a toolbar (e.g. any set of horizontal buttons that control nearby content)? -
What is allowed to have a horizontal scrollbar when a toolbar is present? Is it the toolbar itself, or the toolbar along with the content it controls, or the entire UI of any site or app that contains a toolbar somewhere within it?
Part of the discussion comes from confusion around when a toolbar would require two-dimensional layout to preserve meaning or functionality. It's usually pretty simple to collapse overflowing toolbar actions into a "more actions" type menu without loosing meaning or function, and it's been hard to think of a practical example where this isn't the case (at least in my mental model of a toolbar). I think a practical example of a toolbar interface where reflow isn't possible could help clarify when to allow horizontal scroll, and when to reflow the toolbar actions.
For example, I imagine something simple like a rich text editor like the github comment textbox (or even the toolbar example in APG should not be an exception since reflow is possible without loosing meaning or function.
Anecdotally, the interfaces that have had the hardest time with the reflow requirement have not had trouble with toolbars, but with multiple panes of related content or interactivity -- e.g. an interface similar to Visual Studio or Photoshop where concurrent access to multiple related panels is fairly central to most users. It might possible to collapse everything but a single panel at any given time, but it's not necessarily a wonderful user experience. It's hard to draw the line on when or if two dimensional layout is necessary for usage in these cases though, since it's a slope of UI complexity rather than a single type of control. It would be great to have guidance on these types of interfaces as well, and whether they would ever fall under the two-dimensional
layout exception.