Вы говорите: «Посмотрите, как это работает во всех браузерах», но на самом деле это не так. На самом деле в некоторых браузерах происходит то, что они работают, чтобы заставить это работать.
Сделайте что-то вроде этого:
<table onclick="location.href='/'" style="cursor: hand;">
<tr><td>Test</td></tr>
</table>
Также взломать, но более правильный.
UPDATE
Если у вас есть какие-то соображения по поводу сканеров, есть два возможных подхода. Одним из них является добавление ссылки после, что-то вроде:
<table onclick="location.href='/'" style="cursor: hand;">
<tr><td>Test</td></tr>
</table>
<a href="/" style="display:none;">Test</a>
Вы также можете использовать тег <link>
в <head>
документа, например:
<link href="/" rel="section" />
Или какая-либо ссылка rel
тип имеет смысл.
Кроме того, HTML, структурированный так, как у вас в вопросе, является недопустимым в соответствии со спецификацией. С точки зрения того, что работает надежно и в будущем, ваш код не подходит. Код, написанный в направлении стандартов, будет работать более надежно.
ДРУГОЕ ОБНОВЛЕНИЕ
Учитывая ваш комментарий, вот как я бы структурировал это, предполагая разметку, подобную этой:
<table class="dataTable">
<tr>
<td><img></td>
<td>Description</td>
<td><a href="/" class="details">Details</a></td>
</tr>
</table>
Ваша ссылка на данные представляет собой ссылку, которую вы используете, поэтому я бы добавил этот фрагмент JavaScript (использует jQuery, но его можно переписать для любых библиотек, которые вы используете в данный момент:
<script>
jQuery(function($){
$('table.dataTable').delegate('td', 'click', function(){
$(this).find('a.details').trigger('click');
});
});
</script>