[nvda-addons] Re: more general questions about identifying windows

  • From: Alex Hall <ahall@xxxxxxxxxxxx>
  • To: nvda-addons <nvda-addons@xxxxxxxxxxxxx>
  • Date: Fri, 24 Mar 2017 17:02:57 -0400

I forgot to say that yes, javaw.exe is running. I just triple-checked, and
when RDI is running, nvda-ctrl-f1 reports the currently running application
as javaw.exe and the loaded module as javaw. If my add-on were removed, the
module would be eclipse. Even the log shows this:

appModule: <'javaw' (appName u'javaw', process ID 10596) at address 4d26230>
appModule.productName: u'Java(TM) Platform SE 8'
appModule.productVersion: u'8.0.0.0'


I'm running Java 8, so that also sounds correct. Could this be a problem
with RDI?

On Fri, Mar 24, 2017 at 4:34 PM, Alex Hall <ahall@xxxxxxxxxxxx> wrote:

I was so focused on navigator commands I forgot to test review! Yes,
review commands read the text in the field, but don't move the system
cursor, of course. I could hit nvda-shift-backspace all the time, but I'd
rather have standard commands. The application supports, them--a sighted
coworker tells me the cursor moves normally as I arrow around--but NVDA
doesn't see this.

Essentially, this edit control can be reviewed by NVDA, which won't move
my cursor, or navigated normally, which won't speak. I'm a bit stuck, it
seems.


On Fri, Mar 24, 2017 at 4:18 PM, Derek Riemer <driemer.riemer@xxxxxxxxx>
wrote:

You can access menus and other controls correctly?
What does review cursor state?
I'm concerned that "javaw" is being detected. NVDA was fixed a few years
ago to make it detect java apps as if they were normal apps.

On Fri, Mar 24, 2017 at 1:52 PM, Alex Hall <ahall@xxxxxxxxxxxx> wrote:

Hi list,
Most of you know me from various places, and I was on this list about a
year ago while trying to make an application at work more usable for me. I
failed, but am now trying to script a different one. I consider myself an
expert user of VoiceOver, slightly less of an expert in NVDA, and a good
all-around computer user. I know Python well, among other languages.

All that out of the way, I'll dive right into the questions.

* I'm examining a control with the log viewer. It has a role of
ROLE_EDITABLETEXT, but an IAccessibility role of ROLE_SYSTEM_TEXT. Those
two sound different. Are they? If so, do I need to tell NVDA a different
IAccessibility role for this control?

* I want to allow NVDA to access the text in this control. It should be
a multi-line edit field, like the editor in Word or Notepad, as it's the
code editor for an IDE based on Eclipse (yep, that means Java). Jaws can
see the text, but NVDA does nothing when I arrow around, and reports there
are "no objects inside" when I use object navigation to try to explore.

* The add-on is for a program called RDI, (Rational Developer I). This
is made by IBM to support their iSeries business computers, and is based on
Eclipse. In fact, NVDA reports that the currently loaded module is Eclipse,
or it did until I made my new add-on. The application name, though, is
"javaw", which is far too broad. How do I run my add-on for RDI only, and
not for *any* Java application, if all Java apps run under Javaw?

I'm having some odd problems when reloading this add-on, but that's
another email. Below I've pasted the log for the window I want to access
with the arrow keys. Thanks in advance for any ideas anyone has.


Developer info for navigator object:
name: 'File Contents'
role: ROLE_EDITABLETEXT
states: STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.IAccessible object at
0x04BE1C90>
Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>,
<class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>,
<class 'baseObject.ScriptableObject'>, <class
'baseObject.AutoPropertyObject'>, <type 'object'>)
description: None
location: (500, 142, 1352, 825)
value: u'(code in the editor)'
appModule: <'javaw' (appName u'javaw', process ID 10596) at address
4d26230>
appModule.productName: u'Java(TM) Platform SE 8'
appModule.productVersion: u'8.0.0.0'
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 66972
windowClassName: u'SWT_Window0'
windowControlID: 66972
windowStyle: 1445003264
windowThreadID: 11152
windowText: u''
displayText: '(value of code in the editor)'
IAccessibleObject: <POINTER(IAccessible) ptr=0x74b7e60 at 4dad6c0>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=66972, objectID=-4, childID=0
IAccessible accName: None
IAccessible accRole: ROLE_SYSTEM_TEXT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE,
STATE_SYSTEM_VALID (1048580)
IAccessible accDescription: None
IAccessible accValue: '(value of code in the editor)'


--
Alex Hall
Automatic Distributors, IT department
ahall@xxxxxxxxxxxx




--

Derek Riemer: Improving the world one byte at a time!

   - University of Colorado Boulder Department of computer science, 4th
   year undergraduate student.
   - Accessibility enthusiast.
   - Proud user of the NVDA screen reader.
   - Open source enthusiast.
   - Skier.

Personal website <http://derekriemer.com>




--
Alex Hall
Automatic Distributors, IT department
ahall@xxxxxxxxxxxx




-- 
Alex Hall
Automatic Distributors, IT department
ahall@xxxxxxxxxxxx

Other related posts: