1178 sujets

Accessibilité du Web

Bonjour à tous,

Je cherche le meilleur moyen d'injecter un css dédié en fonction du navigateur... pour ma part j'ai un CSS propre aux navigateurs qui supporte SVG et MathML et un autre pour les autres mais chacun d'eux est découpé en une multitude de fichier... Et je ne souhaite pas parasiter ma page de condition à interpréter sur le client comme le javascript, la méthode JS est d’ailleurs nulle vu que le JS peut être désactivé !... Après m'être renseigné je suis arrivé sur cet article qui propose une alternative sympa au 0 % javascript :

http://www.alsacreations.com/astuce/lire/988-classes-conditionnelles-HTML.html

Par contre après avoir regardé les flux d'échanges générés par ce qui est conseillé dans l'article je vois qu'une requête http est faite vers le mauvais CSS et une seconde vers le bon après !

Du coup, je pensais à une autre solution, n'est il pas plus propre de rediriger juste un fichier (le CSS) à l'aide de règles .htacess basées sur le navigateur mais interprété en amont du téléchargement du fichier ?

Dans le genre :

RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|ipad" 
RewriteRule CSS/fichier_css.css  http://www.monsite.com/le/css/mobile/css.css  [L]


Que pensez vous de cette façon de faire ?
Modérateur
Qu'il n'y a rien de plus complexe et peu précis que HTTP_USER_AGENT... déjà dans ton exemple tu vises le device au lieu du navigateur, rien ne t'assures que le navigateur utilisé soit celui que tu cherches... Ensuite parmi les millions de formes différentes que peut prendre HTTP_USER_AGENT, il va falloir sortir ce qui t'intéresse. Du coup pas d'autre choix que d'utiliser une bibliothèque, que tu devras bien entendu mettre très régulièrement à jour.

Au passage, il existe des mobiles qui n'ont pas une pomme entamée dessus. Si, si.
Merci pour ton avis, je précise cependant, qu'il s'agit d'une question ouverte.

Pour information cependant HTTP_USER_AGENT contient bien l'information du système d'exploitation mais aussi son navigateur... Mais si je comprend bien ta remarque tu penses que :

<!--[if IE]><![endif]-->


Est donc plus précis qu'un .htaccess

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} MSIE
...


Je suis perplexe, car les logs apache qu'on analyse pour en déterminer les navigateurs est bien basée sur cette fameuse chaine de caractère il me semble ?

Ps : pour la remarque sur la pomme, c'est pas faux, il existe aussi des ordinateurs qui n'ont pas Démarrer écrit en bas à gauche Smiley cligne
Quand tu dis css adapté au svp et mathml, je ne comprend pas bien…

Soit tu parles du code html ou alors tu utilises des fichiers svg dans tes css. Si c'est le second cas, pas besoin de tous ces bidouillages, on déclare d'abord un fichier bitmap, puis on fait la même déclaration pour un fichier svg et le tour est joué. Smiley cligne

Si c'est pour le html, alors oui tu peux utiliser les commentaires conditionnels (IE<=8) pour avoir une alternative bitmap au svg.
Modifié par Patidou (13 Mar 2012 - 23:19)
Salut Patidou,

En fait, pour synthétiser, mes pages sont hybrides je propose un contenu au format Xhtml mais avec MathML + SVG pour FF; et des images générées via LaTeX + Mimetex.cgi ou l'alternative PNG des graphes SVG pour IE.

Sans CSS donc tu aurais une page dans le genre :


bla bla scientifique, je te passe les détails... pof une formule mathématiques... sa première version est donc une image générée via le programme Perl mimetex.cgi
<img class='LaTeX' src='http://www.domaine.fr/cgi/mimetex.cgi?$a+\frac{\pi }{2}$' alt='LaTex : $a+\frac{\pi }{2}$'/><span class='mml'><math xmlns:math="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>+</mo><mfrac><mo>&#960;</mo><mn>2</mn></mfrac></mrow><annotation>a+ %pi over 2 </annotation></semantics></math></span> ; la formule dans le span a été générée via une feuille XSL depuis le document original ainsi d'ailleurs que la précédente.


L'objectif premier dans ce développement est de permettre la recherche de contenu via des formules LaTeX et MathML; et qu'importe le langage dans lequel j'écris la formule dans le moteur de recherche je tombe bien sur le bon article. Par exemple si je tape : en MML "a+ %pi over 2" ou en LaTeX "a+\frac{\pi }{2}" je tombe sur ce sujet.

Les sujets abordés sont des thèses, des travaux de recherches scientifique la recherche par formule est une nouveauté dans ce domaine.

La méthode que j'ai trouvé avec .htaccess marche très bien je suis satisfait, mais je souhaité juste connaitre votre avis sur cette méthode... car je n'avait jusque là jamais pensé utiliser ce genre de méthode...

Merci encore pour vos lectures !
Pour détecter les mobiles, j'utilise une class php :

http://detectmobilebrowsers.mobi/

Très efficace.

Juste pour compléter le message de kustolovic, le USER AGENT peut être falsifier facilement (pas mal utiliser par les possesseur de smartphone pour faire du tethering et que l'opérateur ne puisse pas le détecter, sauf si on est chez Free et là c'est autorisé, mais c'est un autre débat Smiley lol )

Pour les navigateur IE, l'usage des commentaires conditionnel est parfait, et très précis pour un ciblage d'une version précis.

Avec le .htaccess, il faut que l'hébergeur t'autorise à utiliser ces fonctions, ce qui n'est pas le cas de tous les hébergeurs, alors que les commentaires conditionnel, ce n'est que du HTML pur et dur, et ça, c'est pas encore bloqué ... Smiley murf