预期行为:对分页表的列进行排序

时间:2009-09-15 17:52:45

标签: uitableview user-interface tablesorter standards

当用户查看分页表并请求按特定列排序时,会显示哪个页面?

此方案是否存在标准的预期行为?我可以想象几种可能的结果,但想知道是否有标准。

3 个答案:

答案 0 :(得分:4)

您是指在表格中的 n 页面中显示哪个页面?没有好的选择 - 任何可能性都可能使用户迷失方向和沮丧,因为没有标准且没有特别好的理由选择一个选项而不是另一个。如果你要测试用户,我怀疑他们会有一致的期望。即使是同一个用户也可能在不同时间期待不同的事情。分页表还提供了关于表中当前位置的相对较弱的反馈,因此用户在排序您使用的任何选项后很难理解它们的位置。可用排序是分页表不如滚动表的一个原因。

可能性:

  • 如果您有办法在表格中显示当前选中或焦点的项目(行),那么您可以转到该项目所在的任何页面,假设用户选择在那一刻进行排序为了看到他们正在看的项目等其他项目。这与滚动表的一些实现一致。但是,大多数Web应用程序分页表不支持选择项目。

  • 您可以显示用户在排序时所在的 i 页面(例如,如果他们排序时位于第三页,请在新页面下显示第三页排序)。这与滚动表的一些其他实现一致。它还支持表格几乎正确排序的情况(例如,在发送日期,需要收到日期时)。显示 i 页面会让用户了解他们以前的“同一页面”。然而,这不是最常见的用例,并且由于位置反馈较弱,用户可能会觉得他们被抛到任意页面。这个选项可能会产生最大的迷失方向。

  • 您可以在新的排序顺序下显示第一页。根据您的任务,可能大多数情况下,当用户对表进行排序时,用户会对他们排序的属性值最高或最低的项目感兴趣。通过显示第一页,您正确的概率可接近50%。这是最不安全的,因为用户感觉他们回到了心理锚点 - 开始。另一方面,如果用户觉得他们“重新开始”,他们可能会感到沮丧。总的来说,这可能是你最好的选择。

通常在排序后,用户希望跳转到他们排序的属性上具有特定值的项目。对于分页表来说这很困难,因为分页很慢并且用户不知道哪个页码对应于什么值。您可以使用在其上找到的值范围标记页面的链接,但这会占用大量空间。至少,您应该始终提供指向表格的第一页和最后一页的链接,但是有很多页面,因此用户只需点击一下即可获得具有最高和最低值的项目。

或者,考虑支持过滤而不是排序以实现相同的目的。根据您的用户的任务,这可能会更好地工作,减少混乱和努力。

答案 1 :(得分:2)

Michael Zuschlag的回答非常好,但我认为他提出的案例#1和#2实际上并不常见,这样做可能会让人感到困惑而不是有用。

在我看来,您应始终在新排序顺序下显示第一页。如果用户选择了一个项目,通常他不想对任何东西进行排序,因为他已经找到了他想要的东西。

如果您想要对列表进行排序,通常您希望看到真实完整的订单。

经典场景可以是torrent网站:

  1. 我搜索了一个输入一些的torrent 关键字。

  2. 搜索后我有了 无序列表,每件50件 页。

  3. 我转到第二页。

  4. 现在,我认为最好从播种次数最多的项目开始对结果进行排序,然后点击种子列的标题。

  5. 我希望在动作4之后看到播种次数最多的项目,所以在排序后你必须向我展示第一页。我认为对于任何排序情况都是如此。

答案 2 :(得分:1)

首先,AMEN到上一个答案(和+1) 其次,只是对于用户熟悉和可能期望的现实生活示例,Yahoo Mail会做#3(排序后跳转到第1页)。许多其他网站也是如此。

我的个人建议 - 如果可行的话 - 将是#1以上(允许跳转到包含当前所选元素的页面)。确保元素仍处于选中状态。

这既有点直观,也不是非常不期望,在用户关心会发生什么的情况下最有用。此外,选项#3(跳转到第一页)只需单击一下即可让用户假设您的分页控件包含“转到第1页”,而如前面的答案中所述,执行第一页会让用户感到困难和漫长谁想要留在当前的项目。

我绝对支持“添加过滤”的想法,如果可行的话 - 我发现自己使用Excel进行了大约50%的工作,其表格/列表源自任何应用程序/网站,因为它具有过滤和排序的特殊组合。假设您的UI是HTML,那么YUI可能有一个不错的可过滤表元素?