Hello,
Je n’ai jamais beaucoup utilisé COL et COLGROUP parce qu’ils ne fonctionnaient pas bien. Mais comme les choses évoluent, j’y reviens. Question style, ça s’est bien arrangé, mais il me reste un problème : l’attribut Title.
Si je donne un attribut Title à un COL ou à un COLGROUP, comme cela est autorisé par HTML 4 (d’après HTML 4, tous deux acceptent l’ensemble d’attribut défini comme “%coreattrs”, dont fait partie Title), je n’obtiens jamais d’infobulle au survol des colonnes ou groupe de colonnes ; que ce soit sous IE8, Opera, Safari (voir plus loin pour une note) ou FireFox.
J’aimerais utilisé des attributs Title sur des COL ou COLGROUP, pour faciliter la lecture de tableaux, en rappelant par exemple le contenu de l’intitulé de la colonne. En effet, quand un tableau est défilé, il ne s’y retrouve pas toujours dans les colonnes.
L’attribut Title fonctionne bien pour les TR, TH et TD, mais pas pour COL et COLGROUP. Pourtant cela est bien prévu par HTML4.
Pourquoi ça ne marche pas ? Pourquoi les auteurs de navigateurs n’y ont-ils pas pensé ?
Note au sujet de Safari : j’ai remarqué qu’il n’applique par correctement les styles sur les TD.
Voici un source HTML de test et d’exemple (ou testez ici : Test COL, COLGROUP et attribut Title) :
Vous constaterez que l’on peut obteni l’affichage des infobulles Test 3, Test 4 et Test 5, mais pas les autres. Note : pour obteni Test 3 il faut vous survoler une des cellules blanches de la première ligne du tableau (pas l’entête), pour Test 4, survoler la cellule d’entête de la première ligne, et pour Test 5, survoler la première cellule en partant de la gauche de la première ligne.
Actuellement j’utilise des attributs Title sur tous les TD, mais je trouve cette solution trop lourde et j’aimerais pouvoir les appliquer sur des COL ou COLGROUP, afin de pouvoir économiser la quantité de source HTML produit. Ce serait bienvenu de pouvoir faire l’économie de cette redondance.
Modifié par hibou57 (18 Jul 2010 - 05:48)
Je n’ai jamais beaucoup utilisé COL et COLGROUP parce qu’ils ne fonctionnaient pas bien. Mais comme les choses évoluent, j’y reviens. Question style, ça s’est bien arrangé, mais il me reste un problème : l’attribut Title.
Si je donne un attribut Title à un COL ou à un COLGROUP, comme cela est autorisé par HTML 4 (d’après HTML 4, tous deux acceptent l’ensemble d’attribut défini comme “%coreattrs”, dont fait partie Title), je n’obtiens jamais d’infobulle au survol des colonnes ou groupe de colonnes ; que ce soit sous IE8, Opera, Safari (voir plus loin pour une note) ou FireFox.
J’aimerais utilisé des attributs Title sur des COL ou COLGROUP, pour faciliter la lecture de tableaux, en rappelant par exemple le contenu de l’intitulé de la colonne. En effet, quand un tableau est défilé, il ne s’y retrouve pas toujours dans les colonnes.
L’attribut Title fonctionne bien pour les TR, TH et TD, mais pas pour COL et COLGROUP. Pourtant cela est bien prévu par HTML4.
Pourquoi ça ne marche pas ? Pourquoi les auteurs de navigateurs n’y ont-ils pas pensé ?
Note au sujet de Safari : j’ai remarqué qu’il n’applique par correctement les styles sur les TD.
Voici un source HTML de test et d’exemple (ou testez ici : Test COL, COLGROUP et attribut Title) :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<TITLE>Page de test</TITLE>
<META http-equiv="content-style-type" content="text/css">
<STYLE type="text/css">
TABLE {
border-style: solid;
margin: auto;
}
TD {
border-style: solid;
}
.group1 {
background-color: red;
}
.col1 {
background-color: blue;
}
</STYLE>
</HEAD>
<BODY>
<TABLE id="test">
<COLGROUP class="group1" title="Test 1">
<COL span="1" class="col1" title="Test 2">
<COL span="1" class="">
<COL span="1" class="">
</COLGROUP>
<COLGROUP class="">
<COL span="3" class="">
</COLGROUP>
<THEAD>
<TR>
<TH scope="col">*</TH>
<TH scope="col">1</TH>
<TH scope="col">2</TH>
<TH scope="col">3</TH>
<TH scope="col">4</TH>
<TH scope="col">5</TH>
</TR>
</THEAD>
<TBODY>
<TR title="Test 3">
<TH scope="row" title="Test 4">A</TH>
<TD title="Test 5">A.1</TD>
<TD>A.2</TD>
<TD>A.3</TD>
<TD>A.4</TD>
<TD>A.5</TD>
</TR>
<TR>
<TH scope="row">B</TH>
<TD>B.1</TD>
<TD>B.2</TD>
<TD>B.3</TD>
<TD>B.4</TD>
<TD>B.5</TD>
</TR>
<TR>
<TH scope="row">C</TH>
<TD>C.1</TD>
<TD>C.2</TD>
<TD>C.3</TD>
<TD>C.4</TD>
<TD>C.5</TD>
</TR>
<TR>
<TH scope="row">D</TH>
<TD>D.1</TD>
<TD>D.2</TD>
<TD>D.3</TD>
<TD>D.4</TD>
<TD>D.5</TD>
</TR>
<TR>
<TH scope="row">E</TH>
<TD>E.1</TD>
<TD>E.2</TD>
<TD>E.3</TD>
<TD>E.4</TD>
<TD>E.5</TD>
</TR>
</TBODY>
</TABLE>
</BODY>
</HTML>
Vous constaterez que l’on peut obteni l’affichage des infobulles Test 3, Test 4 et Test 5, mais pas les autres. Note : pour obteni Test 3 il faut vous survoler une des cellules blanches de la première ligne du tableau (pas l’entête), pour Test 4, survoler la cellule d’entête de la première ligne, et pour Test 5, survoler la première cellule en partant de la gauche de la première ligne.
Actuellement j’utilise des attributs Title sur tous les TD, mais je trouve cette solution trop lourde et j’aimerais pouvoir les appliquer sur des COL ou COLGROUP, afin de pouvoir économiser la quantité de source HTML produit. Ce serait bienvenu de pouvoir faire l’économie de cette redondance.
Modifié par hibou57 (18 Jul 2010 - 05:48)