toggle quoted messageShow quoted text
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
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:
Brian's reasons are very convincing. Now let me give you a more convincing
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
- 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:
- NVDA notices that you have moved system focus to a button named "Start".
- 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.
- 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.
- 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".
- 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,