Ticket #189 (accepted enhancement)

Opened 4 years ago

Last modified 9 months ago

Usability: terminology dictionary needed?

Reported by: healeym Owned by: Bernd
Priority: minor Milestone:
Component: Documentation Version: development
Keywords: Cc:
Operating system: Blocked by:
Blocking:

Description

In case anyone thinks the following is an attack on their 'baby', let me say in advance that I think NVDA is very good already, and its Help/Documentation? is far superior to System Access's (for example)! I hope I'm not viewed as sniping from the sidelines, but as passing on an authentic beginner's view which NVDA-experienced people would not usually have.

As the sighted husband of new user of NVDA I find that the documentation assumes my wife is already familiar with NVDA's terminology! Alternatively, it assumes that she's probably familar with another screen reader such as Jaws or Window-Eyes. These terms are probably so familiar to NVDA developers that they can't imagine any potential NVDA users not knowing them! The following terms are sometimes explained in passing, sometimes not. Definitions would be useful even where they might seem 'obvious' - people's ideas of what even a 'simple' term encompasses do vary a lot!
I'm not sure how the info should be presented - maybe via tooltips or links.
Here are some of the terms that my wife was thrown by - and understandably so, in my opinion! Some are NVDA-specific, some not, but a beginning user isn't going to care about the difference. It's not a huge list, so perhaps the work involved in supplying useful definitions is not huge either.

Here goes:

SAPI4
SAPI5
Virtual buffer
Old virtual buffer, new virtual buffer
Filtering
MSAA
Iaccessible2
Video intercept driver
Display hook
Jaws
Window-Eyes
extended Insert
Object presentation
Focus
Foreground window
Object
Navigator object
Edit cursor
Review cursor
System caret
Dynamic content
Field (is this the same as Object?)
Form field

Attachments

nvda_glossary.t2t Download (6.6 KB) - added by Bernd 17 months ago.
Glossary in t2t format
nvda_glossary.html Download (9.1 KB) - added by Bernd 11 months ago.
compiled Glossary for NVDA

Change History

comment:1 Changed 4 years ago by Bernd

  • Priority changed from major to minor
  • Version set to trunk

Should the words above may defined in the user guide? That will be the easiest way because there is no code to change.

comment:2 Changed 2 years ago by Bernd

  • Keywords terminology removed
  • Status changed from new to assigned
  • Owner set to Bernd

At the moment I'm translating a german Glossary in English. Should this be integrated in the User Guide or should I implement it on the Wiki?

Changed 17 months ago by Bernd

Glossary in t2t format

comment:3 Changed 17 months ago by Bernd

  • Status changed from assigned to accepted

I and two German people wrote a therminology dictionary which I've just uploaded. Users can try the Glossary in html format and say how it is.
Jamie and Mick: Please consider implementing it somewhere in the wiki or perhaps in the user guide. It will answer many user questions.

comment:4 follow-up: ↓ 5 Changed 17 months ago by briang1

Hi, I have changed and added comments below. See what you think anyway.

NVDA Glossary
Version 1.0
last Update: 19.12.2010

Table of contents
• 1. sapi Might be an idea to extend this to API or add an extra one for that to start with.

• 2. virtual buffer
• 3. MSAA
• 4. UIA Explain UI as well, before using it.
• 5. iaccessible
• 6. Video interceptor Not sure why we talk about this one really.
• 7. display hook
• 8. Jaws, Window-eyes
• 9. extended insert
• 10. object presentation
• 11. Focus
• 12. Foreground window
• 13. Object
• 14. Navigator, Navigator Object
• 15. Review cursor, System Cursor
• 16. Dynamic content
• 17. field
• 18. Form Fields
• 19. alternate navigating with the windows keyboard mouse

You need to add carat and its meaning in the computer sense I feel.

  1. sapi

The Speech Application Programming Interface or SAPI is an API developed by Microsoft to allow the use of speech synthesisers made by different manufacturers. The folowing table shows all Windowsversions supported by NVDA and which sapi versions they include:
Windows version
Sapi Version
Windows 2000
Sapi 4
Windows xp
Sapi 5
Windows Vista
Sapi 5.1
Windows 7
Sapi 5.1

Note that sapi 4 can be installed on XP, also, I don't think nvda works any more on Windows 2000

  1. virtual buffer

Virtual Buffers are used to present complex documents in NVDA and other screen readers. Elements such as headings, paragraphs, tables and lists will be represented in such virtual Buffers. Buffers are named virtual because information about the object is only presented by the Screen reader and not on the screen. Examples of documents accessed by virtual buffers are HTML files in Firefox, Google Chrome, Internet explorer and the windows help (winhlp32) or reading PDFs in Adobe Reader. NVDA has been changed a lot since its inception, and this will continue, so in the changes document you will read about old and new virtual buffers.

  1. MSAA

Maybe AT needs an entry??
Microsoft Active Accessibility (MSAA) is an Application Programming Interface (API) for user interface accessibility. MSAA is designed to help Assistive Technology (AT) products with interact with standard and custom user interface (UI) elements of an application (or the operating system), as well as to access, identify, and manipulate an application's UI elements. AT products work with MSAA enabled applications in order to provide better access for individuals who have cognitive difficulties, impairments, or disabilities. One example of AT products are screen readers for users with limited sight,.

