2

I have a drop list filter where some of the drop list options won't return any items. What is the best practice here and if a filter option returns nothing, should it even exist in the filter dropdown?

For example

  • I have a list of 50 employees.
  • Each employee has a role: Administrator, Supervisor, or Staff.
  • I can filter the employee list by role: All, Administrator, Supervisor, Staff.

If none of my 50 employees are Supervisors, should that role still be an option in my filter dropdown?

My dilemma

On the one hand, I think it makes sense to go ahead and display all possible filtering options. Even if the user selects an option that they don't have, they'll see that their list is empty.

On the other hand, if selecting the filter option returns nothing, what's the point of allowing this user flow to occur aside from the feedback of showing that nothing meets that filter?

6
  • 1
    Can you show a comp?
    – UXerUIer
    Commented May 23, 2017 at 16:58
  • A good example is let's say you have a list of 50 employees. They each have a role assigned to them such as Administrator, Supervisor, or Staff. I have a filter for this list where I can filter by role. If all 3 roles are represented in this list, when I click the filter dropdown I'll see 4 options: All, Administrator, Supervisor, Staff. My question is, if none of my 50 employees are Supervisors, should I still see Supervisor as an option in my Role filter dropdown?
    – John
    Commented May 23, 2017 at 17:06
  • Again, I ask for a comp, because I want to see what you did first before I suggest anything. What do you think? Should it show or not? What're your thoughts.
    – UXerUIer
    Commented May 23, 2017 at 17:07
  • I'm torn. On the one hand I think it makes sense to go ahead and display all possible filtering options, because even if the user selects an option that they don't have, they'll see that their list is empty. On the other hand, if selecting the filter option returns nothing, what's the point of allowing this user flow to occur aside from the feedback of showing that nothing meets that filter.
    – John
    Commented May 23, 2017 at 17:11
  • 1
    In this example, if the organization of 50 employees doesn't have any employee who matches the Supervisor role filter, then the returned list will show nothing. However, once an employee with a Supervisor role is added to the organization, choosing to filter by role and selecting Supervisor will return that one employee. So I'm trying to decide if the Supervisor option should only appear in the Role filter dropdown after at least 1 employee in the organization fits that role.
    – John
    Commented May 23, 2017 at 17:15

3 Answers 3

2

Like it has been mentioned in the earlier responses., there is a difference between a category not existing and a category with no results. You will have to determine if the user might want to search for supervisors. Not having the filter implies he cannot filter by it. A filter with 0 results implies there are no supervisors. Understand this difference. Since in your case, you have only a limited data set (50 employees), you could add the number of results with each filter:

Administrators (5)

Supervisors (0)

Staff (45) etc.

This also allows scalability in case employees are added to supervisor role.

1
  • Building off of this answer, another way to visually represent 'Supervisors (0)' could be to show an empty state in the table i.e. an illustration which describes the problem and a remedial action. In your case, it can be ''No users with the role 'Supervisor' found.You could try some other filters''. Commented May 5, 2020 at 19:45
0

When to disable vs when to not show

When I worked at the largest hotel company, I was in charge of redesigning their filtering system on their search results page, so a lot of this has come from my experience, plus rigorous user testing and validation.

You need to hide filters if there is no way of having it show up. In your case you wont have any supervisors ever, so hide it.

The only time you disable is when certain filters don't work well together. For instance, when the filtering system was created, someone might choose a hotel with a beach front, so we know that a beach front hotel will not have any golf amenities (as an example). In that situation, we disable the golf filter because both do not work together.

You should think of it from this perspective: Only disable when you can enable again. Disabling implies that something can be done to enable whatever is disabled.

2
  • Another solution to this problem is to show the count next the item (with some extra dev work). In this case, Supervisor is available in the system, it just hasn't been granted yet. I might want to know that when filtering users. If the filter menu lists Admin (1) / Supervisor (0) / Staff (42) the user knows exactly what's happening. Commented May 23, 2017 at 19:11
  • That works too, but if supervisor is always going to be 0, would it be worth to show?
    – UXerUIer
    Commented May 24, 2017 at 11:59
0

Remove the filter option only if:

  • the empty user result is an undesirable and trivial or time-wasting result
  • there is an efficient way to determine if the filter option is removable
  • it doesn't cause constant or undesirable fluctuation in the UI

You'll want to keep the empty filter if, for example:

  • Your organization must have an Administrator and the empty filtered result alerts you to a vital error state that should be corrected
  • Your employee list is so massive that it is prohibitive to do regular checks to cull the filters related to intermittently emptied sets

Simply removing an option could prevent users from realizing there is a certain category (employee role in your case) or become concerned that a prior role they rely on has disappeared from the system.

Depending on how often filtered sets are emptied, this could have a negative impact regarding UX best practices around avoiding moving or changing UI elements and user expectations and interactions during an instance of use or repeat usage over longer periods of time.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.