CommunityToolkit / CommunityToolkit/Maui

[BUG] Windows - SemanticOrderView Has No Effect

Open
#2,322 1 comment 2 reactions 0 assignees View on GitHub
area/views bug unverified
Dominant language
C#
Stars
2.7k
Forks
500
Avg merge
2d 14h
Merged PRs (30d)
7

Description

### Is there an existing issue for this?

- [x] I have searched the existing issues

### Did you read the "Reporting a bug" section on Contributing file?

- [x] I have read the "Reporting a bug" section on Contributing file: https://github.com/CommunityToolkit/Maui/blob/main/CONTRIBUTING.md#reporting-a-bug

### Current Behavior

`SemanticOrderView` does not seem to have any effect on the order elements are read by Narrator 'Scan Mode' on Windows - they are always read in their visual order.

### Expected Behavior

The order in which Narrator focuses/reads elements should match that defined in `SemanticOrderView.ViewOrder`.

### Steps To Reproduce

1. Build & run repro solution
2. Enable Narrator (default shortcut: CTRL+WIN+ENTER)
3. Enable 'Scan Mode' (default shortcut: CAPSLOCK+SPACE)
4. Use the up/down arrows to navigate through the elements with Narrator and note that they are not focused in the expected order.

### Link to public reproduction project repository

https://github.com/TiberiusDRAIG/SemanticOrderViewNotWorking.git

### Environment

- .NET MAUI CommunityToolkit: Tested 7.0.1/8.0.1/9.1.0 and repros across all three. Repro repo uses 8.0.1.
- OS: Windows 11 Business 23H2
- .NET MAUI: 8.0.402

### Anything else?

The following demonstrates this behaviour - note the Narrator focus border is following the visual order as opposed to the order defined in `SemanticOrderView.ViewOrder`: https://github.com/user-attachments/assets/ca483433-8bf2-429a-abb4-21c3e706f2da

Contributor guide

Open the contributing guide

Research direction

Start with the linked SemanticOrderViewNotWorking reproduction and inspect how SemanticOrderView.ViewOrder is exposed on Windows. Reproduce the behavior with Narrator Scan Mode on Windows 11, then trace the Windows accessibility behavior involved. Done means Narrator focuses and reads elements in the order defined by ViewOrder rather than visual order.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
accessibility, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.