5568 sujets

Sémantique web et HTML

Pages :
Bonjour,
je crois avoir déjà lu quelquepart qu'il n'était pas bon d'avoir
des div complètement vide:
<div></div>
Et je me demande en quoi cela peut poser problème.
Modifié par Hermann (17 Jun 2007 - 15:42)
Salut Hermann Smiley smile

techniquement je n'en sais fichtrement rien...

Intellectuellement j'ai toujours trouvé ça complètement débile... ... Mais bon, on dira que ça reste très subjectif comme point de vue.

Pour le dire autrement, mon point de vue subjectif c'est que c'est objectivement débile.
Modifié par Christian Le Bouler (17 Jun 2007 - 18:08)
Il y a bien sur des limites et des impasses des languages, aussi bien html que css.

Mais il y a surtout les limites des développeurs, et ce dans les deux languages.
Et ceci n'est pas une insulte, mais bien une invitation à la réflexion et au travail.
Modifié par Christian Le Bouler (17 Jun 2007 - 18:16)
Christian Le Bouler a écrit :

Intellectuellement j'ai toujours trouvé ça complètement débile... ... Mais bon, on dira que ça reste très subjectif comme point de vue.
Pour le dire autrement, mon point de vue subjectif c'est que c'est objectivement débile.

Salut,
ces div vident ne servent à ma connaissance qu'à un seule chose : la présentation via l'attribution de règles CSS donc rien de débile là-dedans, c'est juste un moyen d'arriver à ses fins.
A priori je pense pas que cela soit nuisible que ce soit pour un lecteur d'ecran (pas de séquençage), un moteur de recherche ou un navigateur texte.
Modifié par Hermann (17 Jun 2007 - 19:40)
Pas de problème particulier à ma connaissance. On le déconseille probablement pour que les débutants cherchent des solutions plus adaptées (utiliser les blocs conteneurs comme supports de styles), mais si on sait ce que l'on fait il me semble qu'il n'y a pas de contrindication (ou contre-indication, as you like it).
beuh...

Moi je suis sans doute un peu bête. les subtilités m'échappent souvent.

Mais j'ai des outils de traitement automatiques qui suppriment les éléments vides du type <foo></foo>., parce qu'ils ne servent à rien a priori, et que ce sont des productions induites de nombreux CMS améliorables.

Et si vous vous voulez savoir si c'est susceptible de mettre un souk incroyable chez les petits malins qui s'en servent, quand ils retraitent leur contenu... la réponse est oui Smiley biggrin

Disons plus sérieusement que c'est le type même d'astuce, sous cette forme brute, qui vous fait louper le coche de beaucoup de traitements évolués de votre propre code quand il doit évoluer.

Donc, on va éviter, sauf contexte où on maîtrise bien ce qui se passera après; Ou alors, on différencie d'entrée de jeu d'un simple accident de parser produisant du HTML, via une classe. Ou via un contenu factice.

Dans tous les cas, on a commis l'abominable crime de structurer rien que pour que ça s'affiche.

Bon, si on redevient encore plus sérieux, <div></div> correspond actuellement soit:
- à une gestion antédiluvienne des flottants ou similaire.
- à du contenu généré CSS
- à la meilleure mauvaise solution possible dans un contexte donnée

Dans le premier cas, on évolue et on apprend à manier les contextes de formattages ou la fusion des marges. Ou alors, on fait un tableau, ce qui est très bien.

Dans le second, on se cache en attendant de pouvoir republier quelque-chose qui ressemble à du Web beaucoup plus tard, quand tout le monde vous aura oublié.

Dans le troisième... mettre une classe Smiley cligne
Modifié par Laurent Denis (17 Jun 2007 - 21:51)
Laurent Denis a écrit :

Mais j'ai des outils de traitement automatiques qui suppriment les éléments vides du type <foo></foo>., ...
En effet j'avais pas pensé à ça.

Laurent Denis a écrit :

...Ou alors, on différencie d'entrée de jeu d'un simple accident de parser produisant du HTML, via une classe. Ou via un contenu factice.
Pas compris.
Laurent Denis a écrit :

Dans tous les cas, on a commis l'abominable crime de structurer rien que pour que ça s'affiche.

En quoi est-ce un "abominable crime" si on a pas d'autre moyen d'obtenir l'effet recherché? Je conçois que ça n'est pas une méthode très propre mais je ne suis pas puriste au point de compromettre l'aspect visuel uniquement pour répondre à des considérations d'"éthique de structuration."
Laurent Denis a écrit :

Bon, si on redevient encore plus sérieux, <div></div> correspond actuellement soit:
- à la meilleure mauvaise solution possible dans un contexte donnée
Dans le troisième... mettre une classe Smiley cligne
Pas compris.

