Mark, gang,<snip>Or, imagine we have a large list that is a few items larger than the screen. Does the child count of the large list only include the objects on the screen (that would be odd) ?So - this is basically a variant of the MANAGES_DESCENDANTS thing - if the list is staggeringly big, we need to have a different behaviour from if it is say 20 elements: if the latter, I'd advocate exposing them all, if the former even to expose them to a non-impaired person presents challenges.For a very large table list or document; something where many of the objects in the list may not be in memory, we need a way to navigate the list or document. One way (That sucks) would be to only create and expose the objects that are on-screen. So for a very large document the AT would have to twiddle the 'Value' interface on the scrollbar to read down the entire document. An off the cuff interface: Accessible object implements the "Table" interface it has the "manages-descendants" state. It also implements the imaginary interface "TableRange". The "TableRange" interface has the following method: Range registerClient () The Range interface has the following method: setRange (minRow, maxRow, minColumn, maxColumn) The setRange object would do as imagined, create and make accessible all the objects within a certain range. The purpose of the registerClient call is that there is one Range object per-client / AT. The advantages of this interface over reference counting in the infinite space is that there is no chance of creating a memory leak in the application via poor reference counting in the AT. There are far fewer IPC calls to constantly ref and unref objects in the server/application. Another approach here is to have some call(s) (e.g. Collections interface) that enables you to get a whole bunch of information based on some criteria all at once. Then, rather than saying "hey app., please bring everything in this manages-descendants thing into memory for me to play with", you're simply saying "hey app., please give me this collection of data now". I'm too far away from implementation to make a strong argument or cast a significant vote. But I did want to give some voice to the alternate approach that we'd explore for this issue... Peter |