30

これが構造の場合:

<table cellspacing="0" cellpadding="0">
   <tr>
      <td>I don't need anything here, should I always put a &nbsp; here?</td>
      <td>item </td>
   </tr>
   <tr>
      <td>model</td>
      <td>one</td>
   </tr>
   <tr>
      <td>model</td>
      <td>two</td>
   </tr>
   <tr>
      <td>model</td>
      <td>three</td>
   </tr>
</table>

スクリーン リーダーは空白をどのように読み取るのtdでしょうか? 意味的に正しいですか?

4

4 に答える 4

16

意味的に正しい私見は、空のセルを本当に空のままにしておくことです。ただし、私も&nbsp;実用的な理由から、空のセルを s で埋めます。

スクリーン リーダーに関しては、経験に基づいた推測を行う必要があります。空のノードは読み取られない可能性があります。これは、HTML はほとんどが空白のテキスト ノードで構成されているためです。これは、リーダーが無視し、リーダー アプリケーション&nbsp;では単純なスペースに折りたたまれていると思います。 (ノンブレークは視覚メディアの特性であるため)。

視覚的にレンダリングするには、CSS テーブル プロパティを利用できますempty-cells

table {
    empty-cells: show;
}
于 2010-03-24T09:10:09.143 に答える
6

意味的には、HTML テーブルは実際には単なるデータの配列 (マトリックス) であり、改行なしのスペース文字をデータとして扱うことができない理由はありません。本当に意味があるかどうかは、テーブルの目的、構造、および内容によって異なります。ほとんどの場合、より良い解決策があります。HTML テーブルの空のセル のいくつかの提案を参照してください。

技術的な面では、改行なしスペースにはフォントに応じて幅と高さがあり、これによりセルの寸法に最小要件が課されます。これは問題になる可能性がありますが、ほとんどの場合、行または列が単なる区切りとして使用される場合 (たとえば、水平線または垂直線を作成する場合) です。

通常のスペースを使用したり、セルを完全に空のままにしたりするのとは対照的に、改行なしスペースを使用することのもう 1 つの影響は、セルの周囲の境界線の外観、およびセル内の背景色と背景画像に影響を与える可能性があることです。

スクリーン リーダーは、空のセルを示す方法が異なります。これは、読み取りモードにも依存する場合があります。いずれにせよ、ユーザーは実際に何が起こっているのか、つまり、空のセルが何を意味するのか (空であることをユーザーに伝えたとしても) を知ることはできません。視覚的なブラウジングでは、その意味は明らかかもしれません (そうでないかもしれません)。

于 2012-07-25T05:06:11.663 に答える
2

Dreamweaverのような編集者のおかげで、この方法はある程度標準的なものになりました。したがって、完全な解決策でなくても、少なくともあなただけでそれを行うことはできません。さらに、CSSよりも古いブラウザとの互換性がありempty-cellsます。

于 2010-03-24T09:37:22.457 に答える
0

空白の TD を使用してはいけないと正確に言うものはなく、検証しようとすると合格します。

ただし、よりエレガントなアプローチは colspan を使用することです。

すなわち

<tr>
   <td colspan="2">item </td>
</tr>

ただし、これによりコンテンツが左に配置され、コンテンツが必要な場所に配置されるように手動で (css を介して) スタイルを適用する必要があります。

colspans で使用することの良い点は、スクリーン リーダーが空のスペースではなく、そこにあるものだけを読み取ることです。

于 2010-03-24T09:26:38.953 に答える