The above sounds like it should be at the start of any explanitory text, as it covers a number of abbreviations not in the list itself.

  1. UIA

User Information Automation is the further development of MSAA. There are interfaces between them.
Or did you mean with both of them?

  1. iaccessible

iaccessible is an accessibillity interface for Windows systems developed by IBM. IA2 is an alternative to the MSAA successor UI Automation

Kind of leaves the question, why? grin

  1. Video interceptor

A video interceptor works like a driver that catches all information provided by the display card and passes all of it to a program like a screen reader, So the screen reader is able to present the data to the user which would otherwise only exist on the screen. This enables the user to activate an object without knowing where it is in the hirarchical order or if the object isn't detected by the APIs. The disadvantage of this is that video interceptors must be installed with administrator privileges. This makes a portable screenreader impossible.

  1. display hook

This is a method to get information written to the screen without installing a display driver to the system. For example: the windows screen reader, System Access, NVDA, and in the Orca screen reader for linux packaged with gnome. This method does have limitations though.

  1. Jaws, Window-eyes

These are two examples of commercial screen readers. The developers of these commercial products differ in their implimentation, but their goal is the same.

Comment, Maybe this and display chain driver etc, could be linked.

  1. extended insert

Modern keyboards have got between the normal keyboard and the numberpad an extended block. In this block you'll find 4 arrow keys at the bottom, and at the top is a block of 6 keys: Insert, delete, home, end, page up and page down. All of them can be found on the number pad, too. So there has to be a way to differenciate the keys on the numberpad from the extended pad. So, For example: If you want to make clear that the insert key on the extended pad is meant, you will say "extended insert".

  1. object presentation

these settings change nvda's verbosity while reading objects. Here you can tell nvda (not) to read the type of an object or the position inside a list box.

  1. Focus

If you are working in windows allways one object has the focus. This could be an edit field, a combo box, a checkbox etc.

  1. Foreground window

This is the window you work in. If you read this document, the foreground window is your Internet browser probably.

  1. Object

Objects are everything which can be shown on the screen. Objects are for example edit fields, buttons, checkboxes, program windows, etc.
Are links objects as well. Sounds silly but I get the question all the time!

  1. Navigator, Navigator Object

the navigator implements a method for moving between objects inside an application. the current navigator object is the object which is displayed in the navigator.

Is this a recursive explanation? It seems not to really explain navigator to me, putting on my dense head here.

  1. Review cursor, System Cursor

You maybe need to reverse these as the explanation is the other way around for clarity.

The insertion pointer in an edit field is called the 'system cursor' because it can be moved with windows' built-in tools (arrow keys, page up, page down etc. These are purely windows functions.

the review cursor is an nvda internal cursor. The user can navigate inside an object and read its content without moving the system cursor. This may or may not be actually visible on screen.


  1. Dynamic content

In the last few years webdisigners built dynamic content into their websites. This means that particular parts of the site get updates without reloading the whole site. I.E. Ebay auctions and share prices.

Should this not be pages rather than web site?

  1. field

All objects not known by NVDA are named field.
What about Pane though?

  1. Form Fields

all editable objects within a web page (check boxes, combo boxes, edit fields, buttons) are summarized by this term.

  1. alternate navigating with the windows keyboard mouse

This is a Windows facility.
With this function it is easier to move the mouse along axes of coordinates
After pressing the shortcut key alt+shift+numlock, a message box comes up to inform you that you are about to enable the keyboard mouse. Now you can:
• click "ok" to enable the keyboard mouse
• click "cancel" to keep it disabled, or
• click "settings" to open the 'keyboard mouse' tab of the control panel's accessibility dialog box.
When the keyboard mouse is enabled, you can use the following numpad keys to move the mouse pointer in the given direction:
• Numpad 7: To the top left corner.
• Numpad 8: To the top
• Numpad 9: To the top left corner
• Numpad 4: To the left side
• Numpad 6: To the right side
• Numpad 1: To the bottom left Corner
• Numpad 2: To the bottom
• Numpad 3: Bottom rightTo the bcorner
you can speed up the mouse pointer movement by using the numpad keys together with the ctrl key. Using them together with the shift key will slow down the mouse pointer movement.
Does this not belong in the user manual?
To get braille output while using the keyboard mouse, the following 3 conditions must be met:
• you have to enable mouse tracking in the mouse settings dialog.
• the braille display has to be tethered to the review cursor
• the "follow mouse Pointer" in the review cursor settings dialog has to be checked.
OK, just a few alterations comments and suggestions. I don't have the time just now to learn the text format, but anyway, these are just suggestions and observations.

comment:5 in reply to: ↑ 4 Changed 11 months ago by Bernd

Replying to briang1:

Hi, I have changed and added comments below. See what you think anyway.

thanks I'll explain our thaughts shortly but not all. Some of your thaughts are allready implemented in the glossary. I'll attach the modified version shortly.

