Skip to content

UIA API versioning #8182

@codeofdusk

Description

@codeofdusk

Description of the new feature/enhancement

Since its initial implementation, UIA in conhost has had various levels of completeness and bugginess. To account for this, NVDA must slightly change its behaviour for the various versions. Selected examples:

Historically, NVDA has checked the Windows build number to determine which workarounds were needed. However, since newer OpenConsole can be run on older Windows, this is no longer sufficient. NVDA should be able to check which version of conhost is in use, perhaps by an API version (incremented for breaking UIA changes) in the automation ID for the text area.

Proposed technical implementation details (optional)

  • The automation ID is set in ScreenInfoUiaProviderBase::GetPropertyValue().
  • Note: You might consider localizing the name set in this function. NVDA specifically ignores the console's name (as it isn't localized and unnecessary for us), but other screen readers (such as Narrator) might not.

Metadata

Metadata

Assignees

Labels

Issue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.Needs-Tag-FixDoesn't match tag requirementsNeeds-TriageIt's a new issue that the core contributor team needs to triage at the next triage meetingResolution-Won't-FixWe're just really obstinate about this. There's probably a good reason.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions