Using Docutils version 0.12, Python 3.4.3+ on Ubuntu 15.10.
The document
.. [thisisaverylongcitation] short text
.. [shortcitation] this is a citation with very long text
produces an HTML document with the relevant citations rendered like this
<table class="docutils citation" frame="void" id="thisisaverylongcitation" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label">[thisisaverylongcitation]</td><td>short text</td></tr>
</tbody>
</table>
<table class="docutils citation" frame="void" id="shortcitation" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label">[shortcitation]</td><td>this is a citation with very long text</td></tr>
</tbody>
</table>
when run through rst2html. The output includes a new table with a single row for each citation, but I expected a single table with one row per citation. This is bad not only because it is semantically incorrect, but also because it creates a poor visual display (particularly in the example I give here, where the citation names are of varying length).
The output I expected is something like
<table class="docutils citation" frame="void" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr id="thisisaverylongcitation"><td class="label">[thisisaverylongcitation]</td><td>short text</td></tr>
<tr id="shortcitation"><td class="label">[shortcitation]</td><td>this is a citation with very long text</td></tr>
</tbody>
</table>
This is a feature of the html4css1 writer. It produces "presentational" HTML which contains partially hardcoded layout partially CSS styling. This is due to the limitations of popular browsers when this writer was created.
You may try the alternative "html5" writer in the development version of docutils (cf. http://docutils.sourceforge.net/docs/user/html.html)
Okay, in Docutils version 0.13, the html5 writer produces a definition list instead of tables, which is sensible enough for me. You can close this issue.