Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IAccessibles are needlessly being created for some cases of IAccessible NVDA object next/previous/firstChild/children properties #16

Closed
nvaccessAuto opened this issue Jan 1, 2010 · 2 comments
Labels
Milestone

Comments

@nvaccessAuto
Copy link

Reported by mdcurran on 2007-11-21 03:21
MSAA accNavigate returns either an IAccessible pointer, or a childID. NVDA's IAccessibleHandler wraps these functions but makes them return (IAccessiblePointer,childID) each time,r ather than just one or the other. The issue with this is that when an IAccessible NVDA object calls accNavigate to go next/previous/firstChild, it receives back both IAccessiblePointer and childID, and then uses complex and sometimes time consuming logic to work out whether or not this is a good move, as in are we in a window, are we jumping to another one etc. Its also posible that a long the line another IAccessiblePointer is being created for the final NVDA object when it may not have to be. If accNavigate just returned either the childID or IAccessiblePointer, but not both, NVDA objects could suppress the complex logic if only the child ID changed, as the old IAccessiblePointer clearly can be used. This also goes for MSAA AccessibleChildren, in that NVDA wraps this function so it returns a list of IAccessiblePointer,childID pares, really it should return just a list of either IAccessiblePointers, or childIDs, but not pares of both. This change should also apply to the IAccessible accFocus property.

@nvaccessAuto
Copy link
Author

Comment 1 by mdcurran on 2007-11-23 00:36
Fixed in r1365. Rather than changing accNavigate/accFocus/accessibleChildren, in the IAccessible NVDA object properties, we now compare the IAccessible pointer we receive from these functions, against the IAccessible pointer of the NVDA object. If they are the same then we know that we can provide cached values, such as windowHandle etc to the new NVDA object.
Changes:
State: closed

@nvaccessAuto
Copy link
Author

Comment 2 by weddingdress on 2010-01-29 16:27
prom dresses prom dresses prom dresses prom gowns prom dresses and wedding dress wedding dresses bridal gown discount wedding dresses quinceanera dress quinceanera dresses sweet dress quinceanera dress quinceanera gowns and prom dresses,prom dresses
wedding gown dress wedding dress designer wedding dresses for wedding pary maternity wedding dresses,bridesmaid dress bridesmaid dress wedding wedding dresses dress prom gowns dresses gowns prom gowns dresses and oil paintings oil painting oil painting oil paintings oil paintings

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant