fonctionnement de l'attribut alt avec Firefox

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Ptit Lutin
Iguane
Messages : 623
Inscription : 26 juin 2004, 14:02

fonctionnement de l'attribut alt avec Firefox

Message par Ptit Lutin »

Salut :)

Voici le code:

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
 <head>
  <title>test</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
 </head>
 <body>
  <h1 id="debut">Debut</h1>
  <a href="#alpha-a">A</a>&nbsp;
  <a href="#alpha-b">B</a>&nbsp;
  
  <h2 id="alpha-a">A&nbsp;<a href="#debut"><img src="_aide/images/debut.png" alt="revenir au d&eacute;but"/></a></h2>
  <h2 id="alpha-b">B&nbsp;<a href="#debut"><img src="_aide/images/debut.png" alt="revenir au d&eacute;but"/></a></h2>
 </body>
</html>
Voici mon problème:
Lorsque l'image debut.png n'existe pas, le navigateur devrait afficher le texte contenu dans l'attribut alt. Cependant, Firefox affiche bien ce message pour alpha-a mais n'affiche rien pour alpha-b :?
Où est le souci ?

La page sous Firefox:
Image

La même page sous Internet Explorer:
Image
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Tu as une page de démo ?

Petite suggestion : dans Firefox comme tu as du XHTML 1.1 tu dois l'envoyer en application/xhtml+xml, pour qu'il soit analysé comme XML. Ce n'est pas le cas dans IE (d'ailleurs tu ne devrais pas lui envoyer la page en XHTML 1.1 à lui, elle devrait suivre les règles de compatibilités HTML chose impossible en xhtml 1.1.
Du coup une petite erreur pourrait avoir des répercussions en XML, mais être tolérée en HTML (soupe-de-balise).
Ptit Lutin
Iguane
Messages : 623
Inscription : 26 juin 2004, 14:02

Message par Ptit Lutin »

calimo a écrit :Tu as une page de démo ?
Non les pages sont destinées à une utilisation locale (système d'aide sur un CD d'utilitaires) mais tu peux la récupérer sur cette page
calimo a écrit :Petite suggestion : dans Firefox comme tu as du XHTML 1.1 tu dois l'envoyer en application/xhtml+xml, pour qu'il soit analysé comme XML.
C'est corrigé ;)... mais le problème persiste :?
calimo a écrit :Ce n'est pas le cas dans IE (d'ailleurs tu ne devrais pas lui envoyer la page en XHTML 1.1 à lui, elle devrait suivre les règles de compatibilités HTML chose impossible en xhtml 1.1.
Si je veux écrire une page en xhtml fonctionnant à la fois sous Firefox et IE comment je fais ?

Je pose beaucoup de questions parce que je débute en XHTML, HTML et CSS (depuis moins de 24h....et ben ya du boulot :lol:). Par contre, l'avantage c'est que je n'ai pas de "mauvaises manies" issues du HTML. Je voudrais en profiter pour écrire du code directement valide en XHTML. Le text/html je l'avais trouvé sur le site du zéro (le tutoriel est très bien fait et plutôt rigolo)

Merci calimo de ton aide ;)
Ptit Lutin
Iguane
Messages : 623
Inscription : 26 juin 2004, 14:02

Message par Ptit Lutin »

Lorsque j'actualise la page, l'affichage est correct... :?
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Ptit Lutin a écrit :C'est corrigé ;)... mais le problème persiste :?
Non, il n'est pas corrigé, à moins que tu n'ait réglé ton serveur local. Ce qui compte c'est l'entête HTTP. C'est là qu'il faut mettre application/xhtml+xml. Si tu es directement depuis ton système de fichier, alors c'est l'extension qui compte, tu dois la mettre sur .xhtml.
calimo a écrit :Si je veux écrire une page en xhtml fonctionnant à la fois sous Firefox et IE comment je fais ?
IE ne supporte pas le XHTML. Au mieux il traite le XHTML que tu lui as envoyé en text/html comme du html malformé, exactement comme Firefox, les navigateurs sont suffisemment tolérant pour que ça passe mais ça devrait pas. Cf. http://hixie.ch/advocacy/xhtml
Ptit Lutin a écrit :Je pose beaucoup de questions parce que je débute en XHTML, HTML et CSS (depuis moins de 24h....et ben ya du boulot :lol:). Par contre, l'avantage c'est que je n'ai pas de "mauvaises manies" issues du HTML. Je voudrais en profiter pour écrire du code directement valide en XHTML. Le text/html je l'avais trouvé sur le site du zéro (le tutoriel est très bien fait et plutôt rigolo)
L'avantage du XHTML c'est sa modularité (SVG, MathML, doctypes personnalisés dans lesquels on peux définir nos propres entités). Bien sur tout cela ne fonctionne (heureusement) qu'en application/xhtml+xml. Tu n'as qu'à faire l'essai avec tes fichiers, mets tous le mathml que tu veux, ta meta ne suffira pas. D'ailleurs, va voir les informations sur la page (disponible par clic droit) pour t'en convaincre.

