应在UI擅自行动被隐藏,禁用或导致一个错误? [英] Should unauthorized actions in the UI be hidden, disabled, or result in an error?

查看:236
本文介绍了应在UI擅自行动被隐藏,禁用或导致一个错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这对我来说是一种多年生的问题,我从来没有真正得到解决,所以我想你的输入。如果我有,我知道用户将无法执行,由于权限不足或物体状态的操作,应该对这些行为的UI元素从用户,可见,但禁用,或可见并导致一个错误,如果试图隐藏?什么是你的答案的理由?如果禁用,你会沟通的原因,如果是这样,怎么样?

这是一个网络接口,所以我已经知道我需要检查传入后/获得权限,并有处理错误反正。我主要谈的是如何处理的用户界面。

这是类似于<一个href=\"http://stackoverflow.com/questions/79033/rules-about-disabling-or-hiding-menu-items\">http://stackoverflow.com/questions/79033/rules-about-disabling-or-hiding-menu-items,但我感兴趣的是所有类型的UI元素不只是菜单。

例如:


  1. 我有一个新的页面,允许用户创建一个新的事件。事件可以是主事件或子事件。创建主事件需要EditMasterEvent的特权,同时创造一个子事件只需要EditEvent特权。我有一个下拉,允许一个选择现有的事件父(主事件)或没有父母(这是一个主事件)。如果创建主事件的选择显示的下拉或省略,如果用户只具有EditEvent特权。


  2. 删除事件需要你是一个应用程序管理员或对事件类型相应的编辑权限。在后一种情况下,该事件也必须超过5岁。删除事件导致系统中的相关数据的主要级联删除和法律上的原因这些数据必须保存在事件发生后至少5年。由于这个操作是罕见的普通用户,典型的情况是该操作是不可用的。如果它始终还是只所示,当实际可能吗?



解决方案

与几乎所有的UI问题,答案是看情况。

您需要权衡与曝光率用户满意度,等等。例如,允许一个无效的动作给你一个机会来解释为什么有些是无效的。这是特别有用的,如果回答这是为什么禁用并不明显。对于大多数用户都是初学者的应用程序,这很重要。

在另一方面,它可以是令人沮丧的境地看到控制,点击它,只用一句对不起,你不能这样做,现在消息予以奖励。一个应用程序我继承了一对夫妇几年前充斥着诸如此类的东西,它使用UI在挫折锻炼的。

完全隐藏的功能可能很少是个好主意。试想一下,知道一些特点在那里一分钟前,但现在它不见了。无论是菜单项或工具栏按钮或别的东西完全,使得它隐藏的可能是在挫折中为最终用户的练习。

试着做一个小的可用性测试,如果只问你看到旁边的人:嘿,是否有意义禁用此或告诉你一个信息对话框。只是另一个的意见往往是足以让你看看从另一个方向的问题。

底线:做最好的为用户服务。所有你提到的场景是在某些情况下有效。如同所有的UI问题,问自己(或更好,你的用户)什么最符合他们的需求。

This is a perennial question for me that I've never really resolved so I'd like your input. If I have actions that I know a user will not be able to perform due to insufficient privileges or object state, should the UI elements for those actions be hidden from the user, visible but disabled, or visible and result in an error if attempted? What would be the rationale for your answer? If disabled, would you communicate the reason why and, if so, how?

This is a web interface so I already know that I need to check the incoming post/get for permissions and handle errors there anyway. I'm primarily talking about how to handle the UI.

This is similar to http://stackoverflow.com/questions/79033/rules-about-disabling-or-hiding-menu-items, though I am interested in all types of UI elements not just menus.

Examples:

  1. I have a New page that allows a user to create a new Event. Events can be master events or subevents. Creating a master event requires "EditMasterEvent" privilege, while creating a subevent requires only "EditEvent" privilege. I have a drop down that allows one to choose an existing event as the parent (master event) or no parent (this is a master event). Should the "Create Master Event" choice be shown on the dropdown or omitted if the user only has "EditEvent" privileges.

  2. Deleting events requires that you be an application administrator or have the appropriate edit permission for the event type. In the latter case, the event must also be more than 5 years old. Deleting an event causes major cascading deletes of related data in the system and for legal reasons this data must be kept for at least 5 years after the event. Since this operation is rare for the normal user, the typical case is that the action is not available. Should it be shown always or only when actually possible?

解决方案

As with nearly all UI questions, the answer is "it depends".

You need to weigh discoverability with user satisfaction, among other things. For example, allowing an invalid action gives you an opportunity to explain why something is invalid. This is particularly useful if the answer to "why is this disabled" isn't obvious. For an application where most users are beginners, that's important.

On the other hand, it can be mightily frustrating to see a control, click on it, only to be rewarded with a "sorry, you can't do that now" message. An app I inherited a couple years back was rife with that sort of stuff and it made using the UI an exercise in frustration.

Completely hiding functionality is probably rarely a good idea. Imagine knowing some feature "was there a minute ago" but now it's gone. Whether it's a menu item or a toolbar button or something else entirely, making it hidden can be an exercise in frustration for the end user.

Try doing a little usability testing, if only by asking the next person you see "hey, does it make sense to disable this or show you an informative dialog". Just one other opinion is often enough to get you to look at the problem from another direction.

Bottom line: do what best serves the user. All the scenarios you mention are valid under certain circumstances. As with all UI questions, ask yourself (or better, your users) what best serves their needs.

这篇关于应在UI擅自行动被隐藏,禁用或导致一个错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