Skip to content

Edit controls in explorer fail when they have a native UIA implementation #15375

@LeonarddeR

Description

@LeonarddeR

Regression from #15314

Steps to reproduce:

  1. On a folder in Windows Explorer, open properties (alt+Enter)
  2. Go to the security tab
  3. Press the advanced button

Actual behavior:

Read only edit boxes don't read. This is because they have an overlay in the explorer appModule that is bound to IAccessible rather than Edit.

error executing event: gainFocus on <NVDAObjects.Dynamic_ReadOnlyEditBoxEditBaseEditableTextWithAutoSelectDetectionUIAWindowNVDAObjectEditableIndentNav object at 0x07F71350> with extra args of {}
Traceback (most recent call last):
  File "eventHandler.pyc", line 320, in executeEvent
  File "eventHandler.pyc", line 355, in doPreGainFocus
  File "api.pyc", line 139, in setFocusObject
  File "baseObject.pyc", line 62, in __get__
  File "baseObject.pyc", line 168, in _getPropertyViaCache
  File "NVDAObjects\__init__.pyc", line 656, in _get_container
  File "baseObject.pyc", line 62, in __get__
  File "baseObject.pyc", line 168, in _getPropertyViaCache
  File "NVDAObjects\IAccessible\__init__.pyc", line 1059, in _get_parent
AttributeError: 'Dynamic_ReadOnlyEditBoxEditBaseEditableTextWithAut' object has no attribute 'IAccessibleChildID'

Expected behavior:

Edit boxes read correctly.

System configuration

NVDA version:

2023.3 Beta branch

Windows version:

Windows 11 22H2

Additional details

The code conflicting with UIA was introduced in 32a0f22, pr #8643. Cc @lukaszgo1
Personally I'm tempted to remove this RTL and LTR workaround from the explorer appModule. While this will reintroduce these marks in the said edit boxes, removing the marks from the windowText is no viable solution to me as it will cause of by one errors when reporting the symbol or character under the caret.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug/regressionfeature/windows-explorerWindows start menu, explorer, and other in-box functionality.p2https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions