Border Darstellungsfehler bei Tabellen

Haben Zellen von Tabellen (td) border, kann es bei einigen älteren Browsern so aussehen:

Das liegt am border-collapse: collapse;
Ändert man jedoch den auf separate, sieht die Tabelle in diesen Browsern so aus:

Der Abstand zwischen den Zellen kommt vom border-spacing. Hier mit dem default Wert 1px.
Ändert man den auf 0, sieht die Tabelle in den älteren Browsern so aus:

Hier ein Workaround wie die Border in allen Browsern richtig dargestellt werden:

table {
  border-collapse: separate;
  border: solid 1px #000;
  border-width: 0 1px 1px 0;
  border-spacing: 0;
}

th, td {
  border: solid 1px #000;
  border-width: 1px 0 0 1px;
}