• 1. sapi Might be an idea to extend this to API or add an extra one for that to start with.

thanks, will be in the next version.

Note that sapi 4 can be installed on XP,

yes, but this table shows only, which version of sapi is include in which version of windows.

• 6. Video interceptor Not sure why we talk about this one really.

We want to explain it so other users understand why the devs don't include it.

also, I don't think nvda works any more on Windows 2000

A german user told us that NVDA worked under windows 2000 so we mention it. Even it isn't supported by NVDA officially.

  1. MSAA

Maybe AT needs an entry??

Yes, needs to be done.

The above sounds like it should be at the start of any explanitory text, as it covers a number of abbreviations not in the list itself.

yes, that's right.

  1. UIA

User Information Automation is the further development of MSAA. There are interfaces between them.
Or did you mean with both of them?

no, MSAA and UIA are to diffrent thinks but NVDA works with both of them.

  1. iaccessible

iaccessible is an accessibillity interface for Windows systems developed by IBM. IA2 is an alternative to the MSAA successor UI Automation

Kind of leaves the question, why? grin

As I understand IA2 is more useful and provides more features than MSAA and UIA.

  1. Jaws, Window-eyes Comment, Maybe this and display chain driver etc, could be linked.

yes, may be if this Glossary gets bigger.

  1. Object

Are links objects as well. Sounds silly but I get the question all the time!

I think yes because you can jump on it using object navigation and interact with Links.

  1. Navigator, Navigator Object

Is this a recursive explanation? It seems not to really explain navigator to me, putting on my dense head here.

yes, needs to be done.

  1. alternate navigating with the windows keyboard mouse

This is a Windows facility.

Yes, but works great with nvda.

Does this not belong in the user manual?

Hmm, this needs to be considered by the developers as it is really a windows feature. Maybe the devs could note it in the user guide.

Changed 11 months ago by Bernd

compiled Glossary for NVDA

comment:6 Changed 11 months ago by briang1

Just a thought, in XP the update to UIA is an optional windows update, but recent experience has shown it to be buggy and slow, so the devs have elected to turn it off in XP even if its installed. Not looked at current manual, so might be in there.

As regards Windows 2000l, I understood it threw a lot of errors, but I cannot test it, as even my clunkers don't go back that for!

There was a recent query on one of the lists about the mouse and I and others mentioned mouse keys. I agree they work well. I notice that other screenreader makers have no qualms about mentioning windows keys where applicable, usually mentioning they are in fact part of Windows, but I often feel the average person does not care where they are defined, only what they do!
IE its only us who are pedantic about such things.
It might be worth re mentioning the reason why the copy and paste are only announced in the places they are.

comment:7 Changed 11 months ago by jteh

It'd be great if you could look through the current User Guide to determine whether this glossary is really necessary. Recently, I've tried to clarify a lot of these terms (and link to relevant sections when appropriate) in the actual text. For example, system focus, system caret, object, etc. are all explained at the top of their respective sections and are linked when referenced.

It's true that IAccessible2, etc. aren't explained, but these terms are isolated to one line:

•Support for common accessibility interfaces such as Microsoft Active Accessibility, Java Access Bridge, IAccessible2 and UI Automation

This is only relevant to the user in that if an application says it supports one of these, it will generally work. Beyond this, it is technical info and the user need not be concerned with it. Perhaps we could clarify it like this: "Support for common accessibility interfaces for making applications accessible"

comment:8 follow-up: ↓ 9 Changed 11 months ago by briang1

Well, what is really needed is someone relatively new to look and see. For a start there have been many changes and additions to the manual, and trying to figure out if we might be duplicating something already well explained is going to be time consuming and a bit like trying to catalogue something which is being changed real time.

However some things have raised queries in my mind, notably those associated with Java Access bridge versions and nvda support, and the need to reinstall if a java application is altered or updated.

The 64bit aspect of a lot of things is also hazy to me, if I turn my brain off so to speak. its hard to put oneself in the position of a new user.

Incidentally are you aware that someone on the freelists group has been using robobraille to make daisy versions of the manual? This sounds like a good idea as it is sometimes better to get info in audio than relying on the text.

comment:9 in reply to: ↑ 8 Changed 11 months ago by jteh

Replying to briang1:

However some things have raised queries in my mind, notably those associated with Java Access bridge versions and nvda support, and the need to reinstall if a java application is altered or updated.

This is not really relevant to NVDA's own documentation, but rather, it is specific to Java. The Java Access Bridge documentation is hopeless (and the new version doesn't even have an installer), so we might need to provide some supplemental documentation, but it doesn't belong within NVDA itself.

The 64bit aspect of a lot of things is also hazy to me

Generally, there should be no difference on a 64 bit system as far as the average user is concerned. Where there are problems, this is generally a bug.

comment:10 Changed 9 months ago by Bernd

@jcsteh: ok I think a few things could be removed from the glossary. What about noting the keyboard mouse feature of windows in the user guide? Maybe we could have a beginners documentation where such things are listed?

Note: See TracTickets for help on using tickets.