对我来说这是一个长期存在的问题,我从未真正解决过,所以我想要你的意见.如果我知道用户因权限或对象状态不足而无法执行的操作,那么这些操作的UI元素是否应对用户隐藏,可见但已禁用或可见,如果尝试会导致错误?你答案的理由是什么?如果禁用,您会告知原因,如果是,如何?
这是一个Web界面,所以我已经知道我需要检查传入的帖子/获取权限并在那里处理错误.我主要谈论如何处理UI.
这与关于禁用或隐藏菜单项的规则类似,但我对所有类型的UI元素感兴趣,而不仅仅是菜单.
例子:
我有一个新页面,允许用户创建一个新的事件.事件可以是主事件或子事件.创建主事件需要"EditMasterEvent"特权,而创建子事件只需要"EditEvent"特权.我有一个下拉列表,允许选择现有事件作为父事件(主事件)或没有父事件(这是一个主事件).如果用户仅具有"EditEvent"权限,那么"创建主事件"选项是否应显示在下拉列表中或省略.
删除事件要求您是应用程序管理员或具有事件类型的相应编辑权限.在后一种情况下,该活动也必须超过5年.删除事件会导致系统中相关数据的主要级联删除,并且出于法律原因,此数据必须在事件发生后保留至少5年.由于此操作对于普通用户来说很少见,因此典型情况是该操作不可用.是应该一直显示还是仅在实际可能时显示?
在一些使用UI的应用程序中,对用户来说更好(简单,友好等):
要么
对不起我的法语:)
我有以下一组控件.

如果您选择前3个单选按钮之一并单击Enter,焦点将跳转到Passport Number文本框.如果用户选择"其他",则启用"其他,请指定"文本框,并且为方便起见,将屏幕焦点(光标移动)移动到该文本框.
在用户单击"其他单选按钮"之前,将隐藏"指定其他"文本框.执行此操作后,文本框将变为可见,光标将放置在此文本框中.
您觉得哪种情况是更好的方法?也许你有另一种变化?请说出你的推理.
我也很感激,如果你可以做一个关于何时隐藏优于禁用或反之亦然的一般说法,但我也对这个特定的例子感兴趣.
谢谢.
预计:也许,在第二个例子中,"请指定"文本只会在用户选择"其他"单选按钮后出现.
