locked Re: control names


Joseph and all
If I understand your message, you are saying that having a setting allowing the user to change the order from start button to button start, for example would be difficult.  Is that correct?  This would be a setting that changes tbehavior in general.  I’m not sure if I’m using the terminology correctly so I’ll say that, for example, some people might want to hear button start first.  I don’t know if people in general consider the ability to switch the behavior at all important. 
Regarding the discussion of when link is spoken in the message below mine, the behavior is different depending on movement.  When I tab to a link, the text of the link is spoken before the word link.  That applies to to the description “visited link.”  Also, when I move by k, the text is read before the word link or before visited link are spoken.  When I down arrow, link and visited link are spoken first.  Does this have a bearing on what we are discussing for those who want to specify the order in which these things are announced?

------Original Message-----
From: Rowen Cary
Sent: Sunday, January 30, 2022 4:38 AM
Subject: Re: [nvda] control names


I understand what you're saying, but when we use the up and down arrows to browse the web page, NVDA will report the word "link" first, and then report the text of the link, which is inefficient as some people say. If I remember correctly, there is also a discussion about this in NVDA's Issue, can you share your opinion? Why didn't NVAccess make some improvements to this?

Grateful On Sun, Jan 30, 2022 at 12:54 PM, Joseph Lee wrote:

Hi all,

Brian's reasons are very convincing. Now let me give you a more convincing reason:

Short answer: Don, I'm sorry, but your suggestion cannot become reality without "warping reality itself."

Explanation: internally, NVDA uses several functions to obtain control properties such as name (label), role, state, selection status, among other things. These functions pass around two things:

  • Object properties: a dictionary of property names and their current (or sometimes, cached) values. For example, one of the properties is "role", which records NVDA's understanding of the role of the object (as reported by accessibility API's).
  • Speech sequence: object properties are then sequenced to give you the speech you hear, typically in the following order: name, role, custom role text 9if defined by contrls and web documents), state, description, value, table coordinate information (if appropriate), and other properties. Speech sequences are stored as a list of strings and are added (concatenated) together to present control information in a variety of forms, including speech and braille.

As Brian observed, the words "start button" carries two control properties: label (Start) and role (button). In reality, the Start button includes other properties, but to NVDA, what's more important in this case are label and role. The process involved in NVDA saying "Start button" is:

  1. NVDA notices that you have moved system focus to a button named "Start".
  2. NVDA will create an internal representation of this control and ask accessibility API's for information such as label and role. NVDA gathers other things such as button location, but these are not important.
  3. NVDA will represent object properties in a format that can be understood by various output processors. This is when object properties dictionary is passed to speech, braille, and other output modules.
  4. The speech output processor will construct a speech sequence based on object properties given. The sequence will contain the terms "name: Start" and "role: button" (at a high-level, but it is represented differently internally). This sequence is then gathered and added together to produce the words "Start button".
  5. Similarly, braille output processor will format these properties for display on a braille display, except role names are shortened. As a result, braille users will see "Start btn" on their displays.

Now what will it take to "warp reality?" I'll leave that up to you (hint: it isn't easy not just because you need to test a lot, but also thanks to philosophical discussions). Until next time...

P.S. I feel that, lately, I've become some kind of a historian or something. If only I can travel back to the 1980's (Stranger Things, anyone?).



Join nvda@nvda.groups.io to automatically receive all group messages.