[pull] main from w-ahmad:main#33
Merged
Merged
Conversation
Add comprehensive AutomationPeer classes for all TableView controls:
- TableViewAutomationPeer: IGridProvider + ITableProvider (row/column count,
GetItem, GetColumnHeaders, RowOrColumnMajor)
- TableViewRowAutomationPeer: IExpandCollapseProvider for row details pane
- TableViewCellAutomationPeer: IGridItemProvider + ITableItemProvider +
ISelectionItemProvider with meaningful automation name
('{column}, Row {n}, {value}' format)
- TableViewColumnHeaderAutomationPeer: IInvokeProvider to cycle sort direction;
name includes sort state and filter state
- TableViewRowHeaderAutomationPeer: structural header peer
Wire OnCreateAutomationPeer in all five controls. Add supporting internal
helpers InvokeSortCycle() (TableViewColumnHeader) and ShowDetailPane()
(TableViewRowPresenter). Add 'Filtered' localised string in all nine language
resource files.
Add ~30 UITestMethod tests in TableViewAutomationPeerTests.cs covering control
types, class names, pattern support, automation name resolution, sort/filter
state in names, and OnCreateAutomationPeer wiring.
Add docs/docs/accessibility.md documenting supported UIA patterns, keyboard
navigation, screen-reader behaviour, custom name guidance, and limitations.
Update docs/docs/toc.yml to include the new page.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
When Escape cancels cell editing, WinUI moves keyboard focus to the next focusable sibling the moment the editing element (e.g. TextBox) is removed from the visual tree. Screen readers follow focus, so Narrator announced the next cell rather than the current (cancelled) one. Fix: explicitly move focus from the editing element to the cell itself *before* EndCellEditing tears it down. Once the cell holds focus, the TextBox removal is a no-op from the focus manager's perspective and Narrator stays on the correct cell. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Resolve toc.yml merge conflict: add Accessibility entry under the new grouped Reference section from the PR #391 docs overhaul - Rewrite accessibility.md to match the Microsoft Learn / how-to style used by all new docs: xref links, 'When to use it', XAML/C# examples with tv: namespace prefix, 'Notes and limitations', 'Related articles' - Replace tvs: with tv: namespace prefix throughout - Add IValueProvider-on-edit-element note and Escape focus behaviour note (matching the fix made in the previous commit) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
CanSort is a private computed property on TableViewColumnHeader, not a public API. Point the xref to the public TableViewColumn.CanSort property instead to resolve the UidNotFound build warning. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
AutomationPeer correctness: - IGridItemProvider.Row now returns -1 (not 0) when cell has no row - IGridItemProvider.Column now returns -1 (not 0) when cell has no column - GetNameCore builds name from non-empty parts only (no spurious commas); skips cell value for TableViewTemplateColumn to avoid exposing the data item's ToString() as the accessible value - GetHelpTextCore (cell peer) now uses TableViewLocalizedStrings for sort and filter state instead of hard-coded English strings - GetRowHeaderItems returns the realized TableViewRowHeader provider - GetRowHeaders (table peer) returns providers for all realized row headers - Added internal TableViewRowPresenter.RowHeader property to expose _rowHeader - Added internal TableView.Rows property to expose _rows Localization: - Translate 'Filtered' string in all 8 non-English locale .resw files: de-DE: Gefiltert, es-ES: Filtrado, ja-JP: フィルター済み, pt-BR: Filtrado, ru-RU: Отфильтровано, sk-SK: Filtrované, zh-CN: 已筛选, zh-TW: 已篩選 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
feat: add UI Automation / accessibility support
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )