fix(wpf): harden Timeline interaction and accessibility - #9
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d266a43b7e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <Condition Binding="{Binding Events.Count}" Value="0" /> | ||
| <Condition Binding="{Binding IsLoading}" Value="False" /> |
There was a problem hiding this comment.
Suppress the empty state after a refresh failure
When the initial catalog read throws, RefreshAsync leaves Events empty, records SelectionError, and then sets IsLoading to false. These two conditions therefore make the “No restore points yet” card visible at the same time as the refresh error, incorrectly telling users that no snapshots exist when storage was merely unreadable. Include the absence of HasSelectionError in this trigger so the failure state is shown instead of the empty state.
Useful? React with 👍 / 👎.
| if (string.Equals(parameter as string, "Inverse", StringComparison.OrdinalIgnoreCase)) | ||
| isOnscreen = !isOnscreen; | ||
|
|
||
| return isOnscreen ? IsOffscreenBehavior.Onscreen : IsOffscreenBehavior.Offscreen; |
There was a problem hiding this comment.
Preserve computed offscreen state for visible elements
Returning IsOffscreenBehavior.Onscreen for every active element forces UI Automation to report it as onscreen even when it is clipped or below a ScrollViewer viewport. This occurs for active Confirm sections and for the detail card in the new narrow comparison layout, so assistive technology receives incorrect spatial state until the user scrolls to those controls. Return the default/clipping-aware behavior for active elements and reserve Offscreen for inactive alternatives.
Useful? React with 👍 / 👎.
Summary
This is fix set 2 of 4 and is intentionally stacked on #8.
Verification
Changed-file solution formatting and
git diff --checkpassed. Added em dash lines: 0.Computer Use rendered the isolated CodexVerify build and confirmed the populated Timeline and navigation. Input injection into that elevated test process is blocked by Windows integrity isolation, so full interactive verification remains scheduled on the disposable VM after all four stacked fix sets are combined.