OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office-accessibility message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Fw: ODF Subtable report


ODF Subtable report from Hiro, Chieko, and Pete.


Rich Schwerdtfeger
Distinguished Engineer, SWG Accessibility Architect/Strategist
Chair, IBM Accessibility Architecture Review Board
blog: http://www.ibm.com/developerworks/blogs/page/schwer
----- Forwarded by Richard Schwerdtfeger/Austin/IBM on 08/31/2006 10:41 AM -----

          Pete Brunet/Austin/IBM

          08/31/2006 07:05 AM


To

Hironobu Takagi/Japan/IBM@IBMJP, Richard Schwerdtfeger/Austin/IBM@IBMUS

cc

Chieko Asakawa/Japan/IBM@IBMJP

Subject

Re: ODF Subtable reportRichard Schwerdtfeger
Hiro, I have added the section you requested.

Rich, Please send this to the list.

Pete Brunet

IBM Accessibility Architecture and Development
11501 Burnet Road, MS 9022E004, Austin, TX 78758
Voice: (512) 838-4594, TL 678-4594, Fax: (512) 838-9666
Ionosphere: WS4G

Inactive hide details for Hironobu Takagi/Japan/IBM@IBMJPHironobu Takagi/Japan/IBM@IBMJP


          Hironobu Takagi/Japan/IBM@IBMJP

          08/30/2006 08:52 AM


To

Pete Brunet/Austin/IBM@IBMUS

cc

Richard Schwerdtfeger/Austin/IBM@IBMUS, Chieko Asakawa/Japan/IBM@IBMJP

Subject

ODF Subtable report
Pete,

I drafted the report about the subtable issue.
Could you review it and add description about the address issue to the Detailed Description section?

Thank you.

Best Regards,
Hiro

--------
Topic: Accessibility issues of "subtable" attribute in tables

Corresponding Section in Spec:

8.2.6 Subtables (p190) in ODF 1.0 edition 2
8.2.6 Subtables (p189) in ODF 1.1 draft cd2

Overview:
"is-subtable" is an attribute to visually merge nested tables into one table.
This function generates a gap between visual appearance and XML structure, and it impacts on accessibility from two aspects.
- It makes non-visual table navigation difficult.
- It makes table addresses confusing.

Recommendation:
- Classify the "is-subtable" attribute as a deprecated attribute.
- Describe the issue and non-recommendation (future deprecation) in the accessibility guidelines for ODF1.1

Timeline for changing ODF spec:
ODF 1.2

Detailed Description:

Before explaining subtable issue, let me explain the issue by using HTML examples.

Table 1 in sample.htm shows an example of accessible table without nested table (in HTML).
If the current cursor positions at the "NBA Nation" cell in the Table 1, a user can easily jump to the appropriate time slot cell (8:30pm) by using row header jump/read key.

Table 1: Example of a table without any nested table
---------------------
<h1>Table 1. Example of table with "span"</h1>
<table border="1">
<tr>
<td></td>
<th>CBS</th>
<th>ABC</th>
</tr>
<tr>
<th>8:00pm</th>
<td rowspan="2">Gameshow Marathon</td>
<td>America's Funniest...</td>
</tr>
<tr>
<th>8:30pm</th>
<td>NBA Nation</td>
</tr>
</table>
---------------------

However, in the case of Table 2 (in sample.htm), it is not possible to jump from the "NBA Nation" cell to the "8:30pm" cell by using table header jump command.
There is no semantical relationship among between these two cells.

Table 2: Example of a table with nested tables
---------------------
<h1>Table 2. Example of table with "nested table"</h1>
<table border="1">
<tr>
<td></td>
<th>CBS</th>
<th>ABC</th>
</tr>
<tr>
<td rowspan="2">
<table border="1">
<tr>
<th>8:00pm</th>
</tr>
<tr>
<th>8:30pm</th>
</tr>
</table>
</td>
<td rowspan="2">Gameshow Marathon</td>
<td rowspan="2">
<table border="1">
<tr>
<td>America's Funniest...</td>
</tr>
<tr>
<td>NBA Nation</td>
</tr>
</table>
</td>
</tr>
</table>
---------------------

ODF also has both the span method and the nested-table method as described in the Section 8.2.6 (p191) in ODF1.0 spec.
The issue is current ODF editors automatically generate nested tables when a user merge/split a table cell in word processor documents.

