I'm working with a table of data and am focusing on the sorting functionality. I'm considering using a dropdown menu as opposed to traditional table header sorting (where you click the heading to sort one way, and click it again to sort another way).
Header sorting:
Dropdown sorting:
Things I love about the dropdown menus for sorting are:
They give you the opportunity to use simple language to describe how the sorting works, like "Newest first" or "Alphabetical (A-Z)". With table headers, you generally use a simple up/down indicator, which is less intuitive.
One can immediately pick the sorting direction without having to sort twice, like picking Z-A first, without having to first sort A-Z.
You can add a sorting option that doesn't have visible data associated with it, like "Popularity."
When not every table column can be sorted, the lack of sorting controls on some columns can be confusing. "Why can't I click here to sort this column?!"
Dropdowns are touch-friendly out of the box, whereas many header sorting implementations rely on mouse hover states to reveal which columns are sortable.
In situations where multiple layouts exist for the data, such as a table/data view vs. a gallery view, the dropdown can exist in the same location and function the same way.
The specific page I'm working on will use a table to display the data. All of the columns are sortable (at least for now). I have existing dropdown-based filters above the table, so the sorting dropdown would be consistent with them visually. All of this points to "just use the header columns for sorting!", but I would love to consistently use dropdowns as a way to sort throughout the system.
So, I suppose my question is, do you find it strange that sorting would be controlled by a dropdown menu on a page of tabular data? Or, are the benefits I've listed above, and sorting being controlled by dropdowns on other pages, enough to warrant using a dropdown in this case as well?