Repository navigation
Name feed tree items, so screen readers stop reading the class name - #49
Merged
Merged
Conversation
The feed tree's items had no accessible name, so UI Automation fell back to FeedItem.ToString and NVDA read "RSSReaderWPF.FeedItem" for every feed and folder. The item style now binds the name to the title, as the headlines list already did, and AccessibleNameTests checks both through their automation peers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s as a screen reader reads them From the review: rows without a container, such as those a virtualized list has scrolled away, are still named by ToString. The tests now read names through the tree's and list's own automation children. CLAUDE.md records the rule. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Every feed and folder in the feed tree was announced as "RSSReaderWPF.FeedItem". Found while recording the RSS Quick audio tour: NVDA 2026.2, with the 1.4.0 build installed from the Microsoft Store in the test VM, said it for every row. vmtest's UI Automation report showed the same name.
Cause: the tree's item containers never had
AutomationProperties.Name, so UI Automation named eachTreeViewItemby its header. The header is theFeedItem, whoseToStringis the class name. The headlines list already bound the name; the tree didn't.Fix
MainWindow.xaml: theTreeViewItemcontainer style bindsAutomationProperties.NametoTitle.FeedItemandArticleItemoverrideToStringto return the title. This covers rows with no container, such as those a virtualized list has scrolled away (from the code review).AccessibleNameTests: reads the names of tree items, a nested child and headlines through the tree's and list's own automation peers, which is the route a screen reader takes, and checks theToStringfallback.FolderChoice), and CHANGELOG has an Unreleased entry.macOS and iOS name their rows from the visible text, so they don't have this class of bug, and there's no parity change.
🤖 Generated with Claude Code