5176 sujets

Le Bar du forum

Bonsoir,

en navigant sur le blog de Laurent Denis, je me suis retrouvé devant un bug.

essayez un peut, sous Mozilla ou Firefox, la manipulation suivant, et dites moi :
- Faites d'abord un CTRL+A
- Ensuite, tout en ayant toujours le tout séléctionné, essayez de selectionner un des [i]x commentaires - x trackback[/b]

Chez moi, Mozilla, comme Firefox, plante. Smiley rolleyes
Modifié par Bouda (13 Apr 2005 - 09:20)
Arf ! Un bug gecko apparemment, en effet.

Pour info, la mention x commentaires - x trackbacks affichée est en fait pour l'instant un contenu généré CSS à partir d'un attribut title. La sélection des contenus générés CSS est souvent problématique: raison de plus de les utiliser avec précaution ( http://blog-and-blues.org/weblog/2004/10/24/322-before-et-after-du-bon-usage-du-contenu-genere )

Pour le gag malicieux : Opera gère bien les contenus générés, et sélectionne ceux-ci lorsqu'on utilise ctrl+a... J'adresse déjà un contenu adapté et une CSS simplifiée à IE, aux robots d'indexation, aux traducteurs, etc; vais-je basculer les gecko dans le même lot ? Smiley cligne

<edit>
Ma vieille Mozilla 1.6 ne plante pas: il est simplement impossible de sélectionner le contenu généré. Je suppose que vous utilisez une version plus récente ?
</edit>
Modifié le 20 Dec 2004 - 08:47
Sur Firefox 1.0

Pas possible de sélectionner x commentaires - x trackbacks mais je peux sélectionner tout le reste, à l'exception de :before :after et de (en).
Laurent Denis a écrit :
Pour info, la mention x commentaires - x trackbacks affichée est en fait pour l'instant un contenu généré CSS à partir d'un attribut title.

Oui oui, ça je savais, j'ai juste oublié de préciser dans mon message. Smiley cligne

Laurent Denis a écrit :
<edit>
Ma vieille Mozilla 1.6 ne plante pas: il est simplement impossible de sélectionner le contenu généré. Je suppose que vous utilisez une version plus récente ?
</edit>

J'utilise Mozilla 1.7.3 et Firefox 1.0
Pour tout dire, la discussion à laquelle tu renvoies n'est guère convaincante... L'argument selon lequel :
a écrit :
Le contenu généré avec CSS n'a qu'une fonction purement décorative et Mozilla a tout à fait raison de ne pas le prendre en compte lorsqu'on fait un copier/coller. Ce n'est pas ce qui s'affiche à l'écran que l'on veut copier, mais une partie du contenu du document.


... est un peu court, car le contenu généré CSS est loin de se limiter à une fonction purement décorative. C'est un petit plus complexe que cela ( http://blog-and-blues.org/weblog/2004/10/24/322-before-et-after-du-bon-usage-du-contenu-genere ), en particulier:
- quand il permet d'afficher / d'imprimer / de lire le contenu d'un attribut, lequel est bien une partie du contenu du document.
- quand il permet de générer des marqueurs de liste et des compteurs plus évolués que les simples listes <ol>.
- quand il permet d'adapter le document à une restitution orale ( http://www.howtocreate.co.uk/operaStuff/spokenpage.css ), conformément aux principes d'indépendances envers le media ( http://www.w3.org/2001/di/ )

Le fait de ne pas pouvoir sélectionner les contenus générés n'est pas un "fonctionnement normal" au sens du respect de CSS2, qui ne dit pas un mot sur le sujet, ou toute autre norme. C'est un choix ou un défaut du navigateur, très discutable dans la mesure où il s'avère déroutant pour l'utilisateur et où il dégrade son "expérience fonctionnelle" ( http://www.w3.org/TR/di-gloss/ ) sur le site.

C'est amusant de voir que les choix ou les limites propres à Mozilla, ou ce qui ne fait pas partie de la "culture" Gecko, etc. est souvent présenté comme des règles issues des normes... Smiley cligne S'il s'agissait d'un défaut propre à Internet Explorer, le discours ne serait-il pas tout autre Smiley biggrin ?
Modifié le 21 Dec 2004 - 06:59
Laurent Denis a écrit :

- quand il permet d'afficher / d'imprimer / de lire le contenu d'un attribut, lequel est bien une partie du contenu du document.


Pourtant, il me semble que par définition, le contenu des attributs est dédié au programme qui traite le document, non à l'utilisateur qui affiche le-dit document. À charge pour le programme de traiter le contenu de ces attributs comme il le souhaite.

a écrit :

- quand il permet de générer des marqueurs de liste et des compteurs plus évolués que les simples listes <ol>.


Justement, je me demande parfois si le W3C n'a pas fait une erreur en déplaçant ce mécanisme (les compteurs) du HTML vers les CSS.

a écrit :

- quand il permet d'adapter le document à une restitution orale ( http://www.howtocreate.co.uk/operaStuff/spokenpage.css ), conformément aux principes d'indépendances envers le media ( http://www.w3.org/2001/di/ )


Exemple interessant, mais quid du principe de séparation contenu/présentation ?

a écrit :

C'est amusant de voir que les choix ou les limites propres à Mozilla, ou ce qui ne fait pas partie de la "culture" Gecko, etc. est souvent présenté comme des règles issues des normes... Smiley cligne S'il s'agissait d'un défaut propre à Internet Explorer, le discours ne serait-il pas tout autre Smiley biggrin ?


Pourquoi partir du principe qu'une personne utilisant un navigateur gecko n'est forcément pas objective ? C'est très insultant.
Bobe a écrit :
Le fait de ne pas pouvoir sélectionner les contenus générés n'est pas un bug, c'est un fonctionnement normal.

Je sais bien qu'il est 'normal' que le contenu généré ne soit pas sélectionnable, mais il y'a quand même un plantage de Gecko à ce moment, c'est un fait. Smiley smile
Modifié le 21 Dec 2004 - 23:47
Bobe a écrit :

Pourtant, il me semble que par définition, le contenu des attributs est dédié au programme qui traite le document, non à l'utilisateur qui affiche le-dit document. À charge pour le programme de traiter le contenu de ces attributs comme il le souhaite.


Ce qui revient à dire qu'il ne faut pas:
- afficher la langue de destination d'un lien à partir d'hreflang
- imprimer les url des liens à partir d'href
- imprimer la signification d'un acronyme à partir de title
- afficher la date de modification d'un contenu wiki à partir de datetime
- afficher le title d'une image en guise de légende
- afficher l'url source d'une citation à partir de cite
- etc.

Ou qu'il faudrait supprimer le lien vers la page d'accueil puisque <link rel="home"...> est là pour ça...

Je suis tout à fait d'accord pour considérer que CSS est une béquille problématique pour combler les défauts fonctionnels des navigateurs. Mais d'une autre côté, l'information étant présente, je ne vois pas de raison de ne pas la rendre disponible pour enrichir l'expérience de l'utilisateur (dans la mesure où l'expérience fonctionnelle minimale n'est pas compromise lorsque les CSS ne sont pas activées). Voir le point 1.9 dans http://www.la-grange.net/w3c/cuap/


a écrit :

Justement, je me demande parfois si le W3C n'a pas fait une erreur en déplaçant ce mécanisme (les compteurs) du HTML vers les CSS.

Une justification, parmi d'autres: les compteurs "évolués'" du type lower-roman ((i, ii, iii...), upper-roman ou les combinaisons de compteurs rendent l'audition d'une page Web passablement atroce dans un media vocal: le fait que ces compteurs soient générés en CSS permet de différencier le type de numérotation ou de combinaison selon les medias.

a écrit :

Exemple interessant, mais quid du principe de séparation contenu/présentation ?

Heu... J'ai du mal à suivre, là ? Cette CSS auditive ajoute des "marqueurs de sens" avant / après le contenu, ce qui respecte parfaitement le principe de CSS (voir la spécification qui comporte plusieurs exemples tout à fait similaires). Il n'y a aucune différence entre la bordure ajoutée via CSS à un tableau dans un navigateur graphique et le fait qu'une CSS auditive ajoute la mention "Ceci est une ligne de tableau").

De même que chaque navigateur graphique applique une série de styles par défaut aux éléments HTML, les CSS auditives de ce type ne font que fournir le minimum de "présentation" indispensable pour que le document soit intelligible. C'est la définition même des styles par défaut de l'agent utilisateur (Voir spécification HTML4.01). Faute de style par défaut auditif dans de nombreux UA vocaux, cette CSS est extrêment utile.


a écrit :

Pourquoi partir du principe qu'une personne utilisant un navigateur gecko n'est forcément pas objective ? C'est très insultant.


Cela n'avait rien d'insultant dans l'intention !
J'observe simplement (avec amusement) un comportement "historique" plutôt répandu dans la "communauté" Mozilla.

<div title="attention, à ne pas lire au 1er degré" Smiley cligne >

Ce comportement est parfaitement compréhensible dans une culture minoritaire et contestatrice, ayant un fort besoin de s'affirmer face à ses ennemis identitaires.

<Avant de vous étouffer>

- minoritaire renvoie tout simplement à l'issue de la première guerre des navigateurs, et à la force de l'enjeu actuel visant à remettre en cause cette issue;
- contestatrice... car le projet Mozilla a largement construit son identité sur le besoin de remettre en cause la domination exercée par Microsoft. Il y a un petit côté "culture de l'anti", dans lequel l'engagement envers un simple outil exprime bien des insatisfactions beaucoup plus larges.
- identitaire... car il me semble qu'il y a, au-delà des données objectives, l'expression d'un fort besoin d'adhésion à une "communauté" socialement, politiquement et/ou affectivement valorisante.

</ça va mieux comme ça ?>

</div>

Pour illustrer très concrètement cette dérive fréquente:
- http://webnaute.net/Tests/CSS/HTTP-Link/ ... omet de signaler que l'en-tête HTTP link n'existe plus en HTTP1.1, et qu'aucun navigateur n'est actuellement tenu de le supporter (même si les navigateurs gecko le font)
- http://webnaute.net/Tests/CSS/XML-Stylesheet/ omet le fait qu'xml-stylesheet n'a de sens et ne peut être appliqué que si le navigateur supporte application/xml+xhtml et si le document lui est adressé comme tel. Il est donc parfaitement normal et heureux qu'IE n'applique pas les styles dans ce cas, et opera aura du mal à l'appliquer puisque la page lui est adressée (pourquoi ???) en text/html Smiley cligne
- http://webnaute.net/Tests/CSS/MIME-Negociation/ omet de signaler qu'aucun navigateur n'est tenu de signaler par défaut dans ses HTTP_ACCEPT la totalité des types supportés (même si les navigateurs gecko signalent ce type).
Modifié le 22 Dec 2004 - 07:17
Coucou Smiley smile

Je parle mal l'anglais et j'ai tenté d'isoler le bug. On doit sûrement encore plus l'isoler (notament en supprimant des trucs dans le CSS). Il semblerait donc que cela provienne de la sélection d'un texte genéré par CSS (n'importe lequel ?) après l'usage d'un Ctrl+A

Note : si je supprime le seul lien sur la page, la méthode ne fais plus planter Firefox...
Bon, profitez de ce bug, il semble, ne plus être présent dans les nightly (j'ai testé avec celle d'aujourdhui) Smiley cligne
Laurent Denis a écrit :

Ce qui revient à dire qu'il ne faut pas:
- afficher la langue de destination d'un lien à partir d'hreflang
- imprimer les url des liens à partir d'href
- imprimer la signification d'un acronyme à partir de title
- afficher la date de modification d'un contenu wiki à partir de datetime
- afficher le title d'une image en guise de légende
- afficher l'url source d'une citation à partir de cite
- etc.


Le HTML a été conçu pour la diffusion de contenu textuel dans des documents autonomes.
On a donc ce contenu textuel structuré par des balises ayant un sens sémantique.
C'est ce contenu qui nous interesse, pas le contenu des attributs de balises.
Tu parles des hyperliens (href, hreflang, ...), mais cela ne fait pas parti du contenu (au sens de parti du texte), ce n'est pas une information textuelle, c'est un mécanisme présent dans le document et permettant d'accéder à un autre document. Seul le texte présent entre <a...> et </a> est du contenu.

Concernant l'attribut title, la recommandation propose elle-même de représenter son contenu sous forme d'info-bulle. C'est donc probablement une sorte d'"entorse" volontaire de la part du W3C.

a écrit :

Ou qu'il faudrait supprimer le lien vers la page d'accueil puisque <link rel="home"...> est là pour ça...


Dans l'absolu, oui.

C'est le problème du web actuellement. Il n'y a pas encore vraiment de langage de description d'interface (XUL, XAML, ...) reconnu et massivement utilisé. Or c'est ce dont ont besoin beaucoup de sites (la plupart des sites commerciaux pour commencer). Donc on se rabat sur le HTML, par habitude et parce qu'il n'y a pas vraiment d'alternative.

a écrit :

Je suis tout à fait d'accord pour considérer que CSS est une béquille problématique pour combler les défauts fonctionnels des navigateurs. Mais d'une autre côté, l'information étant présente, je ne vois pas de raison de ne pas la rendre disponible pour enrichir l'expérience de l'utilisateur (dans la mesure où l'expérience fonctionnelle minimale n'est pas compromise lorsque les CSS ne sont pas activées). Voir le point 1.9 dans http://www.la-grange.net/w3c/cuap/


Oui, ce n'est probablement pas par hasard que les concepteurs des CSS ont ajouté la fonction attr(). Ils ont peut-être estimé que, dans le cas de certains attributs, cette information incluse dans le document sous la forme de contenu d'un attribut pouvait interesser la personne qui visualise le document.
Le cas de l'attribut href est révélateur.
Le but premier de l'attribut href sur la balise A est d'indiquer à l'agent utilisateur l'URL à appeller si le lien est activé. Je rappelle qu'à la base, le HTML a été conçu pour des documents autonomes. C'est son contenu qui est important, pas que tel ou tel morceau de texte pointe vers tel ou tel autre document. Et pourtant, il serait difficilement concevable aujourd'hui de ne pas avoir accés à cette "information secondaire" (barre de statut, lecture vocale, ...).
Certains navigateurs ont pris le parti de rendre plus accessible le contenu de certains attributs (source d'une citation, langue d'un document ciblé par un lien, dans Mozilla en faisant click droit -> properties; Il y a sùrement des exemples similaires pour Opera).
Mais dans l'absolu, cette information n'est pas nécessaire à la compréhension du document.

a écrit :

Une justification, parmi d'autres: les compteurs "évolués'" du type lower-roman ((i, ii, iii...), upper-roman ou les combinaisons de compteurs rendent l'audition d'une page Web passablement atroce dans un media vocal: le fait que ces compteurs soient générés en CSS permet de différencier le type de numérotation ou de combinaison selon les medias.


Donc ces média vocaux ne lisent pas non plus les compteurs numériques ?

a écrit :

Heu... J'ai du mal à suivre, là ? Cette CSS auditive ajoute des "marqueurs de sens" avant / après le contenu, ce qui respecte parfaitement le principe de CSS (voir la spécification qui comporte plusieurs exemples tout à fait similaires).


Peux-tu préciser ou fournir un lien vers les exemples en question ? Je ne vois rien ressemblant de près ou de loin à ton exemple dans la recommandation (CSS 2.0 ou 2.1). On parle bien de ça ?

a écrit :

Il n'y a aucune différence entre la bordure ajoutée via CSS à un tableau dans un navigateur graphique et le fait qu'une CSS auditive ajoute la mention "Ceci est une ligne de tableau").


Mais non, là, les styles sont utilisées pour décrire la structure du document auquel la feuille de style est rattachée, ce qui n'a rien à voir avec le rôle des CSS.

* Soit j'ai manqué une étape de tes explications et ne comprend donc pas le sens de cet exemple
* Soit je me trompe lourdement sur le rôle des CSS et j'ai hâte dans ce cas que tu me donnes plus d'explications afin que je rectifie mes connaissances sur ce sujet (ceci dit sans ironie)

a écrit :

Pour illustrer très concrètement cette dérive fréquente:
- http://webnaute.net/Tests/CSS/HTTP-Link/ ... omet de signaler que l'en-tête HTTP link n'existe plus en HTTP1.1, et qu'aucun navigateur n'est actuellement tenu de le supporter (même si les navigateurs gecko le font)


Si, c'est indiqué vers la fin du document.

a écrit :

- http://webnaute.net/Tests/CSS/XML-Stylesheet/ omet le fait qu'xml-stylesheet n'a de sens et ne peut être appliqué que si le navigateur supporte application/xml+xhtml et si le document lui est adressé comme tel. Il est donc parfaitement normal et heureux qu'IE n'applique pas les styles dans ce cas, et opera aura du mal à l'appliquer puisque la page lui est adressée (pourquoi ???) en text/html Smiley cligne


Sur ce cas, j'admet mon erreur. Mais ce n'est pas celle que tu penses Smiley cligne , je n'ai tout simplement (et bètement, je le reconnais) pas mis en place la vérification de l'en-tête accept qui aurait permis d'envoyer le document avec l'en-tête application/xml à défaut de application/xhtml+xml.
Tu noteras d'ailleurs que ni Opera ni IE win ne sont présents dans le tableau des résultats, tout simplement parce que je n'avais pas fait cette vérification d'en-tête, et ultérieurement, j'étais passé à autre chose et n'avais pas pensé à terminer la mise en place de ce test.
Pour les résultats concernant IE mac et Safari, ils m'ont été donné par email par des visiteurs et je les ai intégré au tableau.
Aucune frustration donc ni l'envie d'humilier tel ou tel navigateur, juste envie de tester un mécanisme nouvellement découvert.

a écrit :

- http://webnaute.net/Tests/CSS/MIME-Negociation/


Ah, là, je reconnais mon tort. Il y a en effet un brin de mépris déplacé. Le document a été édité.

a écrit :
... omet de signaler qu'aucun navigateur n'est tenu de signaler par défaut dans ses HTTP_ACCEPT la totalité des types supportés (même si les navigateurs gecko signalent ce type).


Mais je ne dis aucunement que c'est obligatoire.
Modifié le 24 Dec 2004 - 03:48