Forum CMS Made Simple FR

Version complète : Implémentation des règles RGAA
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.7
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

Dans le cadre d'un développement de site, il m'est demandé de pouvoir sélectionner via un bouton un "mode" qui permettrait d'adapter le site et de fournir une version "améliorée" du template. Soit un simple affichage en noir sur blanc ou l'inverse. Ce sont semble-t-il des règles du RGAA.

Je me tourne donc vers la communauté pour savoir si certains parmi vous ont déjà été confrontés à ce type de demande et comment ils ont solutionné la problématique (le choix de l'utilisateur devant être persisté).

Merci pour vos retours,

Heriquet
Voir aussi http://references.modernisation.gouv.fr/...essibilite.

Pourquoi ne pas faire le site complet conforme aux règles RGAA
de tête je te dirais ceci :

dans ton gabarit tu fait un {if}{else}{/if} qui appel deux type de feuilles de style (N/B normal)
tu fait un bouton dans ton design qui appel tes pages avec un paramètre POST (ex : RGAA=true/false)
tu fait une UDT en haut de ton gabarit qui sera chargée de capter cette valeur et mettre un équivalent en session (session php j'entend)

ton if repose sur la condition de la valeur enregistrée dans ta session Smile
Ben moi je dirais un js qui change quelques class bien ciblées lorsque l internaute clique.
le Js ne permet pas de gérer la navigation du client sur plusieurs pages d'affilés sans recliquer Wink
Avec une pointe d ajax : si
Merci pour vos réponses !

jce76350 a écrit :Pourquoi ne pas faire le site complet conforme aux règles RGAA

La réponse est simple j'ai reçu un cahier des charges ainsi qu'une deadline très serrée et je dois m'y conformer Smile.

Pour l'implémentation, je pensais également à la session. Mon idée est de faire un petit module qui fournit d'une part le moyen de passer le site dans ce mode, et d'autre part qui appelle une CSS "en plus" quand le mode "accessibilité" est activé (histoire d'écraser certaines valeurs).
Ce module à mettre dans la forge serait une base pour de futures implémentations plus avancées mais pour commencer j'ai juste besoin du minimum demandé par mon client.
Salut,

Voici la solution que j'utilise (nécessite CGSimpleSmarty) :

Dans l'entête (avant <html>) :
Code :
[== Smarty ==]
{if !$smarty.session.theme}
    {session_put var="theme" value="normal"|base64_encode}
{elseif $smarty.get.theme}
    {if $smarty.get.theme|base64_decode == "light" OR $smarty.get.theme|base64_decode == "dark" OR $smarty.get.theme|base64_decode == "normal"}
        {session_put var="theme" value=$smarty.get.theme|base64_decode}
    {/if}
    {redirect_url to=$gCms->config.root_url|cat:$smarty.get.redirect|base64_decode}
{/if}
Ca permet de récupérer le nom du thème à appliquer (ici : normal, light, dark) et ça le chiffre en base64 pour éviter que dans l'URL des p'tits malins tentent d'autres choses :-) Puis ça enregistre dans une session la valeur (donc valable tout le long de la navigation et ça redirige vers la page d'où la sélection a été faite.

Dans mon <body> :
Code :
[== HTML / SMarty ==]
<body class="{if $smarty.session.theme}theme-{$smarty.session.theme}{/if}">

Là j'applique la classe CSS du thème qui correspond.

Et ensuite dans mon CSS, je mets en œuvre les styles dans ce genre là :
Code :
[== CSS ==]
.theme-normal {
  color : #666;
  background : #F5F5F5;
}

.theme-dark {
  color : white ;
  background : black ;
}

.theme-light{
  color : black;
  background : white;
}