Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Infragistic Controls not supported by NVDA #4202

Open
nvaccessAuto opened this issue Jun 17, 2014 · 14 comments
Open

Infragistic Controls not supported by NVDA #4202

nvaccessAuto opened this issue Jun 17, 2014 · 14 comments
Assignees

Comments

@nvaccessAuto
Copy link

Reported by jaksta on 2014-06-17 09:33
Hi,

Im a software developer and have many customers that use your product.
I have been looking at using 3rd party UI controls in an upcoming product, in particular Infragistics Winforms (http://www.infragistics.com/products/windows-forms/).

Many of their controls (such as UltraButtons and UltraTabs) are not spoken by NVDA, but are spoken by Microsoft Narrator.

I submitted a support request to Infragistics and they told me because their controls work with Microsoft Narrator then it is an issue with NVDA.

I have create a little application that has 4 buttons on it. 2 normal .net buttons and 2 infragistics ones. You will see that NVDA happily reads the normal ones but fails on the infragistics ones. However Microsoft Narrator can read all 4.

I hope that helps you to track down the issue.

Regards
Craig

@nvaccessAuto
Copy link
Author

nvaccessAuto commented Jun 17, 2014

Attachment WindowsFormsApplication1.zip added by jaksta on 2014-06-17 09:33
Description:
Update:
File added from Trac
WindowsFormsApplication1.zip

@nvaccessAuto
Copy link
Author

Comment 1 by mdcurran on 2014-06-17 11:07
You'll have to provide a compiled executable for testing. I tried compiling your project with MSVC 2013 but I was missing an Infragistic assembly.

@nvaccessAuto
Copy link
Author

Comment 2 by nvdakor on 2014-06-17 11:07
Hello,
Could you attach your program (say, via a Dropbox link) so we can take a look at the problematic controls? Also, just because it works with Narator doesn't necessary mean it's an NVDA issue, more so if it is a UIA control. The sure way to check is using another screen reader to see if the problem controls are recognized (if it does, then it surely might be NVDA's issue).
Thanks.

@nvaccessAuto
Copy link
Author

nvaccessAuto commented Jun 17, 2014

Attachment WindowsFormsApplication1.2.zip added by jaksta on 2014-06-17 12:00
Description:
Update:
File added from Trac
WindowsFormsApplication1.2.zip

@nvaccessAuto
Copy link
Author

Comment 3 by jaksta on 2014-06-17 12:09
Hi,

Ive just downloaded and installed JAWs and it can read these controls.

To build the little application you will need to download and install infragistics winforms from here: http://www.infragistics.com/products/windows-forms/ and then build in visual studio.

Its a 30 day free trial.

Let me know if there is anything else I can do to help.

Regards,
Craig

@nvaccessAuto
Copy link
Author

Comment 4 by mdcurran on 2014-06-17 12:29
Sorry, the app you have attached crashes in Windows 8. I don't have time to debug this at the moment, but may get around to it later this week. It would be good if you can at least explain what happens when you try and access those buttons. E.g. does it say nothing at all. Does it just say unknown... etc. Also what Operating System are you testing on?

@nvaccessAuto
Copy link
Author

Comment 5 by nvdakor on 2014-06-17 12:35
Hi,
Please try the following procedure and report back on what you see in the log viewer:

  1. Start NVDA.
  2. Start your program.
  3. Once you locate the problem controls, press NVDA+F1 (Insert+F1). The log viewer opens with the information about the control filled in.
    Can you paste the developer info for one of the controls (starting from the line that says "developer info for navigator object") and all the way to the end (pass display text)? That way we'll be able to determine what kind of control was used in that object such as window class name and type of object.
    Thanks.

@nvaccessAuto
Copy link
Author

Comment 6 by jaksta on 2014-06-18 00:13
@mdcurran - yes you will need to download and install the trial version of their controls for the app to work. Im using their trial version as well and cant distribute the necessary assemblies to you unfortunately, but its a simple download and install on a 30 day trial. As I said in the original report nothing is spoken on these controls. Im testing on Windows 7.

@nvdakor - Here is the report you requested.

Developer info for navigator object:
name: u'button2'
role: ROLE_BUTTON
states: STATE_FOCUSABLE
isFocusable: True
hasFocus: False
Python object: <NVDAObjects.IAccessible.Button object at 0x0579D610>
Python class mro: (<class 'NVDAObjects.IAccessible.Button'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: None
location: (2091, 211, 75, 23)
value: None
appModule: <'appModuleHandler' (appName u'windowsformsapplication1', process ID 4368) at address 579d630>
appModule.productName: u'WindowsFormsApplication1'
appModule.productVersion: u'1.0.0.0'
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 2949380
windowClassName: u'WindowsForms10.BUTTON.app.0.2bf8098_r13_ad1'
windowControlID: 2949380
windowStyle: 1442906123
windowThreadID: 4136
windowText: u'button2'
displayText: u'button2'
IAccessibleObject: <POINTER(IAccessible) ptr=0x52ba80 at 5747850>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=2949380, objectID=-4, childID=0
IAccessible accName: u'button2'
IAccessible accRole: ROLE_SYSTEM_PUSHBUTTON
IAccessible accState: STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048576)
IAccessible accDescription: None
IAccessible accValue: None

@nvaccessAuto
Copy link
Author

Comment 8 by nvdakor on 2015-04-21 20:40
Hi,
It turns out the issue might be that Infragistics controls themselves does not expose the needed information. I have filed a suggestion request at:
http://ideas.infragistics.com/forums/192357-general/suggestions/7652250-support-for-accessibility-api-s-and-assistive-soft
Thanks.

@nvaccessAuto
Copy link
Author

Comment 9 by jteh on 2015-04-21 23:25
If this works with Narrator and JAWS, that suggests the controls do implement MSAA or UI Automation, albeit incorrectly/incompletely. (It's entirely possible for something to work with one screen reader and not another where this occurs. NVDA may expect something that other screen readers don't, but it's still complying with the spec.) On a total hunch, I'd say the controls aren't exposing the STATE_SYSTEM_FOCUSED state when they are focused.

@nvaccessAuto
Copy link
Author

Comment 10 by nvdakor (in reply to comment 9) on 2015-04-23 21:47
Replying to jteh:

If this works with Narrator and JAWS, that suggests the controls do implement MSAA or UI Automation, albeit incorrectly/incompletely. (It's entirely possible for something to work with one screen reader and not another where this occurs. NVDA may expect something that other screen readers don't, but it's still complying with the spec.) On a total hunch, I'd say the controls aren't exposing the STATE_SYSTEM_FOCUSED state when they are focused.

You are right. Infragistics told a user (who forwarded the email to me) that their UI framework does support UIA. It's just that the app in question needs to turn off UIA in their apps so NVDA can see MSAA controls instead of UIA versions.
Thanks.

@nvaccessAuto
Copy link
Author

Comment 11 by jteh on 2015-04-23 22:53
If UIA is implemented correctly, it should work just as well (if not better) than pure MSAA. However, perhaps their UIA implementation is buggy. Anyway, whatever works...

@Adriani90
Copy link
Collaborator

@jaksta is this issue still reproducible? @michaelDCurran did you find time to compile the example application and look into it?
@ehollig I think we Need the attachments from the issue tracker here. Thanks.

@Adriani90
Copy link
Collaborator

@ehollig could you please add the attachments from the old database to this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants