locked
Disabled AppBar Buttons

    Question

  • A general UI question has arisen in a thread in the C# forum about whether it's better to disable or hide a button on the AppBar.

    The UI Guidelines are silent on the issue. My feeling is that you don't display a command that's irrelevant when the AppBar is being opened, but you should enable or disable if that status changes while the AppBar is displayed.

    jrboddie, whose opinion I value, disagrees. (I think. I'm hesitant to speak on his behalf.)

    Anybody else want to offer an opinion? Are there UI guidelines somewhere that I've missed?


    Rebecca M. Riordan

    Thursday, March 21, 2013 3:02 PM

Answers

  • Yes, my approach is to not show buttons on the app bar if they cannot be used in a particular context.

    In the C# forum thread a developer proposed a scenario in which clicking a button in the app bar exposed more buttons in the app bar while disabling others.  I wondered if it would be better to use app bar buttons to open menus rather than spawning more app bar buttons and showing only buttons that are actionable.  Not knowing the OP's complete scenario makes it difficult to propose alternatives, though.

    Thursday, March 21, 2013 4:27 PM
  • My thoughts are that command should not be visible if it is not available in particular context (why to bother user with things which he cant do?). So if user changes the context developer should show and hide relevant commands (this way there is less clutter/distraction for user). 

    I think disable/enable is more appropriate where there are no scenarios, or it is not worth having scenarios or commands/controls are too important to be hidden(just imagine login page hiding UserName and Password at startup and just showing guest mode checkbox checked???). I think Login UI handling guest mode is perfect example of using enable/disable behavior. User is prompted with login name , password and checkbox for guest mode, so if user decide to just browse he can check guest mode and other controls will be disabled. 

    Also if commands availability is not dependent on scenarios/contexts, can be grouped in a way that it makes sense to user (like save, save as, ... ) and will avoid clutter, it always good idea to make them menus (this is inline with UI Guidelines)

    Do use menus and flyouts when you have too many commands.

     

    Thanks, Sachin

    Friday, March 22, 2013 4:36 PM

All replies

  • Yes, my approach is to not show buttons on the app bar if they cannot be used in a particular context.

    In the C# forum thread a developer proposed a scenario in which clicking a button in the app bar exposed more buttons in the app bar while disabling others.  I wondered if it would be better to use app bar buttons to open menus rather than spawning more app bar buttons and showing only buttons that are actionable.  Not knowing the OP's complete scenario makes it difficult to propose alternatives, though.

    Thursday, March 21, 2013 4:27 PM
  • My thoughts are that command should not be visible if it is not available in particular context (why to bother user with things which he cant do?). So if user changes the context developer should show and hide relevant commands (this way there is less clutter/distraction for user). 

    I think disable/enable is more appropriate where there are no scenarios, or it is not worth having scenarios or commands/controls are too important to be hidden(just imagine login page hiding UserName and Password at startup and just showing guest mode checkbox checked???). I think Login UI handling guest mode is perfect example of using enable/disable behavior. User is prompted with login name , password and checkbox for guest mode, so if user decide to just browse he can check guest mode and other controls will be disabled. 

    Also if commands availability is not dependent on scenarios/contexts, can be grouped in a way that it makes sense to user (like save, save as, ... ) and will avoid clutter, it always good idea to make them menus (this is inline with UI Guidelines)

    Do use menus and flyouts when you have too many commands.

     

    Thanks, Sachin

    Friday, March 22, 2013 4:36 PM