Prenez cet ensemble de données paginé comme exemple.
L'utilisateur peut modifier la commande et la modification de la commande n'affecte pas le nombre total de résultats renvoyés.
Si l'utilisateur modifie l'ordre, y a-t-il un consensus commun pour savoir si la page doit être réinitialisée à la page 1 ou rester sur ce que l'utilisateur est en train de faire?
Comme expliqué dans Tri d'une attente d'expérience utilisateur d'ensemble d'enregistrements paginé , et comme illustré ici par l'ordre suivant des transformations de données:
Vous pouvez voir que le filtrage et le tri précèdent la pagination.
Cela signifie que chaque fois que l'ordre change (tri), vous devez repaginer.
Le fait de revenir ou non à la page 1 dépend du contexte:
Concrètement dans votre cas, une fois sur la page X et la commande change, la page X se réfère très probablement à la requête utilisateur précédente, pas à la requête actuelle.
La plupart des gens passent à la page suivante parce que leur requête n'a pas été répondue en regardant la première page. Dans ce cas, réorganiser les données signifie une nouvelle tentative de répondre à la requête (c'est-à-dire localiser les données souhaitées) et dans la plupart des cas, cela signifie recommencer à partir de la page 1.
Mais ce n'est pas toujours le cas.
Supposons que l'utilisateur veuille savoir quel article se trouve en position 22 (disons quel est le 22e article le moins cher), puis revenir à la page 1 après le tri n'est PAS une bonne chose.
Il y a plus d'exemples dans les commentaires.
Tout dépend donc de la raison pour laquelle l'utilisateur se trouve sur une page autre que la première pour commencer.
Garder le numéro de page après avoir changé l'ordre n'a aucun sens. Le numéro de page est le même mais la page ne l'est pas, et encore moins que le va-et-vient entre les pages a perdu l'idée de coordination. Quelle utilité cela aurait-il pour l'utilisateur? Si vous testez cela sur de vrais utilisateurs, vous pouvez vous attendre à ce qu'ils soient confus. Ils s'attendent probablement à voir le premier résultat à la page 1 une fois la commande modifiée. Si vous le pouvez, testez cela le plus tôt possible sur les utilisateurs ou montrez-le simplement aux gens autour de vous et voyez/entendez leurs réactions.
EDIT: Pour ceux qui déclarent qu'il peut être utile d'avoir l'élément sélectionné/actif toujours visible après que l'ordre a changé. Il y a des cas où c'est le comportement requis, mais cela signifie toujours que le numéro de page peut changer. Il montrera la page où les éléments sélectionnés apparaissent après avoir réorganisé les articles, qui peut être une page différente avec différents éléments entourant celui sélectionné. Le seul cas où il est utile de rester sur la même page est la réponse de @Izhaki, lorsque la position de l'élément sélectionné est importante pour l'utilisateur, mais j'ai pensé qu'il était juste de supposer que ce n'était pas une question.
Notez qu'il y a des cas où il est logique de ne pas réinitialiser à la première page - quand il y a une notion de l'élément "actuellement sélectionné" ou focalisé dans la liste. Les exemples sont principalement des applications de bureau mettant l'accent sur l'interaction immédiate de l'utilisateur dans la liste elle-même à l'aide du concept de "focus", au lieu de basculer entre les vues comme dans les applications Web:
etc.
Dans de tels cas, après un changement dans l'ordre de tri ou dans les filtres, il est logique de garder l'élément focalisé à l'écran et sélectionné. C'est à dire. pour trouver l'élément dans la nouvelle liste et accéder à cette page.
Si une application Web a un flux de travail similaire, l'élément ciblé étant affiché et manipulé sur le même écran que la liste, il peut être prudent d'emprunter également cette fonctionnalité.
Un changement d'ordre de tri devrait entraîner une réinitialisation de la page (à un) lorsque rien n'est sélectionné dans la liste des résultats. L'utilisateur n'a pas encore manifesté d'intérêt particulier pour une entrée particulière.
Si, cependant, il y a une sélection (en particulier dans les listes qui ont une vue maître-détail), il est probable que l'utilisateur souhaite voir "ce qui se trouve autour de l'entrée sélectionnée" - Dans ce cas, la page ne doit pas être réinitialisée , mais plutôt recentré autour de l'entrée sélectionnée. Il est déroutant lorsque l'entrée sélectionnée est soudainement paginée hors de vue. (Cela semble également être la conception standard de MS Windows). Cela implique évidemment que vous devriez pas présenter la même page que celle qui a été affichée auparavant, mais celle où l'entrée sélectionnée va se retrouver avec la nouvelle clé de tri - qui pourrait finir dans un bon bout de temps d'une tâche intimidante dans une application Web où le serveur fournit des entrées en morceaux.
Cela peut entraîner un conflit lorsqu'une liste autorise la sélection multiple d'entrées - Dans le cas où ces entrées seraient réparties sur plusieurs pages lors d'un nouveau tri, il est probablement préférable de supprimer complètement plusieurs sélections dans ce cas.
Il y aurait un faible argument pour ne pas le réinitialiser:
L'utilisateur veut des échantillons aléatoires qui évitent d'être aux extrêmes de tout ordre de tri.
Cela ne constitue certainement pas une bonne valeur par défaut, mais pourrait être utile s'il est sélectionnable en option.
Si vous changez le tri direction sans changer le critère, la navigation vers la page qui contient le plus d'éléments visibles auparavant pourrait être la manière la plus intuitive, car elle permet garder le contexte.
Dans certains cas, ce qui pourrait également être une option utile lorsque le critère est modifié est de permettre à un élément de la liste d'être marqué (ou, en utilisant le dernier élément activé), puis de changer l'ordre de tri et de naviguer jusqu'à la page où cela l'élément apparaît avec l'ordre de tri modifié.
Je suis un programmeur back-end et pas du tout expert en UI
Supposons que les données affichées dans votre capture d'écran soient triées selon les plus anciennes en premier et que l'utilisateur se trouve à la page 20
Ensuite, l'utilisateur pense qu'il veut voir les éléments les plus récents, il sélectionne donc Le plus récent en premier , si vous le gardez à la page 20, verra-t-il le plus récent à la page 20 ? NON
En bref, la pagination doit être réinitialisée lors d'un changement de commande