[Accessibility-ia2] IA2 and ATK

Alexander Surkov surkov.alexander at gmail.com
Tue Oct 20 21:18:12 PDT 2009


Hi, Pete. James said almost everything I could say. Few notions.

> Why were IATable2 and IATableCell requested and why wasn't IATable a
> suitable solution?

Technically everything coming from IATable2 and IATableCell is syntax
sugar excepting IATableCell's row and column header cells getting.
Because the way IATableCell expose heading information is more
complete and graphic than IATable does. IATable allows either to not
expose trick table information :) or expose it in very trick manner by
virtual table usage like Jamie noticed. It would be implementation
pain and the first option might be chosen by server I guess :). I can
provide couple of examples if it's needed.

> Does ATK need similar changes?

ATK based AT might find useful and nice all this sugar additions.
IATableCell provides direct access to table accessible like Jamie said
and it provides an access to couple of table cell properties (like
row/column extent) which should be more comfortable than existing
approach in IATable.

> Are there areas that need improvement in either IA2 or ATK (or both)?

I didn't catch Jamie about hyperlink and action, partially I didn't
understand why hyperlink can have only one action if it's inherited
from hyperlink. I think I felt out of context. Jamie, please give
additional details.

I agree with Jamie on second item (relations issue). It's both IA2 and
ATK problem.

Additionally I would like to say about third problem which also
concerns to IA2 and ATK both. It should be nice to have a new method
to deal with object attributes and text attributes, i.e a method to
get attribute value by its name. It should help both client and server
sides to deal with attributes (it's not needed to calculate attributes
all together and then parse them from string) and improve performance
as well. If AT wants to get attributes all together but they don't
want to parse a string then we could introduce attributes collection
object like we have for relations in IA2.

I think we should start separate topics for every mentioned improvement request.

> What has changed in IA2 between the initial release of IA2 and now that should be considered for incorporation back into ATK?

I'll join here to Jamie. AFAIK table related changes is the first time
when we change IA2 interface. That was the first time when we updated
IA2 interfaces in Firefox after IA2 interfaces initial release iirc.

Thank you.
Alex.


On Wed, Oct 21, 2009 at 5:29 AM, James Teh <jamie at jantrid.net> wrote:
> Hi Pete,
>
> I can answer some of these to at least some extent.
>
> On 21/10/2009 2:16 AM, Pete Brunet wrote:
>> 1) Why were IATable2 and IATableCell requested and why wasn't IATable a
>> suitable solution?
> * IATable provided a somewhat obscure mechanism for retrieving table
> headers, returning an IATable object for the headers. If multiple column
> headers were to be returned, this would probably require a "virtual"
> table to be created by the app. It was felt that a simpler, more direct
> way was needed to retrieve row and column headers.
> * Many IATable methods took a table cell index as a parameter. It was
> felt that it would be much easier to just pass in the object for the
> required cell, since most of the time, a client already has the cell
> object anyway when querying for further information.
> * IATableCell provides a simple, direct way to retrieve the table from
> its cells. Previously, a client had to crawl up the object hierarchy to
> find the table, which is somewhat obscure and tedious at best.
>
>> Does ATK need similar changes?
> If ATK's table interface is virtually equivalent to IATable, then yes, I
> would argue that it does. NNote that I'm not familiar with ATK's table
> interface, so this one's for Alex. :)
>
>> 2) When IA2 started a goal was to make it as close as possible to ATK so
>> when IA2 was released it was as close to ATK as could be accomplished.
>> What has changed in IA2 between the initial release of IA2 and now that
>> should be considered for incorporation back into ATK?
> I don't think any new interfaces have been added to IA2 since its
> initial release, so it follows that no new methods have been added. For
> the most part, it has been documentation clarifications.
>
>> 3) Are there areas that need improvement in either IA2 or ATK (or both)?
> I can't speak for ATK, but for IA2:
> * IAHyperlink: A discussion was started regarding the derivation of
> IAHyperlink from IAAction. In short, I feel that this derivation infers
> that a hyperlink can only have one action. However, we never came to a
> conclusion on what should be done there.
> * Relations: I think the current mechanism for relations is rather
> suboptimal at best. A client cannot retrieve a relation by its type,
> which is I think the most common request. For example, a client can't
> ask specifically for the "controlledBy" relation. Instead, the client
> must request all relations in one shot or crawl through the individual
> relations until it finds the one it requires. This is also inefficient
> on the server side, because the server then has to create relation
> objects which will probably never even be used. For this reason, NVDA
> never uses the current IA2 relation mechanism and instead uses Gecko's
> special relation constants for IAccessible::accNavigate.
>
> Jamie
>
> --
> James Teh
> Email/MSN Messenger/Jabber: jamie at jantrid.net
> Web site: http://www.jantrid.net/
> _______________________________________________
> Accessibility-ia2 mailing list
> Accessibility-ia2 at lists.linuxfoundation.org
> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2
>


More information about the Accessibility-ia2 mailing list