Merci à toi.
Modifié par Hermann (17 Jun 2007 - 23:00)
Hermann a écrit :
En quoi est-ce un "abominable crime" si on a pas d'autre moyen d'obtenir l'effet recherché? Je conçois que ça n'est pas une méthode très propre mais je ne suis pas puriste au point de compromettre l'aspect visuel uniquement pour répondre à des considérations d'"éthique de structuration."

Je plussoie, bien qu'il serait toutefois intéressant de voir l'exemple qui nécessite ce surplus de code à des fins graphiques (je ne doute naturellement pas de tes compétences, c'est juste de la curiosité mon cher Hermann Smiley cligne ).
Hermann a écrit :

Pas compris.


Dans les CMS, beaucoup de parser de syntaxe wiki et autre produisent des éléments vides accidentels. On différenciera les "vrais" éléments vides à conserver:

<div class="do_not_delete_this"></div>


Hermann a écrit :

En quoi est-ce un "abominable crime" si on a pas d'autre moyen d'obtenir l'effet recherché?


J'aurais dû mettre les guillemets ou l'italique de rigueur, désolé: c'était humoristique. Il y a des crimes nécessaires, en effet Smiley cligne

Hermann a écrit :

Pas compris.


Il y a toujours des circonstances où l'on est bien obligé de s'en servir (tout comme le structurer rien que pour que ça s'affiche).
Modifié par Laurent Denis (18 Jun 2007 - 05:27)
Benjamin D.C. a écrit :

Je plussoie, bien qu'il serait toutefois intéressant de voir l'exemple qui nécessite ce surplus de code à des fins graphiques


des coins arrondis, par exemple. Ou divers autres motifs graphiques positionnés. Voire le div class="clear", parfois encore utile.

(Christian: non, tu ne refais pas le coup du les coins arrondis, ça s'accroche toujours à la structure existante. Ou alors, tu attends vendredi prochain Smiley ravi )
Modifié par Laurent Denis (18 Jun 2007 - 05:29)
Laurent Denis a écrit :

Christian: non, tu ne refais pas le coup du les coins arrondis, ça s'accroche toujours à la structure existante.


Tu devrais me relire, tu n'as pas du tout compris ce que j'ai écrit (et il n'y a rien de dénégatif là dedans).


Il y a comme ça des semaines pourries d'entrée, un bon sarcasme en préambule et se farcir la fête de la musique pour couronner le tout.
Florent V. a écrit :
On le déconseille probablement pour que les débutants cherchent des solutions plus adaptées


Pas que les débutants, et c'est justement tout le problème.

Florent V. a écrit :
cherchent des solutions plus adaptées


Non !

"se posent la très très très simple question s'il ny a pas de solutions plus adaptées en train de leur crever leurs yeux d'aveugles post tabloïdisés incurables"
Benjamin D.C. a écrit :

Je plussoie, bien qu'il serait toutefois intéressant de voir l'exemple qui nécessite ce surplus de code à des fins graphiques (je ne doute naturellement pas de tes compétences, c'est juste de la curiosité mon cher Hermann Smiley cligne ).

Salut,
Dans mon cas présent il s'agit d'englober un backround décoratif qui se répète sur l'axe des x et qui serait trop lourd si j'en faisais une image globale placée dans le code.
Si l'image globale n'avais pas été trop lourde, j'aurais pu mettre l'image directement dans le code avec alt vide et un z-index qui convient mais en général j'essaye autant que possible de placer les images décoratives via
CSS surtout si elles se répètent.
Et une fois CSS désactivée ces image peuvent être mal intégrée.

Ceci dit je dis ça mais a vrai dire je ne sais toujours dans quel cas de figure
on a CSS désactivé et plus généralement le texte et les images du code
présentées linéairement.
Modifié par Hermann (18 Jun 2007 - 12:33)
Hermann a écrit :
Ceci dit je dis ça mais a vrai dire je ne sais toujours dans quel cas de figure
on a CSS désactivé et plus généralement le texte et les images du code
présentées linéairement.

Par exemple, dans Firefox :
Affichage > Style de la page > Aucun style

Dans Opera :
Afficher > Style > Mode utilisateur
(ce dernier étant peut-être configurable pour avoir des styles User spécifiques...)

Dans IE6 :
Outils > Options Internet > Accessibilité
On peut désactiver :
- les couleurs et images de fond ;
- les styles et tailles de texte.
On peut aussi utiliser sa propre feuille de style (mais ça n'annule pas tous les styles, ça applique juste des correctifs semble-t-il, et les options d'accessibilité prennent le pas sur la feuille de style user...).
Salut,
ah oui merci j'avais même pas vu qu'on pouvait désactiver les style dans affichage! Honte à moi.
Ceci dit ma question concernait les cas de figure et non les moyens technique
pour y parvenir.
Pour quelles raisons un utilisateur pourrait être amené à désactiver CSS ou à switcher sur sa propre CSS utilisateur sous Opera?
Hermann a écrit :
Pour quelles raisons un utilisateur pourrait être amené à désactiver CSS ou à switcher sur sa propre CSS utilisateur sous Opera?

Là il faudrait voir avec JPV ou Laurent ou d'autres pour les détails...

À vue de nez, je vois deux types de cas de figure :
- matériel particulier demandant un traitement spécifique (clients mobiles ?) ;
- handicaps divers, notamment des problèmes de vision.
Christian Le Bouler a écrit :


Tu devrais me relire, tu n'as pas du tout compris ce que j'ai écrit (et il n'y a rien de dénégatif là dedans).


C'était surtout un clin d'oeil Smiley cligne
Mais effectivement, c'est une conversation qu'il serait très intéressant de reprendre.

Hermann a écrit :

Dans mon cas présent il s'agit d'englober un backround décoratif qui se répète sur l'axe des x et qui serait trop lourd si j'en faisais une image globale placée dans le code.


Cela peut être un cas d'usage, en effet, si ce background ne peut pas être porté autrement.

Hermann a écrit :

Pour quelles raisons un utilisateur pourrait être amené à désactiver CSS ou à switcher sur sa propre CSS utilisateur sous Opera?


J'ai presque envie de répondre qu'il n'y a pas de raisons à chercher: CSS donne à l'utilisateur, à l'UA ou à n'importe quel traitement la possibilité de s'affranchir en tout ou partie de la présentation voulue par l'auteur, pour répondre à des besoins de tous ordres. De même que les règles d'accessibilité n'ont pas besoin de cas utilisateurs pour se justifier, le fait que CSS soit une surcouche optionnelle est en quelque-sorte auto-suffisant.

Quelques exemples, tout de même:
- ne pas prendre en compte ou adapter une mise en forme inappropriée sur un média et un client donné (les clients mobiles pauvres aux capacités de traitement limitée, ou tout client ayant des contraintes fortes à l'affichage ou en matière de périphériques de pointage) :
* une résolution réduite rendant inévitable la linéarisation
* un rendu des couleurs nécessitant de forts contrastes
* l'absence ou l'insuffisance de support js, ou l'absence de périphérique de pointage nécessitant de "mettre à plat" des éléments dynamiques jouant sur CSS, comme les menus déroulants
- résoudre un défaut de rendu empêchant la consultation des contenus ou l'utilisation du service, y compris lorsque l'auteur a été aventureux:
* adapter le rendu aux préférences utilisateurs (j'ai une sainte horreur de ces div/pre scrollables souvent utilisées pour les lignes de code, par exemple)
* adapter le rendu aux besoins de l'utilisateur (dans IE, typo trop petite fixée par l'auteur en pixels - ou partout: contrastes insuffisants, mise en page qui ne résiste pas à un niveau d'agrandissement typo élevé, polices ou mises en majuscule entravant la lecture, accès immédiat à des informations inaccessibles ou incopiables comme les pseudo-popups au :hover, scroll horizontal difficile à manipuler en mobilité réduite, etc)
* imprimer
* enregistrer localement l'information utile, sous une forme minimale (enregistrer sous au format HTML est une autre forme de désactivation des styles Smiley cligne )
- réutiliser les contenus dans un autre contexte graphique...

La désactivation des styles, c'est finalement la meilleure des sécurités tant pour l'utilisateur que pour les auteurs. A condition que CSS ait été employée de manière appropriée, évidemment Smiley cligne
Modifié par Laurent Denis (19 Jun 2007 - 08:48)
Laurent Denis a écrit :

J'ai presque envie de répondre qu'il n'y a pas de raisons à chercher: CSS donne à l'utilisateur, à l'UA ou à n'importe quel traitement la possibilité de s'affranchir en tout ou partie de la présentation voulue par l'auteur, pour répondre à des besoins de tous ordres. De même que les règles d'accessibilité n'ont pas besoin de cas utilisateurs pour se justifier, le fait que CSS soit une surcouche optionnelle est en quelque-sorte auto-suffisant.


C'est ce que j'aurais répondu mais là c'est en mieux.

C'est le même raisonnement que pour javascript en fait, si la fonctionnalité de non interprétation existe dans les Agents utilisateurs alors la prise en compte de cette fonctionalité doit apparaitre dans les procédures de développement.

Le mot clé c'est "procédure" je trouve.
Modifié par Christian Le Bouler (19 Jun 2007 - 08:37)
Christian Le Bouler a écrit :


Le mot clé c'est "procédure" je trouve.


Hum... je parlerai volontier d'"implémentation" dans les petits neurones des auteurs, mais ce serait peut-être un peu brutal Smiley ravi
Pages :