1
edit
(typo on gridcell role) |
|||
| (7 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
=Note= | |||
Proposals of this page are obsolete by new IA2 interfaces IAccessibleTable2 and IAccessibleTableCell. | |||
=Summary= | =Summary= | ||
| Line 144: | Line 148: | ||
<span role="gridcell"></span> | <span role="gridcell"></span> | ||
<span role="columnheader">John</span> | <span role="columnheader">John</span> | ||
<span | <span role="columnheader">Ivan</span> | ||
</div> | </div> | ||
<div role="row"> | <div role="row"> | ||
<span role="rowheader">Apples</span> | <span role="rowheader">Apples</span> | ||
<span role="gridcell">10</span> | <span role="gridcell">10</span> | ||
<span | <span role="gridcell">12</span> | ||
</div> | </div> | ||
<div role="row"> | <div role="row"> | ||
| Line 648: | Line 652: | ||
</pre> | </pre> | ||
Once you acquired [http://a11y.org/a11yspecs/ia2/docs/html/interface_i_accessible_relation.html IAccessibleRelation] object for the interested accessible you can use [http://a11y.org/a11yspecs/ia2/docs/html/interface_i_accessible_relation.html#ceeb5c0c90f8d4a7f167556bec4df682 targets] method to get all accessible targets. | Once you acquired [http://a11y.org/a11yspecs/ia2/docs/html/interface_i_accessible_relation.html IAccessibleRelation] object for the interested accessible relation you can use [http://a11y.org/a11yspecs/ia2/docs/html/interface_i_accessible_relation.html#ceeb5c0c90f8d4a7f167556bec4df682 targets] method to get all accessible targets. | ||
<pre> | <pre> | ||
| Line 744: | Line 748: | ||
Ideally client should provide simple column header table for example 7 because bottom column headers duplicates the top column headers. However column header generated by tfoot element can't be ignored always, example 8 clearly shows this. This tfoot should be result of single-cell row header table. It's not clear how to expose this heading information to AT via header tables like we have in example 6 because "Month" isn't header cell for "Total" row header cell. | Ideally client should provide simple column header table for example 7 because bottom column headers duplicates the top column headers. However column header generated by tfoot element can't be ignored always, example 8 clearly shows this. This tfoot should be result of single-cell row header table. It's not clear how to expose this heading information to AT via header tables like we have in example 6 because "Month" isn't header cell for "Total" row header cell. | ||
=====[[#Example_9|Example 9]]===== | |||
This example is much similar to example 6. It's hard to expose it via table header approach. | |||
===Virtual tree=== | ===Virtual tree=== | ||
| Line 761: | Line 769: | ||
=Relations approach= | =Relations approach= | ||
At the first sight relations approach is more flexible because it should address trick cases of heading usage, especially for the case of HTML tables where @headers attribute is used. | At the first sight relations approach is more flexible because it should address trick cases of heading usage, especially for the case of HTML tables where @headers attribute is used. Since aria-describedby can be used on data cell to point to non heading information then AT should ignore non header cell accessibles during heading information processing. Also there is one relations approach feature consisted in order of relation targets corresponds to DOM hierarchy, i.e. if heading information doesn't correspond to table cells DOM hierarchy then AT will announce heading wrong. | ||
[[#Example_1|Example 1]]-[[#Example_5|Example 5]] provides expected relation targets. For example, data cell at (row=2, column=2) of [[#Example_4|example 4]] is described by "Vegetable", "Potato" and by "Animals", "Lion". | |||
Another examples are handled in predictable way as well. For example, data cell at (row=6, column=1) of [[#Example_9|example 9]] (cell data is "96.25") is described by "Seattle", "Trip" and "Meals" header cells. | |||
edit