Pergunta

Por favor me ajude com isto erro de validação. Não consigo entender o que isso significa ou o que não é uma queixa de padrões com o meu HTML.

Vou repassá -lo aqui, já que espero consertar e esse link não funcionará mais:

A coluna da tabela 2 estabelecida pelo elemento TD não tem células começando nele.

…="tooltip_table"><tr><td colspan="2">20 yd range</td></tr><tr><td colspan="2"
                                     ↑
Foi útil?

Solução

HTML 5.2 Rascunho: Seção 4.9.12.1 Formando uma tabela

http://w3c.github.io/html/tabular-data.html#forming-a-table

Etapa 22: Se houver uma linha ou coluna na tabela contendo apenas slots que não possuem uma célula ancorada a eles, este é um erro de modelo de tabela.

Outras dicas

Quando voce diz colspan="2", a coluna deve se estender por duas colunas. Meu palpite seria que não existe uma segunda coluna definida em nenhum outro lugar na capacidade, fazendo assim colspan="2" impossível (e desnecessário).

Não consigo encontrar nada no espec dizendo explicitamente que é ilegal. Talvez o algoritmo de cálculo da tabela citado em que as especificações seja diferente de 4.01, mas é tarde demais no meu fuso horário para tentar contornar isso :)

No entanto, acho que a mensagem de erro faz sentido demais para ser um bug definitivo.

A coluna da tabela 2 estabelecida pelo elemento TD não tem células começando nele.

Usando colspan="2", você sugere a existência de uma segunda coluna, que não existe nesse caso. O senso comum me diz que é correto incomodar.

Talvez alguém possa esclarecer isso ... ou é, de fato, um bug.

Eu acredito que é um bug, e ainda não fixado. Considerar esta página de exemplo e execute -o pelo validador W3C. Ele fornece erros para "a coluna da tabela 3 estabelecida pelo elemento TD não tem células começando nele". E, no entanto, cada tabela possui 4 células/colunas, e o "Colspan" de 2 é chamado na segunda célula.

Parece um problema com o validador HTML5. Esse erro não surge se você validar estiver com a transição HTML 4.01, e a tabela HTML não foi alterada muito no HTML5.

http://validator.w3.org/check?uri=http://www.wowpanda.net/s9712&charset= dimetect+automaticaticamente)&doctype=html+41+Transitional&ss=1&doctype=Group=0 /1.654

Relatar que provavelmente é uma boa ideia

Eu tive o mesmo erro em uma tabela criada dinamicamente. Dependendo da entrada, algumas linhas foram exibidas ou não. Assim:

Não causa erro:

<table>
<tr>
<td> cell 1 in row 1 </td>
<td> cell 2 in row 1 </td>
</tr>
<tr>
<td colspan=2> one cell in row 2 </td>
</tr>
</table>

Não causa erro:

<table>
<tr>
<td> cell 1 in row 1 </td>
<td> cell 2 in row 1 </td>
</tr>
</table>

Causa um erro:

<table>
<tr>
<td colspan=2> one cell in what is now the only row </td>
</tr>
</table>

Depois de programar a página para excluir o Colspan do último exemplo quando a primeira linha não foi exibida, o erro desapareceu. Algo assim:

<?php if (first row with two cells is displayed) echo 'colspan=2'; ?>

Eu acho isso lógico. Colspan = 2 com apenas células únicas é como dizer a alguém me visitar para virar à direita em uma rua que não tem cruzamentos, acreditando que continuará direto. Eles não vão. Em vez disso, eles ficarão pendurados em busca de algo que não existe. Talvez não seja uma analogia completamente precisa, mas você pode imaginar um navegador idiota criando erros de exibição enquanto procura coisas que você diz que está lá, mas não é. Não se espera que os navegadores "pensem" que talvez você quisesse seu código de maneira diferente de como o escreveu.

Apenas corrigindo o link para a resposta de Alohci.

https://w3c.github.io/html/single-page.html#forming-a-table

  1. Se existir uma linha ou coluna na tabela que contém apenas slots que não possuem uma célula ancorada a eles, este é um erro de modelo de tabela.

Este tópico é um pouco velho, mas eu posto isso para qualquer um esbarrando nele.

Definir cada coluna usando tag remove a mensagem e também fornece ao Colspan algo com o qual se relacionar.

Mais informações na resposta aqui: Por que o Colspan não é aplicado como esperado

Se você iniciar a tabela - ela corrige os erros da coluna de validação. Se sua tabela tiver 8 colunas, a primeira linha deverá ter 8 elementos, que se você estiver iniciando apenas, não deseja ver. O elemento CSS é: tr.init {borda: nenhum;} e a seguinte primeira linha de uma tabela de 8 colunas. O resultado é: você não vê a primeira linha e seus erros de validação são corrigidos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top