On 5/12/2015 6:28 AM, Andres Gonzalez wrote:
In a separate but related note, I was wondering if we really need to
keep deriving from IAccessible2 and sub-interfaces. I know we did
interface inheritance from the beginning of IA2, but in my humble
opinion, that was a design mistake. COM is great for having small,
independent interfaces, and an object can choose and pick which
interface to implement. This could be the IA2_Selectable interface.
While I totally agree we should introduce new, non-derived interfaces
for related methods, I'm against having separate interfaces for single
methods. We could end up with heaps of little tiny interfaces all with
one method. Aside from being confusing, this means a lot of
QueryInterfacing, which means holding a lot of pointers around and a lot
of pointless cross-proc calls.
No need to revisit or belabor this point if you guys already have
decided on it, I was just curious about carrying out with this
interface inheritance and the IAccessibleX_Y naming that doesn’t tell
anything about what the interface does.
It's certainly true that IAccessibleX_Y doesn't tell you anything about
the interface. On the other hand, if we end up with a new interface
every time we add a new method, we could end up with interfaces like
IA2_method_name_here, which is surely just as bad. As an example, if you
look at the methods in IAccessible2_2, most of them are unrelated; some
deal with attributes, some deal with relations, etc. It's pretty
difficult to come up with interfaces for those that make any real sense
aside from their method names.
Jamie
--
James Teh
Executive Director, NV Access Limited
Ph +61 7 3149 3306
www.nvaccess.org
Facebook: http://www.facebook.com/NVAccess
Twitter: @NVAccess
SIP: [email protected]
_______________________________________________
Accessibility-ia2 mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2