Is it better to automatically redirect users or to show them the requested page with an error?
Given a scenario in a web application where the User has to do X before they can proceed to Y, but wh开发者_如何学Pythonere the link for Y is always available, we are currently discussing two ways of redirecting the user if they try to navigate to page Y:
- Display page Y with a message and a link back to X.
- Redirect to X automatically but display a an error message overlay after the redirect that indicates why they were redirected.
Which would be more user-friendly or a better user experience and why?
Or, you could use a third option:
When the user clicks the link, display a dialog which explains the error and the recommended course of action and then provides a link to continue despite the error as well as a link to redirect to the recommended page / action.
Hm, from a usability perspective I'd say it makes most sense to only actually display those options to the user that make sense in the context, i.e. not showing the link to Y at all as long as X is not fulfilled.
Maybe, if you don't want to drop the link text entirely, just remove the link and keep the text (and state why that is currently the case) until X has been filled out?
Read you comment about Item A and Item B.
My idea below:
You have two links, Link X and Link Y.
For Item A, Link X and Link Y appear as normal hyperlinks, all good.
For Item B, Link X appears as normal hyperlink, but render Link Y as text / hyperlink with a special indicative icon, and when user hovers over it (not click), display a popup / tooltip explaining the reason.
The idea here is to reduce mouse clicks (as you can see above, no clicking and no redirect) and also saving page space / screen estate (display the reason when mouse hover).
In addition, you may put in an instruction in the page stating that user must complete all the things in Link X to proceed to Link Y.
I think if, say, they didn't enter all the info they needed on X, you might want to put them back on X with some clearly visible indicator of what they didn't do. Of course, you shouldn't let them save without filling out all the info, but sometimes server validation fails.
In the end though its six of one, half dozen of the other, and Ive seen it both ways.
If they have to do x before y, why is the link to y always available?
I would go with the second approach . Because most probably we know that the user will return to the previous page a check other links or check what might have caused the problem. So, this way way saved some time for the user.
I would not allow the user to navigate to X unless it's appropriate.
However, since you ask about user-friendliness, I guess your users could get confused about being on page X when they think they're on Y (and they won't notice even a 100px bar on top of their browsers unless it's red and blinking), so I'd go for a totally blank error page (no navigation) with just a clear message and a link. Something similar to a simple HTTP 404 error page.
It depends on what the user's expectation is.
If the user can gather why they got redirected (the classic example being "You need to log in to view this page"), do that.
If the user is likely to be confused why they are seeing something they didn't ask for, then show them what they asked for with the appropriate limitations and error messages.
精彩评论