<table>
現在、意味的に正しいHTMLを使用して表形式のデータを表示しています。データを表示するときに、データの表示を変更して表形式の外観を少なくする方法があるかどうか疑問に思っています。
私のマークアップは現在次のようになっています。
<table>
<thead>
<tr>
<th scope='col'>Vehicle</th>
<th scope='col'>License plate</th>
<th scope='col'>Location</th>
<th scope='col'>Deployment date</th>
<th scope='col'>Date of last inspection</th>
<th scope='col'>Last inspection at</th>
</tr>
</thead>
<tbody>
<tr itemscope>
<th scope='row' itemprop='primary_key_id'> ... </th>
<td itemprop='license_plate'> ... </td>
<td itemprop='location'> ... </td>
<td itemprop='deployment_date'><time> ... </time></td>
<td itemprop='last_inspection_date'><time> ... </time></td>
<td itemprop='last_inspection_odometer'> ... </td>
</tr>
</tbody>
</table>
もちろん、テーブルには複数の車両がありますが、それが現在のデータの表示方法とほぼ同じです。追加の列もあります。私の例では、これらの6つだけを使用します。
リストビューをもっとやりたいと思っていますが、これは表形式のデータであるため<ul>
、display: table-*
ここで使用するかどうかは意味的に正しいかどうかはわかりません。<span itemprop='...'>
ブロックレベルの要素と一緒にセルに入れて<td>
、コンテンツを希望どおりに配置することもできますが、これが正しいかどうかもわかりません。
プレゼンテーションに関しては、これが私が達成しようとしていることです。
<table>
<tbody>
<tr itemscope>
<th scope='row'>
<b itemprop='primary_key_id'> ... </b>
<div itemprop='license_plate'> ... </div>
</th>
<td>
<p>Located at: <span itemprop='location'> ... </span>
<p>Deployed at: <time itemprop='deployment_date'> ... </time>
</td>
<td>
Last inspected on <time itemprop='last_inspection_date'> ... </time>
at <span itemprop='last_inspection_odometer'> ... </span>
</td>
</tr>
</tbody>
</table>
しかし、この場合、テーブルマークアップを使用して、情報を3つの列にスタイル設定しているだけではないでしょうか。私がこれをした場合、それは違いを生むでしょうか?
<ul>
<li itemscope>
<div class='column'>
<b itemprop='primary_key_id'> ... </b>
<div itemprop='license_plate'> ... </div>
</div>
<div class='column'>
<p>Located at: <span itemprop='location'> ... </span>
<p>Deployed at: <time itemprop='deployment_date'> ... </time>
</div>
<div class='column'>
Last inspected on <time itemprop='last_inspection_date'> ... </time>
at <span itemprop='last_inspection_odometer'> ... </span>
</div>
</li>
</ul>
データをマークアップしてスタイルを設定するための最良の方法は何ですか?