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

Reply via email to