I will attach both examples in sample.odt.

They look just the same. I can say there is a gap between the tag structure and the visual structure.

The "sample.odt" was manually created, since current editors do not have function to create tables without subtable (accessible).
Please do not modify and overwrite this file by using editors. Editors will automatically convert Example 1(without sub-table) into Example 2 (with sub-table).

Example 1: Example of a table without sub-table (accessible)
-------------------------
<table:table table:name="Example1" table:print="false">
<table:table-column table:number-columns-repeated="3"/>
<table:table-row >
<table:table-cell />
<table:table-cell office:value-type="string">
<text:p>CBS</text:p>
</table:table-cell>
<table:table-cell office:value-type="string">
<text:p>ABC</text:p>
</table:table-cell>
</table:table-row>
<table:table-row >
<table:table-cell office:value-type="string">
<text:p>8:00pm</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" table:number-columns-spanned="1" table:number-rows-spanned="2">
<text:p>Gameshow Marathon</text:p>
</table:table-cell>
<table:table-cell office:value-type="string">
<text:p>America&apos;s Funniest... </text:p>
</table:table-cell>
</table:table-row>
<table:table-row >
<table:table-cell office:value-type="string">
<text:p>8:30pm</text:p>
</table:table-cell>
<table:covered-table-cell />
<table:table-cell office:value-type="string">
<text:p>NBA Nation</text:p>
</table:table-cell>
</table:table-row>
</table:table>
-------------------------


Example 2: Example of a table with sub-table (inaccessible)
-------------------------
<table:table table:name="Example2" >
<table:table-column table:number-columns-repeated="3"/>
<table:table-row>
<table:table-cell office:value-type="string">
<text:p/>
</table:table-cell>
<table:table-cell office:value-type="string">
<text:p>CBS</text:p>
</table:table-cell>
<table:table-cell office:value-type="string">
<text:p>ABC</text:p>
</table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell>
<table:table table:is-sub-table="true">
<table:table-column />
<table:table-row>
<table:table-cell office:value-type="string">
<text:p>8:00pm</text:p>
</table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell office:value-type="string">
<text:p>8:30pm</text:p>
</table:table-cell>
</table:table-row>
</table:table>
</table:table-cell>
<table:table-cell office:value-type="string">
<text:p>Gameshow Marathon</text:p>
</table:table-cell>
<table:table-cell>
<table:table table:is-sub-table="true">
<table:table-column />
<table:table-row>
<table:table-cell office:value-type="string">
<text:p>America&apos;s Funniest... </text:p>
</table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell office:value-type="string">
<text:p>NBA Nation </text:p>
</table:table-cell>
</table:table-row>
</table:table>
</table:table-cell>
</table:table-row>
</table:table>

Besides the navigation issue just described, there is the issue of with cell addressing. This is caused by the use of sub-tables as the means to implement split or merge. The ODF spec requires special cell addressing when sub-tables are used. This is to provide semantics so the user will recognize they are in a sub-table. However, in the case of using sub-tables to implement split or merge, there is no sub-table that the author is aware of so unintended semantics are conveyed to the user.

Here is a simple example of the problem that results when using sub-tables to implement split/merge. Note that there is a B2 under a C1
A1
B1
C1
A2B2.1.1B2.2.1
B2.1.2

This what it would look like if spanning was used. Notice that C2 is below C1.
A1
B1
C1
A2B2C2
B3

Here is a more complicated example. This table was a 2x4; a merge and two splits was done under B1 and C1. Note that this results in C2 below D1.
D1
C2 - but it should be D2

Other more complicated and very confusing examples can be created.

---------------------
Hironobu Takagi, PhD.
User Experience and Accessibility Technology
Tokyo Research Laboratory
+81-46-215-4557
E-mail: takagih@jp.ibm.com

(See attached file: sample.htm)(See attached file: sample.odt)


GIF image

Title: nested table example

Table 1. Example of a table with "span"

CBS ABC
8:00pm Gameshow Marathon America's Funniest...
8:30pm NBA Nation

Table 2. Example of a table with "nested table"

CBS ABC
8:00pm
8:30pm
Gameshow Marathon
America's Funniest...
NBA Nation

sample.odt



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]