放一个&nbsp;是不是很好 在一个空的<td>里面?

Jit*_*yas 24 html w3c semantic-markup

如果这是结构:

<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>
Run Code Online (Sandbox Code Playgroud)

屏幕阅读器如何读取空白td?它在语义上是否正确?

Bol*_*wyn 12

语义正确恕我直言,是保持一个空单元格真的是空的.然而,&nbsp;出于实际原因,我也用s 填充空单元格.

至于屏幕阅读器,我不得不做出一个猜测:空节点可能不会被读取,因为HTML包括主要的空白文本节点,读者忽略,而我认为,这&nbsp;是折叠在一个简单的空间阅读器应用程序(因为不破坏是视觉媒体的属性).

为了直观呈现,可以依赖CSS表属性empty-cells:

table {
    empty-cells: show;
}
Run Code Online (Sandbox Code Playgroud)

  • 这是真的,原因是,为什么我仍然使用``s,不幸的是. (4认同)
  • 我认为IE中不支持此属性 (2认同)
  • 根据[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/empty-cells),"empty-cells"属性在IE 8中得到支持. (2认同)
  • 啊,你看,年轻的padawan,回到2010年的那些日子,IE 7仍然是一件事;-)但是,是的,现在`空单元'是不管怎么说. (2认同)
  • 三年后,显然还有 5 亿人仍在使用 OE,即 IE7,因此电子邮件通常仍必须遵守 IE7。 (2认同)

Juk*_*ela 5

从语义上讲,HTML表实际上只是数据的数组(矩阵),并且没有理由不将不间断空格字符视为数据.它是否真正有意义取决于表的目的,结构和内容.在大多数情况下,有一个更好的解决方案.请参阅HTML表格中的空单元格中的一些建议.

在技​​术方面,不间断空间具有宽度和高度,这取决于字体,并且这对单元的尺寸施加了最低要求.这可能很重要,但主要是在行或列仅用作分隔符的情况下,例如创建水平或垂直线.

使用不间断空间的另一个影响,与使用正常空间或使单元格完全为空相反,是它可能影响单元格周围边框的外观以及单元格内的背景颜色和背景图像.

屏幕阅读器在指示空单元格的方式上有所不同,如果有的话,这也可能取决于读取模式.在任何情况下,用户都没有得到真正发生的事情的指示,即什么是空单元(如果空白被传达给用户)意味着什么.在视觉浏览中,意义可能(或可能不)显而易见.