Я здесь не для того, чтобы спорить о старом или новом способе или о том, что лучше. Просто говорю ...
Насколько я знаю, атрибут border элемента таблицы по-прежнему является стандартным в HTML5 и не был "отменен". (См .: http://www.w3schools.com/html5/tag_table.asp и http://www.w3.org/TR/html5/tabular-data.html#attr-table-border)
Хотя, возможно, я сильно сомневаюсь, что это проблема DOCTYPE. Я попробовал ваш пример кода (я добавил конечный тег к вашему открытому div), и границы в разных браузерах, в том числе в Chrome, выглядели очень хорошо.
Я думаю, что у вас, вероятно, есть какой-то глобальный CSS или что-то еще в вашем коде, который вы используете и специально не упоминали здесь.
Чтобы уточнить, я использовал этот точный код со строгим DTD и все:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>test</title>
</head>
<body>
<div id="a">
<table id="main_table" border="1">
<tr>
<th>Jobs</th>
<th>Customers</th>
</tr>
</table>
</div>
</body>
</html>
Границы отображаются в FF, IE8 и Chrome.
HTML5 поддерживает 1 или пустую строку для этого атрибута.