Bref, j'aurais presque tendance à dire : fais du HTML (c'est ce que je (re)fait). Ou au moins un XHTML compatible HTML (!= xhtml 1.1).

Pour en revenir au sujet, je suis presque sur que c'est un bug. Voici un testcase minimal :

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
	<head>
		<title>testcase</title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	</head>
	<body>
		<img src="file.png" alt="Alttext1">
		<img src="file.png" alt="Alttext2">
	</body>
</html>
Ce qu'il faut :
  • Un doctype qui le fait passer en mode strict (sinon il y a l'icône "image brisée, mais toujours pas de texte alternatif, donc au fond c'est pas vital)
  • deux images avec le même nom de fichier.
  • Soit au premier chargement, soit faire un maj+reload/Ctrl+F5
Seul le premier texte alternatif est affiché. Il s'affiche en rechargeant la page.

Tu ouvres le bug ? :wink:

Edit : j'ai rien dit, ça marche dans la dernière nightly :wink:
Ptit Lutin
Iguane
Messages : 623
Inscription : 26 juin 2004, 14:02

Message par Ptit Lutin »

calimo a écrit :Si tu es directement depuis ton système de fichier, alors c'est l'extension qui compte, tu dois la mettre sur .xhtml.
...
IE ne supporte pas le XHTML. Au mieux il traite le XHTML que tu lui as envoyé en text/html comme du html malformé, exactement comme Firefox, les navigateurs sont suffisemment tolérant pour que ça passe mais ça devrait pas. Cf. http://hixie.ch/advocacy/xhtml
IE refuse de lancer le fichier avec l'extension .xhtml :lol:
calimo a écrit :Bref, j'aurais presque tendance à dire : fais du HTML (c'est ce que je (re)fait). Ou au moins un XHTML compatible HTML (!= xhtml 1.1).
Si Firefox rencontre un fichier .html avec ce code:

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
...
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
Il le considère comme du HTML ou du XHTML ?

Vu que IE ne bloque que sur l'extension du fichier, je pourrais peut-être continuer à faire du XHTML valide mais compatible HTML (ya pas contradiction là ?). Un fichier XHTML doit forcément avoir l'extension xhtml ?
Parce que faire du HTML alors que le XHTML existe, c'est un peu dommage je trouve. Entre XHTML 1.0 (et ses variantes) et le XHTML 1.1 où peut se trouver le compromis ?
calimo a écrit :Edit : j'ai rien dit, ça marche dans la dernière nightly ;)
:D [Edit] Pas chez moi :(
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.9) Gecko/20050711 Firefox/1.0.5
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Ptit Lutin a écrit :IE refuse de lancer le fichier avec l'extension .xhtml :lol:
C'est pas ce que je disais plus haut ?
IE ne supporte pas le XHTML.
:wink:
Ptit Lutin a écrit :Si Firefox rencontre un fichier .html avec ce code:

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
...
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
Il le considère comme du HTML ou du XHTML ?
Ça ne dépend pas du code du fichier mais soit de son extension soit de l'entête HTTP (selon que tu es depuis le système de fichier ou à travers un serveur HTTP).

Pour le savoir, comme je te l'ai dit, il faut voir les informations de la page. Si dans l'onglet Général tu as "Type : text/html" alors il va le traiter comme du HTML (invalide), si tu as Type : application/xhtml+xml alors il le traite en XML ;-)
Ptit Lutin a écrit :Vu que IE ne bloque que sur l'extension du fichier, je pourrais peut-être continuer à faire du XHTML valide mais compatible HTML (ya pas contradiction là ?).
C'est toi qui le dit ;-)
Ptit Lutin a écrit :Un fichier XHTML doit forcément avoir l'extension xhtml ?
Non, si ton serveur est bien réglé tu peux avoir l'extension .zorglub, .lutin voire même .html ;-)

