2021-07-10 19:06:26

hey here is an addon that should work with the latest NVDA 2021.1 and this addon will let you customize any object you can find with the object navigator or NVDA review cursor. It is like the jaws window reclasser, graphics and buttons labeler all rolled into one. the link for downloading it is:

https://www.dropbox.com/s/hwcp1qncig6i0 … addon?dl=1

so let me know how you like it.

2021-07-10 19:08:50

Can you please explain in more detail exactly what this does? What sort of customisation are we talking about?

2021-07-10 20:07:11

So basically, this is an addon that gives NVDA a lot of the missing features that JAWS/Window Eyes had - custom labels for various elements, graphics, etc. Though most of the documentation is not translated. This is, as far as I'm aware, the first truly free addon that was created by the folks that brought us Unicorn DVC, better Magnifier integration with NVDA, and a program that automatically adjusts screen-reader and conference call balance to left and right ear respectively.

2021-07-10 20:56:32

yes that's correct. and here is translated documentation pasted below.
# Object Enhancer
* Author: Babbage B.V. <[email protected]>

Object Enhancer allows you to change how NVDA announces objects on the screen using an intuitive interface. It can be used to change the label of an object, but depending on how you're using it, has functionality to change basically any property of an object.

Changes to an object are saved in a definition.
A definition contains:

* Criteria that have to apply in order for the definition to match
* Attribute changes that will be applied to every object that matches the definition
* Optional relationships with other definitions. A definition can inherrit criteria from other definitions

## Creating your own definitions
Object Enhancer has a graphical interface to make new definitions and edit existing definitions.

To create a new definition for the current navigator object, press NVDA + CONTROL + TAB. This opens the new Definition dialog if no definition is found for the current object, and the existing definition is processed if there is a definition is to edit.

NVDA + Control + Shift + tab opens the main dialog box of the add-on with which you can find out existing definitions and edit existing definitions.

Please note that when you want to make a definition quickly, you can do it best with NVDA + Control + Tab, because you can automatically have certain properties of the object to take over.
For example, when you press this shortcut when the current navigator object is a list item, you can automatically add the current name, role or location to the definition.

### NVDA + Control + Shift + tab opens the main dialog box of the add-on with which you can find out existing definitions and edit existing definitions.

Please note that when you want to make a definition quickly, you can do it best with NVDA + Control + Tab, because you can automatically have certain properties of the object to take over.
For example, when you press this shortcut when the current navigator object is a list item, you can automatically add the current name, role or location to the definition.
NVDA + Control + Shift + tab opens the main dialog box of the add-on with which you can find out existing definitions and edit existing definitions.

Please note that when you want to make a definition quickly, you can do it best with NVDA + Control + Tab, because you can automatically have certain properties of the object to take over.
For example, when you press this shortcut when the current navigator object is a list item, you can automatically add the current name, role or location to the definition.

NVDA + Control + Shift + tab opens the main dialog box of the add-on with which you can find out existing definitions and edit existing definitions.

Please note that when you want to make a definition quickly, you can do it best with NVDA + Control + Tab, because you can automatically have certain properties of the object to take over.
For example, when you press this shortcut when the current navigator object is a list item, you can automatically add the current name, role or location to the definition.

### The Edit New Definition / Definition dialog box consists of the following items:
#### Definition name
A unique name for your definition that you use to recognize it later, and to link it to a different definition if necessary.

#### Filter criteria:
These are the criteria to be used to apply the definition. You can filter on attributes / properties of an object.

Press Add to add a new criteria.
You can choose from the list of relevant object attributes or give up an attribute yourself.
For example, you can choose the WindowsControlID option from the list of attributes, after which the input fields for attribute and value are entered automatically.
For example, if you want to match an object with IAccessibleRole = 10 (ROLE_SYSTEM_CLIENT), you can also do this manually.

You can also edit the current filter criteria or add an extra value to filter, when you want to match an object that, for example, the value 15 or 16 has for WindowControllID.

#### Attribute changes
In the list of attribute changes you can specify which characteristics of the object should be changed. In most cases you probably want to change the name (name) or description (description).

#### Inherit settings from definition / definition is abstractSettings Overflows of definition / definition is abstract
With this drop-down list and this check box you can set a relationship between different definitions.

Imagine that you have to label multiple buttons in one application.
All buttons have a magicbutton window class name.
You can make a definition with WindowClass = MagicButton and the Definition check box is abstract, do not use it directly.
In the following definitions your settings can overflow from the definition of MagicButton, so that the new definition will behave as if windowClassName = MagicButton is specified as a filter criterion.

#### Treat criteria for object location as absolute screen coordinates
When this option is enabled, location criteria from the criteria section are treated as all other attributes. This means that if you define Locaton = (1, 2, 3, 4), any object without this absolute location does not match.

However, if this option is disabled, this has a large effect on object definitions with more than one location.
For more details we refer you to the English documentation.

#### Definition error handling
With this drop-down list you can decide what should happen if an error occurs when evaluating this definition:

* If set to continuue, the error is ignored and the evaluation continues
* If set to Break, the evaluation is demolished
* If set to Raise, a failing evaluation causes a traceback.

Do not apply this option unless you know what you do, eg because you are a NVDA or Python developer.

2021-07-10 20:58:03

here is just one example of how you may use this addon.
I wonder if you could give a concrete example of how this add on works.


Let's assume the QTranslate app...

It have some buttons and three edit fields unlabelled...

Focused in an unlabelled edit field, you press NVDA+Control+Tab to invoke the create definition dialog...

The first thing is giving a name to the definition.

Tabbing you will get to Filter criteria. One more tab and you can activate the add buton to add a criteria. In this case I have selected windowControlID; Value: 0 since I knew the ID are different to each control...

The program will add the respective ID number to the form and you just press Confirm...

Keep tabbing, you will find Attribute changes.

One more tab and activate the add button.

Here I have chose name, because I want to give a name to the button...


The other controls I have not yet explored properly...



Is it something like a JAWS graphics labeller?

No, more like Control ID labeller, or something like that, also accessed with Insert+control+Tab... If my memory do not fail...



If so, if you make the changes, will this affect other such buttons/items that exist in other programs where they are properly operating before any changes?


No, each definition is saved in a file with the name of the app in regard...

2021-07-10 21:57:58

each definition is saved in a file with the name of the app in regard.
That's cool. It makes it easy to share application labels with others.

2021-07-10 22:49:28

For teh record, this is no Sibiac, although Sibiac level functionality could certainly be built on top of this. Any single image the is scanned through ocr, probably isn't going to work. Haven't tested with kontact plugins, so I could be wrong on this one.

2021-07-11 03:45:14

How to get windowControlID? Does it add automatically?

2021-07-11 06:31:18

Huh. Anybody know if this can make the play buttons on Bandcamp work like normal buttons? I think that's the only thing that's broken for me. I grabbed an extension that's supposed to add keyboard commands, but it doesn't work reliably enough to be really useful.

_____________________________
"rabbid dog  aggressive  attitude" since 3035. THE SYSTEM IS TRAP!