← Prev in month ← Prev in thread
Next in thread → Next in month →

Fw: ODF Subtable report

From
Richard Schwerdtfeger <>
Date
2006-08-31T16:00:41+00:00
ID
Thread
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 report

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

Hironobu 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: 

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

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
← Prev in month ← Prev in thread
Next in thread → Next in month →