Skip to content

Make column headers reachable and usable from the keyboard - #476

Open
AsafMah wants to merge 2 commits into
w-ahmad:mainfrom
AsafMah:feature/keyboard-column-headers
Open

AsafMah wants to merge 2 commits into
w-ahmad:mainfrom
AsafMah:feature/keyboard-column-headers

Conversation

@AsafMah

@AsafMah AsafMah commented Oct 28, 2026

Copy link
Copy Markdown

Description

Column headers weren't keyboard-focusable (IsTabStop was False in the default style), so keyboard and screen reader users couldn't sort, group or filter. (Cells already expose their column header through TableItemPattern, so header names were announced, but the headers' actions were mouse-only.)

  • The header row is one tab stop (TabFocusNavigation="Once"), with Left/Right moving between headers (XYFocusKeyboardNavigation).
  • On a header, Enter or Space sorts, cycling like a click; Ctrl adds to the existing sort, like Ctrl+click.
  • Alt+Down, Shift+F10 or the Menu key opens the column's options flyout. Keyboard context requests are told apart from right-clicks by having no pointer position, so right-click keeps following UseRightClickForColumnFilter.

Related Issue

None opened.

Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • 📝 Documentation update
  • ♻️ Refactor
  • 🧪 Test
  • 🔧 Chore / maintenance

Checklist

  • This PR is not from my main branch
  • Tested with WinUI target (partly: in an app, via UI Automation the headers now report as keyboard-focusable and the arrow keys move focus between them; Enter/Space and Shift+F10 are not yet exercised by hand)
  • Tested with Uno Platform target (not tested; XYFocusKeyboardNavigation is set with the win: prefix)
  • Unit / integration tests added or updated (none added; the existing suite passes locally except one test that also fails on main on my machine)
  • Documentation updated to reflect changes (accessibility.md)
  • Code follows the project's coding conventions

🤖 Generated with Claude Code

AsafMah and others added 2 commits October 28, 2026 19:42
Headers weren't tab stops, so keyboard and screen reader users couldn't sort,
filter or group. The header row is now one tab stop with arrow keys between
headers; Enter or Space sorts (Ctrl adds to the sort, as Ctrl+click does), and
Alt+Down, Shift+F10 or the Menu key open the column's options. Right-click still
follows UseRightClickForColumnFilter.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant