Skip to content

Fix #36: replace HelpText with user-controllable announcements and visible text#155

Open
kellylford wants to merge 1 commit into
mainfrom
claude/competent-knuth-52525d
Open

Fix #36: replace HelpText with user-controllable announcements and visible text#155
kellylford wants to merge 1 commit into
mainfrom
claude/competent-knuth-52525d

Conversation

@kellylford

@kellylford kellylford commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Closes #36 (partially — see issue comment for the remaining screen reader problem and options).

What this PR does

Replaces all AutomationProperties.HelpText entries that were invisible to sighted users with visible text, and routes the one long instructional string (address field tutorial) through the user-controllable AccessibilityHelper.Announce system instead.

  • ComposeWindow: removes instructional HelpText from the address token field; delivers it as a first-focus Hint announce (_addressHintGiven flag, respects AnnounceHints setting). Removes redundant HelpText from From combobox.
  • SettingsDialog: F7/Shift+F7 spelling note is now a visible TextBlock; spelling verbosity radio buttons now have visible TextBlock examples; redundant HelpText removed from Log Format and Message Open Mode radio buttons (those already had visible descriptions).
  • NewFolderDialog: redundant HelpText removed.
  • RulesManagerWindow: From/Body HelpText converted to visible TextBlock notes; Body AutomationProperties.Name updated to "Body preview contains"; HelpText removed from To and Subject fields.
  • AccountManagerDialog / AddAccountDialog: visible "Stored in Windows Credential Manager." note added below password field; signature label updated to include "replies and forwards".
  • CommandPaletteWindow: unchanged — gesture text in HelpText is intentional keyboard shortcut metadata.

Known limitation

The visible TextBlock elements added by this PR are not in the tab order and are not automatically read by screen readers. A JAWS user needs the JAWS cursor; an NVDA user needs object navigation to reach them. This is a WPF platform limitation: AutomationProperties.DescribedBy does not exist, GetDescribedByCore() is absent from AutomationPeer in all .NET versions through .NET 10, and PasswordBox is sealed. See the issue comment for the two options being considered for a follow-up pass.

Test plan

  • Open Compose window — address hint announces once on first focus of any address field, suppressed on return visits
  • Toggle AnnounceHints off in Settings — confirm address hint is suppressed
  • Settings → Screen Readers tab: F7/Shift+F7 note visible below "Announce spelling while navigating" checkbox
  • Settings → Screen Readers tab → Spelling Suggestions Verbosity: example lines visible below each radio button
  • Settings → Advanced → Log Format: renders correctly, no regression
  • Settings → Windowing → Message Open Mode: renders correctly, no regression
  • New Folder dialog: works normally
  • Rules Manager: From field shows domain-matching note; Body field shows preview note
  • Account Manager / Add Account: "Stored in Windows Credential Manager." visible below password field; signature label reads "replies and forwards"

🤖 Generated with Claude Code

… announcements and visible text

- ComposeWindow: remove instructional HelpText from address field; deliver as
  a first-focus Hint announce (respects AnnounceHints setting) via new
  _addressHintGiven flag. Remove redundant HelpText from From combobox.
- SettingsDialog: make F7/Shift+F7 spelling note visible (was hidden in
  HelpText); add visible TextBlock examples for spelling verbosity radio
  buttons; remove redundant HelpText from Log Format and Message Open Mode
  radio buttons that already have visible TextBlock descriptions.
- NewFolderDialog: remove redundant HelpText (label is self-explanatory).
- RulesManagerWindow: convert From/Body HelpText to visible TextBlocks;
  update Body AutomationProperties.Name to "Body preview contains" to surface
  the preview-only qualifier; remove HelpText from To and Subject fields.
- AccountManagerDialog, AddAccountDialog: add visible "Stored in Windows
  Credential Manager." note below password field; update signature label to
  include "replies and forwards" so HelpText content is visible to all users.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

Clean up accessibility notifications

1 participant