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
>
>
_______________________________________________
Accessibility-ia2 mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2

Reply via email to