Hi all, Currently, IAccessible2 inherits from IAccessible. However, this has been slated for removal in a future version, as noted in the spec: > Although the IAccessible2 IDL is currently coded such that IAccessible2 is a > subclass of MSAA's IAccessible, none of MSAA's IAccessible methods are > overridden or extended. In order to allow future removal of the inheritance, > Assistive Technologies (ATs) should not rely on that inheritance. Pete has also mentioned this several times on the list and during calls.
Unfortunately, NVDA does currently rely on this inheritance. (Perhaps our implementation predated this advice or perhaps we just missed it; I'm not sure.) While we've been aware of this in the past, This has never been a problem, as all current production implementations simply extend their existing IAccessible objects by adding an IAccessible2 interface. However, the new IAccessible2 implementation now in Eclipse 3.6 prereleases does not do this, instead providing a completely separate object for IAccessible2. IAccessible methods return E_NOTIMPL. My question is: why is it considered an error that IAccessible2 inherits from IAccessible? In many ways, this inheritance actually makes sense to me; IAccessible2 provides additional functionality which supplements IAccessible. You can't have IAccessible without IAccessible2. So why kill the inheritance? Is there any disadvantage to maintaining the inheritance of IAccessible? We can certainly fix NVDA if necessary, but no production implementation currently requires this, so I'm wondering whether this aspect of the spec needs to change. Thanks. Jamie -- James Teh Vice President NV Access Inc, ABN 61773362390 Email: ja...@nvaccess.org Web site: http://www.nvaccess.org/ _______________________________________________ Accessibility-ia2 mailing list Accessibility-ia2@lists.linuxfoundation.org https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2