Recent chats
ASKGEEZ Q&A GUIDETechnology & devices

How can I make a sortable data table’s column controls understandable?

Quick answer

Give each sortable header a clear column name, and communicate the active sort column and direction in text or accessibility information as well as through any arrow or color. Check that the control’s name still identifies the column and that its state makes the current direction clear. The implementation depends on the table technology: Microsoft’s guidance describes WinUI TableView specifically, not every web table or grid.

LET’S WORK THROUGH IT

The question, the details, the next step.

Question

What should a sortable column control actually say? I have headers such as “Name” and “Date,” each with a small arrow.

Geez

Start with the column’s meaning, not the arrow. A person should be able to tell which column a control sorts even if they do not see the arrow or cannot distinguish its color. For example, if the header is “Date,” the control’s accessible name could identify it as sorting the Date column; when a direction is relevant, communicate whether the order is ascending or descending through text or the control’s state.

Treat those as design choices to review, not universal wording that every platform requires. Avoid a control name that only says “Sort” when several different columns can be sorted: it leaves the person unsure what will change. Also decide whether the control description communicates its current state, its action on activation, or both, and make that distinction understandable.

Follow-up question

If the arrow points down, isn’t that enough to show descending order?

Geez

Use the arrow as a visual cue, not the only explanation. Add a text or accessibility indication that lets someone identify both the active sort column and its direction without interpreting the arrow alone. A concise visible status could be “Sorted by Date, newest first,” if that matches your table’s actual ordering. If you also provide a direction in the control’s accessible information, check that it agrees with the visible status.

For Microsoft’s WinUI TableView, Microsoft documents sortable headers that support the Invoke pattern, help text that reports sort state, and a notification when sorting changes that assistive technologies can announce. [S1] That is specific to WinUI TableView; it does not establish the right implementation for a web table or another grid. Choose and test the relevant mechanism for your actual component rather than assuming that this example applies everywhere.

Follow-up question

How can I check the wording and state when someone sorts another column or reverses the order?

Geez

Write down the expected result for each interaction before checking the interface. Assume, for this example, that a table has “Name” and “Date” columns and that activating a header sorts by that column. First activate Date: the visible indication and control information should make clear that Date is the active column and state its direction. Activate it again if that changes the direction, then check that both indications update rather than leaving an old direction behind. Finally activate Name and verify that the active-column indication changes too.

Pay attention to what each piece of text means. “Sort by Date” can describe an action; “Sorted by Date, newest first” describes a current result. Those phrases are illustrative placeholders, not platform-specific instructions. If you show the current result, keep it synchronized with the table and avoid wording that conflicts with how your data is ordered. The supplied WinUI guidance supports announcing a sorting change for that control, but it does not establish that every product announces changes in the same way. [S1]

Follow-up question

Can you give me a short review checklist I can use with my design and development team?

Geez

Use this checklist on the actual sortable headers, not just a static mockup. Fill in the bracketed terms with your table’s real labels and ordering:

  1. Column name: Does each control identify the column it sorts, such as “[column name]”?
  2. Direction: Can a person determine whether the active order is ascending or descending without the arrow or color?
  3. Current state: Is it clear which column is sorted now, rather than merely what activating a control might do?
  4. Change: After sorting or reversing direction, do the displayed and accessible indications match the new result?
  5. Technology fit: Have you checked the behavior using the table component and platform you actually use, instead of copying guidance for a different one?

A copyable review note could be: “When [column] is active, the table communicates [direction] without relying on [arrow/color]. After [interaction], the indicated column and direction match the resulting order.” Treat this as a prompt to verify your design, not proof that a particular implementation is accessible.

A practical checklist

  • Give each sortable control a name that identifies its column.

  • Communicate the active direction without depending only on an arrow or color.

  • Distinguish wording about an action from wording about the current sort state.

  • Check that the indicated column and direction update when sorting changes.

  • Verify behavior with the actual table technology rather than assuming another platform’s guidance applies.

A few more useful answers

Should I put the sort direction in the visible header?

A visible text status can help communicate the active column and direction, but choose wording that fits your interface and keeps up with changes. An arrow may remain a supplementary cue rather than the sole indication.

Does the WinUI TableView guidance tell me what to do for a web table?

No. The cited guidance is specific to WinUI TableView and does not establish an implementation for web tables or other grids. Check the guidance and behavior for the component you use.

What wording should I use for ascending and descending?

Use terms that accurately describe your data’s order, such as “A to Z” or “newest first,” when those descriptions fit. These are examples, not universal labels; make the actual direction unambiguous.

Sources

References used for this guide.

  1. [S1] TableView control for WinUI apps: accessibility and keyboard support
    learn.microsoft.com · Checked

YOUR QUESTION. YOUR DETAILS.

Let’s work through your situation.

Get a tailored answer or help with your next task. Starts at $1, with a quote before you pay.

Ask your own question
← Back to Geez at Work