Ça dépend donc énormément si tu passe par un serveur HTTP ou directement par ton système de fichier, ça change du tout au tout, via un serveur c'est l'entête "Content-type" qui compte, via le filesystem ça dépend probablement de l'OS, sous windows oui, il faut l'extension .xhtml (ou xml...)
Ptit Lutin a écrit :Parce que faire du HTML alors que le XHTML existe, c'est un peu dommage je trouve.
Pourquoi ça ?
Faire du XHTML pour l'utiliser comme du HTML, c'est un peu dommage je trouve ;-)
Ptit Lutin a écrit :Entre XHTML 1.0 (et ses variantes) et le XHTML 1.1 où peut se trouver le compromis ?
Comment ça ? HTML 4.01 ?
Ptit Lutin a écrit :
calimo a écrit :Edit : j'ai rien dit, ça marche dans la dernière nightly ;)
:D [Edit] Pas chez moi :(
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.9) Gecko/20050711 Firefox/1.0.5
Tiens donc... je parlais évidemment des nightlies du tronc, c'est pas le genre de trucs qui vont être corrigées dans Aviary :roll:
Bobe
Iguane
Messages : 742
Inscription : 28 juil. 2003, 21:29

Message par Bobe »

calimo a écrit :doctypes personnalisés dans lesquels on peux définir nos propres entités
Ça, c'est tout à fait faisable en HTML.
« La vie d’un geek est un combat perpétuel contre l’imperfection »
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Bobe a écrit :Ça, c'est tout à fait faisable en HTML.
Ah bon ? J'ai jamais vu, tu as un exemple ?
Bobe
Iguane
Messages : 742
Inscription : 28 juil. 2003, 21:29

Message par Bobe »

bah c'est pareil qu'en XHTML. Les doctype, c'est pas spécifique au XML loin de là.
« La vie d’un geek est un combat perpétuel contre l’imperfection »
Ptit Lutin
Iguane
Messages : 623
Inscription : 26 juin 2004, 14:02

Message par Ptit Lutin »

calimo a écrit :Ça dépend donc énormément si tu passe par un serveur HTTP ou directement par ton système de fichier, ça change du tout au tout, via un serveur c'est l'entête "Content-type" qui compte, via le filesystem ça dépend probablement de l'OS, sous windows oui, il faut l'extension .xhtml (ou xml...)
Pour une utilisation en local c'est rapé si je comprend bien :(

Si je prends un cas concret (le forum de Geckozone), dans le code source il y a:

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
ça ne peut pas être du XHTML valide avec text/html, si ?
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Bobe a écrit :bah c'est pareil qu'en XHTML. Les doctype, c'est pas spécifique au XML loin de là.
Mais leur extension si. Essaye tu verra, les entités que tu peux y définir ne sont pas reconnues :wink:
Exemple (basé sur le test de Ptit Lutin qui bizarrement fonctionne...)
Ptit Lutin a écrit :Si je prends un cas concret (le forum de Geckozone), dans le code source il y a:

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
ça ne peut pas être du XHTML valide avec text/html, si ?
Si, c'est absolument valide XHTML. Et comme il respecte les règles de compatibilité HTML, il n'y a pas de souci, c'est juste corrigé comme une page contenant plein d'erreurs (essaye de l'enregistrer, tu verra, toutes les fermetures des balises sont supprimées, etc.).
Ptit Lutin a écrit :Pour une utilisation en local c'est rapé si je comprend bien :(
Non, pas du tout, il faut juste respecter les règles de compatibilité, et accepter que ce soit pareil que du html... alors à ce niveau, pourquoi ne pas faire du html ? :wink:
PsyDk
Lézard à collerette
Messages : 317
Inscription : 23 sept. 2003, 09:41

Message par PsyDk »

C'est un bug, et c'est corrigé dans Gecko 1.8 ! ^^
Ptit Lutin
Iguane
Messages : 623
Inscription : 26 juin 2004, 14:02

Message par Ptit Lutin »

PsyDk a écrit :C'est un bug, et c'est corrigé dans Gecko 1.8 ! ^^
Tu as le n° du bug ?
Bobe
Iguane
Messages : 742
Inscription : 28 juil. 2003, 21:29

Message par Bobe »

calimo a écrit :
Bobe a écrit :bah c'est pareil qu'en XHTML. Les doctype, c'est pas spécifique au XML loin de là.
Mais leur extension si. Essaye tu verra, les entités que tu peux y définir ne sont pas reconnues :wink:
As-tu un document officiel qui confirme ce que tu dis ou c'est juste une constatation du comportement de différents navigateurs (j'avoue avoir testé avec firefox, opera ainsi que le machin nommé amaya, ça ne passe dans aucun des trois) ?
« La vie d’un geek est un combat perpétuel contre l’imperfection »
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité