Alex, That makes sense, but I'd like to hear comments from others on the list. -Pete
Alexander Surkov wrote: > Hi, Pete. > > 1) "return a copy" case. > AT should be able to change state of the cell because this is allowed > by IAccessibleTable interface (for example, select cells). If spec > deprecates something then spec should point what exactly it is > deprecated and the client behaviour if these rules are boken by AT. > But I don't think deprecation is good. So in the case of virtual cells > for virtual table header accessible we could create small accessible > tree: virtual table header -> virtual table row -> virtual table cells > that is not linked with main tree. If AT change states of virtual > table cells then it should affect on real table cells I think. > > 2) "return a real cell object" case. > We could think to override accessible properties of real cell object > to fit them into needs of virtual table header accessible (like > table-cell-index object attribute and IAccessible::get_parent). But > this may confuse. If AT doesn't use this table headers for some reason > then it will break table accessibility entirely. > > So, I would choose "virtual cell objects affecting on real cell > objects" approach. What do you think? > > Alex. > > > On Thu, May 14, 2009 at 11:12 PM, Pete Brunet <[email protected]> wrote: > >> Hi Alex, It is a little tricky isn't it. >> >> 1) I think it's OK to return either the same cell as is in the primary >> table, but a copy should be OK too. In the latter case, hopefully the AT >> wouldn't want to manipulate the accessible with any of the methods that >> cause a state change thinking the cell in the primary table would change. >> (Maybe I need to talk about this in the spec.) >> >> 2) I would think the AT would know it's dealing with a separate table, i.e. >> the table of headers, not the full table so I'd return the index in the >> table of headers, not the full table. >> >> Pete >> >> Alexander Surkov wrote: >> >> Hi, Pete. It's ok. Never mind. >> >> In this case primary table and header table can return the same cell >> accessible on IATable::accessibleAt (of couse on different row and >> column). Right? What should "table-cell-index" object attribute >> (exposed on cell accessible) return: index in primary or header table? >> >> Alex. >> >> >> On Thu, May 14, 2009 at 9:23 PM, Pete Brunet <[email protected]> wrote: >> >> >> Alex, Sorry for the delay - the new job is keeping me busy. >> >> It seems IATable is sufficient. There is IATable::accessibleAt which would >> allow access to the details of each cell. The implementation could in turn >> access the information from the primary table. >> >> Pete >> >> Alexander Surkov wrote: >> >> Pete, I'll try to formulate my question more precisely. You said >> "table would have to be generated dynamically (or kept separately and >> provided as needed)". Ok, what interfaces should implement this table >> object? I can see two choices: >> 1) IAccessibleTable only >> 2) IAccessibleTable + IAccessible/IAccessible2 >> >> Alex. >> >> >> On Thu, May 7, 2009 at 9:34 PM, Pete Brunet <[email protected]> wrote: >> >> >> Alex, >> >> I'm not following this question about accessible trees. Please provide more >> detail. >> >> Row/column headers are aren't children of the table, they are part of the >> table (usually the first row/col), but when the IA2 call is made to get the >> headers a table would have to be generated dynamically (or kept separately >> and provided as needed). >> >> I don't think you can implement row/column descriptions with HTML, but I >> assume you could with WAI-ARIA using a relation. >> >> Pete >> >> Alexander Surkov wrote: >> >> Hi, Pete. >> >> 1. "the table of row headers and the table of column headers would be >> kept as objects separate from the primary table". How may accessible >> tree look? Does it mean tables of row/column headers isn't a child of >> primary table accessible? If so how will row/column headers tables >> share children (rows and cells) with primary table? Otherwise >> row/column headers tables should implement IAccessibleTable interface >> only. How are such tables useful in this case? >> >> 2. Can you bring an example how column/row description can be >> specified? It would be great to get HTML or ARIA example. >> >> Alex. >> >> >> On Sat, Apr 25, 2009 at 12:27 PM, Pete Brunet <[email protected]> wrote: >> >> >> Alex, >> >> Neither IATable::modelChange nor object attributes are good for out of >> process AT. We could solve this for IA2 v2 by inventing a new event >> system. I'd leave the values until the next time the event is fired. >> >> My understanding is the table of row headers and the table of column headers >> would be kept as objects separate from the primary table. The text you have >> specified as "caption" would be returned in the text of the single cell of >> the returned table of column headers. There is no column description in >> this case. If there was one, it would be a separate text object describing >> the column. >> >> Pete >> >> Alexander Surkov wrote: >> >> Hi, Pete. >> >> What's the difference between IATable::modelChange and object >> attributes for out-process AT? If we'll start to expose object >> attributes then should set their values before we fire event but when >> we need to drop their values? >> >> If I have >> >> <table> >> <tr> >> <th>caption1</th> >> </tr> >> <tr> >> <td>cell1</td> >> </tr> >> </table> >> >> then the first tr element should implement IAccessibleTable, text of >> th element is COLUMN header description, the first tr element is ROW >> header. Or? >> >> Alex. >> >> >> On Sat, Apr 25, 2009 at 11:09 AM, Pete Brunet <[email protected]> wrote: >> >> >> Alexander, >> >> The table would fire the IA2_EVENT_TABLE_* events. >> >> I see there is a problem with the four row/column events, i.e. >> IA2_EVENT_TABLE_ROW/COLUMN_DESCRIPTION/HEADER_CHANGED, because you don't >> know which row/column changed. This is due to the fact that the concepts >> were taken from OpenOffice/Linux where the row/column is provided in an >> event object. At least for in-process AT we solved the problem for >> MODEL_CHANGED with IATable::modelChange. How about if we add some >> additional object attributes to the table such as >> row-description-changed-index, column-description-changed-index, >> row-header-changed-index, and column-header-changed-index? >> >> Row/column headers are a subset of cells in the table. For >> ROW/COLUMN_HEADER_CHANGED, IATable::row/columnHeader returns the entire set >> (a table) of row/column headers. >> >> Row/column descriptions are text objects (one per row/column) and they are >> separate from the table object. For ROW/COLUMN_DESCRIPTION_CHANGED, >> IATable::row/columnDescription is used. >> >> Pete >> >> Alexander Surkov wrote: >> >> Hi. >> >> 1. IA2 proposes couple of events started with IA2_EVENT_TABLE_ prefix >> (like IA2_EVENT_TABLE_CAPTION_CHANGED). I assume events target is >> table, i.e. accessible implementing IAccessible interface. Is it >> correct? >> >> 2. What's difference between row description and row header? IA2 >> suggests different events for this >> (IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED and >> IA2_EVENT_TABLE_ROW_HEADER_ >> CHANGED) and IAccessibleTable has different >> mehtods (rowDescription returning BSTR and rowHeader returning >> accessible). >> >> Thank you. >> Alex. >> _______________________________________________ >> Accessibility-ia2 mailing list >> [email protected] >> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2 >> >> >> >> >> -- >> Pete Brunet >> >> a11ysoft - Accessibility Architecture and Development >> (512) 238-6967 >> pete @ a11ysoft.com >> http://www.a11ysoft.com/about/ >> http://www.linkedin.com/in/petebrunet >> Ionosphere: WS4G >> >> _______________________________________________ >> Accessibility-ia2 mailing list >> [email protected] >> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2 >> >> >> >> >> >> >> -- >> Pete Brunet >> >> a11ysoft - Accessibility Architecture and Development >> (512) 238-6967 >> pete @ a11ysoft.com >> http://www.a11ysoft.com/about/ >> http://www.linkedin.com/in/petebrunet >> Ionosphere: WS4G >> >> _______________________________________________ >> Accessibility-ia2 mailing list >> [email protected] >> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2 >> >> >> >> >> >> >> -- >> Pete Brunet >> >> a11ysoft - Accessibility Architecture and Development >> (512) 238-6967 >> pete @ a11ysoft.com >> http://www.a11ysoft.com/about/ >> http://www.linkedin.com/in/petebrunet >> Ionosphere: WS4G >> >> _______________________________________________ >> Accessibility-ia2 mailing list >> [email protected] >> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2 >> >> >> >> >> >> >> -- >> Pete Brunet >> >> a11ysoft - Accessibility Architecture and Development >> (512) 238-6967 >> pete @ a11ysoft.com >> http://www.a11ysoft.com/about/ >> http://www.linkedin.com/in/petebrunet >> Ionosphere: WS4G >> >> _______________________________________________ >> Accessibility-ia2 mailing list >> [email protected] >> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2 >> >> >> >> >> >> >> -- >> Pete Brunet >> >> a11ysoft - Accessibility Architecture and Development >> (512) 238-6967 >> pete @ a11ysoft.com >> http://www.a11ysoft.com/about/ >> http://www.linkedin.com/in/petebrunet >> Ionosphere: WS4G >> >> _______________________________________________ >> Accessibility-ia2 mailing list >> [email protected] >> https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2 >> >> >> > > > -- *Pete Brunet* a11ysoft - Accessibility Architecture and Development (512) 238-6967 pete @ a11ysoft.com http://www.a11ysoft.com/about/ http://www.linkedin.com/in/petebrunet Ionosphere: WS4G
_______________________________________________ Accessibility-ia2 mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2
