Tables in the Derby documentation have some accessibility problems that don't seem easy to fix.
Accessible tables require a summary attribute. Currently the tables in the frames HTML docs have empty summary attributes:
DITA, even in its more recent versions, does not have an attribute to specify a table summary. Providing a meaningful summary for each table would require some complicated processing, maybe of a comment in the topic source.
Also, accessibility requires that table headers and table cells be linked by an id value. Table headers specify an id for each column:
<th valign="top" width="50%" id="N100A8">Before Transformation</th>
<th valign="top" width="50%" id="N100AF">After Transformation</th>
Table cells then reference this id in their headers attribute – except that in formal tables, our DITA toolkit puts an extra space in the id that makes it invalid:
<td valign="top" width="50%" headers="N100A8 "><strong><samp class="codeph">c1 < ANY (SELECT ...)</samp></strong></td>
<td valign="top" width="50%" headers="N100AF "><strong><samp class="codeph">c1 < (SELECT ...)</samp></strong></td>
The simpletable and choicetable elements are generated correctly, but formal tables aren't. I have not been able to figure out what's wrong with the formal table generation.