Hello,
NVDA actually has both so called virtual document for reading documents within web browsers, Adobe Reader, Adobe Flash, Microsoft word and offscreen model based off of hooking display windows API functions for its flat review feature as an addition to the object navigation. So with NVDA+numpad7 and NVDA+numpad1 you can switch between object review, document review and screen review. Document review uses content from a virtual document, object review uses info from the accessibility API's such as MSAA, IA2, JAB or UIA depending on the windows version, underlying toolkit and the app in question and screen review gives flat review of the whole window as indexed by the hooking display functions. In some cases where there is no better way for making controls accessible NVDA uses this off screen model for providing limited access to otherwise inaccessible controls (putty main window is such an example). Of course not all of these features are available for every combination of windows version, toolkit in question such as Mozilla Gecko, MSHTML, Microsoft office, UIA, Adobe flash and similar.
In comparison orca has flat review which is constructing the content directly by using at-spi2 API's thus if we wanted to compare it to NVDA we might be able to tell it's a bit similar in its nature to the NVDA object navigation because it uses similar techniques for obtaining the content. However it's also different because it is presenting the gathered information in a different way. I believe you can better understand the difference now.
Now back to our topic on aria-label i.e. labelling controls vs document reading. I have found this NVDA bug report where James jamie Teh argues that overriding document contents with an aria label is a bad idea. https://github.com/nvaccess/nvda/issues/5567 It only makes sense in two cases: * When we are certain there is no chance to see an embedded
contents inside an element labelled this way such as in case of
images, real buttons, links. Thus NVDA is doing an exception here
storing the label instead of child text node content into its
virtual buffer. This won't work for lists, list items, tables,
table headers, rows and similar. There already are techniques
allowing web developers to hide content from the screen and
present it to screen reader users and also keeping the content on
the screen and hiding it to screen reader users. These techniques
are better suited for creating multiplatform accessible experience
on the web rather than overriding text with another text by using
aria-label and similar techniques. As I see it aria-label is most
suitable for objects where web author wishes to override
accessible name calculations of the browsers (such as custom
buttons, menu items, radio buttons, list items and similar) or
labeling otherwise inaccessible non text content. For images there
is an alt HTML property. * When users queries the object in question for a label or description (similar when sighted user is looking for a tooltip by hovering using the mouse). As an addition to orca's flat review we do have numpad enter with its double press equivalent. Note multiple presses of numpad keys allow spelling out these aria labels.
I can imagine a bonus feature in orca that might allow
restricting flat review to a particular object allowing browsing
its text by lines, words or letters, however I am wondering atthe
same time whether you would accept such a feature as a fix to this
situation. Would such a feature be worth the trouble if it is not
known people will like to use it? It would allow exploring
otherwise non browseable textual content similar to how mobile
screen readers such as talkback on android and voice over on IOS
are allowing. Additional question perhaps it would be nicer to
wait with this until touch support comes into at-spi, what do you
thing?
Greetings
Peter
Dňa 25.04.2018 o 02:27 Christopher
Chaltain napísal(a):
It's my understanding NVDA does not have an off screen model or a virtual buffer. |