Deferred indefinitely: UI Automation text pattern for screen readers

Ouverte
#8 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
3-5 jours
Accessibilité débutants
10/100
Type d'issue
Fonctionnalité
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
csharp

Piste de recherche

The issue says work is deferred indefinitely and should resume only if the owner reopens it. If reopened, read the spike report at ~/work/gdr-design-20261102/reports/r6-uia-textpattern.md and inspect RichTextField's NativeControlHost approach; the spike code is at /mnt/h/spikes/uia-20261103/, both local to the author's machine. The described route was prototyped, but focus handoff, text and selection events, mouse pass-through, and the net10 apphost manifest remain risks.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

deferred

Narrator and NVDA read caret, selection, words and lines through UIA's text pattern (ITextProvider/ITextRangeProvider). Legacy FieldWorks never shipped one: Views is MSAA-only and its UIA provider is commented out (FWR-2874). So ADR 0017 sets the field's bar at FieldWorks' current level: name, role, value, state and bounds.

Deferred indefinitely by the owner, 2026-11-03.

What a spike found (2026-11-03)
  • Avalonia 11.3.17 and 12.1.2 have no text-pattern extension point. AutomationNode.GetPatternProvider is a fixed switch with no Text case. Upstream PRs #20890 and #21988 were closed unmerged.
  • Working route: RichTextField hosts an invisible child HWND through the public NativeControlHost. That window's WM_GETOBJECT returns our own providers. A spike proved DocumentRange.GetText, selection and word moves from an out-of-process UIA client on both versions.
  • Estimate: 2–3 weeks.
  • Risks:
    • the element can appear twice in the tree;
    • focus handoff to Narrator and NVDA, untested;
    • text and selection events;
    • mouse pass-through (HTTRANSPARENT);
    • the net10 apphost needs a supportedOS manifest.
  • Alternatives: patch Avalonia (3–4 weeks, two forked builds), or MSAA text, which gives too little.
  • Spike code and report: /mnt/h/spikes/uia-20261103/, ~/work/gdr-design-20261102/reports/r6-uia-textpattern.md (local to the author's machine).

Next: none until the owner reopens it.

🤖 Generated with Claude Code

Langage dominant
C#
Étoiles
0
Forks
0
Merge moyen
1 h 43 min
PR mergées (30 j)
43

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de sillsdev/SIL.TextEditing

Toutes les issues de sillsdev/SIL.TextEditing

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.