Skip navigation.

digital-nation

Blog-note d'un informaticien procrastinate...

Posts tagged with "accessibilité"

La phrase que je retiens (v2)

, , , ...


La meilleure chose à faire si l’on veut continuer à enfermer Internet dans des restrictions barbelées d’interdictions, c’est d’utiliser Adobe Flash tel qu’il existe aujourd’hui. Internet a été conçu pour qu’un réseau ouvert et sans limites puisse partager des informations. Pourtant, on l’utilise de nos jours dans un but diamétralement opposé : pour interrompre cet immense flot d’informations. Beaucoup de gens ne considèrent pas le Flash comme un problème, et ne perçoivent pas Adobe comme un dictateur nuisible. En réalité, le Flash est le pire goulot d’étranglement qui menace l’efficacité d’Internet, tout comme l’immense diversité des langues parlées dans le monde entier est le pire goulot d’étranglement du réseau social planétaire. Un changement de stratégie commerciale d’Adobe en ce qui concerne le Flash est la seule façon de transformer ce bridage inutile du potentiel de la communauté connectée à Internet, pour en faire une véritable technologie innovante et favorable aux synergies.


Via Framalang

Rendre le menu Dock (Fisheyes) accessible

, , , ...

J’ai récemment pu télécharger un menu très sympathique, rappelant celui de Mac… Son utilisation est des plus simplistes, vu que le travail nous a été maché.

Malheureusement, lorsque nous regardons le code, ce n’est pas très propre (oui cela valide, mais on peut faire mieux !) :
<div class="dock-container" id="dock-contener">
  <a class="dock-item" href="../index.php" tabindex="1" accesskey="1"><img src="../images/menu/accueil.png" alt="Accueil"><span>Accueil</span></a> 
  <a class="dock-item" href="../contact.php" tabindex="2" accesskey="2"><img src="../images/menu/contact.png" alt="Contact"><span>contactez-nous</span></a> 
  <a class="dock-item" href="../photographies" tabindex="3" accesskey="3"><img src="../images/menu/les-photos.png" alt="Photos"><span>Les photos</span></a>
  <a class="dock-item" href="../ceremonie_civile.php" tabindex="4" accesskey="4"><img src="../images/menu/ceremonie-civile.png" alt="cécrémonie civile"><span>La cérémonie civile</span></a> 
  <a class="dock-item" href="../ceremonie_laique.php" tabindex="5" accesskey="5"><img src="../images/menu/ceremonie-laique.png" alt="cécrémonie laïque"><span>La cérémonie laïque</span></a> 
  <a class="dock-item" href="../nos_fiancailles.php" tabindex="6" accesskey="6"><img src="../images/menu/nos-fiancailles.png" alt="fiançailles"><span>Nos fiançailles</span></a> 
  <a class="dock-item" href="../le_mariage.php" tabindex="7" accesskey="7"><img src="../images/menu/mariage.png" alt="mariage"><span>Le mariage</span></a> 
  <a class="dock-item" href="../le_voyage_de_noce.php" tabindex="8" accesskey="8"><img src="../images/menu/voyage-de-noces.png" alt="voyage de noces"><span>Le voyage de noces</span></a>
</div>

Comme vous pouvez le constater, ici il s’agit d’une succession d’ancre située dans un conteneur… Ces ancres, ce conteneur et ces « span » sont mis en forme par du CSS que voici :
.dock { margin-left: 150px; float: left; width: 400px; position: relative; height: 50px;  text-align: center; padding-left: 20px; }
.dock-container { top: 0px; height: 50px; }
a.dock-item { display: block; width: 40px; color: #A50021; position: absolute; top: 0px; text-align: center; text-decoration: none;
font: bold 12px Verdana, "Lucida Grande", Lucida, Tahoma, "Trebuchet MS", Arial, Geneva, Helvetica, sans-serif; }
li.dock-item a { color: #A50021; font: font: bold 12px Verdana, "Lucida Grande", Lucida, Tahoma, "Trebuchet MS", Arial, Geneva, Helvetica, sans-serif; }
.dock-item img { border: none; margin: 5px 10px 0px; width: 100%; }
.dock-item span { display: none; padding-left: 20px; }

Ce qui donne un bel effet de mise en page, grâce à la librairie Jquery ainsi qu’un petit complément appelé Interface.
Malheureusement lorsqu’on navigue sans le javascript activé, cela n’a pas l’effet escompté… Et la mise en page ne se charge pas comme nous le désirions, et rend donc la navigation impossible (en gros tout est superposé).
Il est vrai qu’il n’est pas recommandé de baser sa navigation principale sur le javascript ou un complément quelconque… Toutefois si nous regardons le code, ce n’est pas le cas principal ici : c’est du HTML mis en forme par du CSS sur lequel on passe une couche de javascript pour donner un effet. Ouf mais cela ne résoud pas notre problème !
Tentons d’abord quelques petites modification basique pour rendre ce code plus propres :
a)modifions le HTML comme suis :
<div class="dock" id="dock">
<ul class="dock-container" id="dock-contener">
  <li class="dock-item"><a href="../index.php" tabindex="1" accesskey="1"><img src="../images/menu/accueil.png" alt="Accueil"><span>Accueil</span></a> </li>
  <li class="dock-item"><a href="../contact.php" tabindex="2" accesskey="2"><img src="../images/menu/contact.png" alt="Contact"><span>contactez-nous</span></a> </li>
  <li class="dock-item"><a href="../photographies" tabindex="3" accesskey="3"><img src="../images/menu/les-photos.png" alt="Photos"><span>Les photos</span></a></li>
  <li class="dock-item"><a href="../ceremonie_civile.php" tabindex="4" accesskey="4"><img src="../images/menu/ceremonie-civile.png" alt="cécrémonie civile"><span>La cérémonie civile</span></a></li> 
  <li class="dock-item"><a href="../ceremonie_laique.php" tabindex="5" accesskey="5"><img src="../images/menu/ceremonie-laique.png" alt="cécrémonie laïque"><span>La cérémonie laïque</span></a> </li>
  <li class="dock-item"><a href="../nos_fiancailles.php" tabindex="6" accesskey="6"><img src="../images/menu/nos-fiancailles.png" alt="fiançailles"><span>Nos fiançailles</span></a> </li>
  <li class="dock-item"><a href="../le_mariage.php" tabindex="7" accesskey="7"><img src="../images/menu/mariage.png" alt="mariage"><span>Le mariage</span></a> 
  <li class="dock-item"><a href="../le_voyage_de_noce.php" tabindex="8" accesskey="8"><img src="../images/menu/voyage-de-noces.png" alt="voyage de noces"><span>Le voyage de noces</span></a></li>
</ul>
</div>

(en résumé j’ai ajouté un LI devant les A, et remplacé le DIV nommé DOCK-CONTENER par un appel de liste uniforme UL)
b)modifier le javascript
Mais si on recharge la page, cela ne fonctionne plus. Eh non, car dans les paramètres de Interface il faut modifier aussi du javascript. Comme suis :
$(document).ready(
function()
{
$('#dock').Fisheye(
{
maxWidth: 50,
//items: 'a',// test accessibilite
items: 'li',
itemsText: 'span',
container: '.dock-container',
itemWidth: 40,
proximity: 90,
halign : 'center'
}
)
}
);

(en résumé : j’ai changé l’interaction sur les éléments de liste en place d’un élément d’ancre)
Et là tout refonctionne à merveille…
Mais lorsque nous naviguons sans javascript, cela ne va toujours pas !
Bon ne paniquons pas… Que se passe-t-il ? La mise en page est scabreuse. Remodifions donc la mise en page pour le cas où le visiteur n’a pas le javascript d’activé !
c)petit hack entre amis
Pour cela, déterminons un emplacement dans l’entête qui va appeler une feuille de style (CSS) en cas où le javascript n’est pas actif. En effet, ici ce n’est plus un problème d’accessibilité, mais de mise en page.
Nous savons aussi que le dernier élément appelé d’une CSS est celui dont la mise en page sera appliquée. Parfais. Maintenant que nous savons cela, nous avons la solution !
Modifions le HTML comme suis, et rajoutons :
<!-- HACK pour JQUERY INTERFACE si Javascript desactive --> 
<noscript>
<link href="../css/noscript.css" rel="stylesheet" type="text/css">
</noscript>
<!-- FIN HACK pour JQUERY INTERFACE si javascript desactive -->

Ceci doit être placé en fin de la balise HEAD.
Créons maintenant une CSS appelée noscript.css qui sera appelée comme déterminé plus haut et remettons la mise en page correcte !
/* 
CSS Hack pour JQUERY INTERFACE
Rôle : réadapte le menu si le javascript n'est pas actif
Auteur :  X Brusselaers
Licence : GNU GPL v2
*/
.dock { margin-left: 150px; float: left; width: 400px; position: relative; height: 150px; padding-left: 20px; }/* augmenter la hauteur pour repousser les éléments du bas
réorganisation selon une liste classique */
.dock-container { height: 100%; }/* modification simple => 100% */
li.dock-item { display: block; width: 400px; color: #A50021; position: relative; text-align: left; /* remise en ordre des éléments du menu  */
text-decoration: none; 
font: bold 12px Verdana, "Lucida Grande", Lucida, Tahoma, "Trebuchet MS", Arial, Geneva, Helvetica, sans-serif;}
.dock-item img { display: none; }/* je cache les images, car je ne veux plus naviguer avec */ 
.dock-item span { display: block; }/* display en block, pour annuler le display none */

Maintenant lorsqu’on navigue sans javascript, nous avons un menu qui s’affiche comme une liste.

[[ EDIT ]]
Et zut, cela ne valide pas ! Mais au moins c'est accessible... Je recherche encore une solution pour cette "unique" erreur...

Coloration syntaxique

, , , ...

Alors que je recherchais quelques petites fonctions en javascript (que j'aurais mieux fait de faire moi-même) je suis tombé sur un script sympathique de coloration syntaxique multiple (prenant en compte autant le Javascript, le CSS, etc...).

Comment utiliser cette "librairie" ? Tout simplement en insérant le code suivant dans l'en-tête :
<link type="text/css" rel="stylesheet" href="css/SyntaxHighlighter.css"></link>
<script language="javascript" src="js/nom_du_langage.js"></script>
<!-- nom_du_language.js doit être remplacé par un élément existant et correspondant au language désirée, 
exemple pour le CSS : shBrushCss.js -->


Par la suite il suffit de nommer le conteneur du code avec le nom code (name="code") et d'indiquer dans la classe de l'élement conteneur le style de language (class="css") et c'est tout !
Donnant en résumé ceci :
<pre name="code" class="c-sharp">
 // Début du code... etc...
</pre>


Simple non ?

Il existe en plus de nombreuses options et une évolution certaine !
Du point de vue accessibilité, cela ne pose aucun problème. Que demander de plus ?

Election du 10 juin

, , , ...

Le test des sites internets
A l'image de Frédéric de Villamil qui avait analysé les différents sites des candidats aux présidentielles 2007, je fais identiquement pour les partis belges (les principaux) qui se présenterons en liste des élections du 10 juin prochain.

Le résultat est plutôt... Surprenant, car aucun site ne peut se vanter d'être parfait. Seule le CD&V sort légèrement du lot !

Voici le résultat :

MR (http://www.mr.be/ ) :
  1. Développement : tableaux
  2. Doctype : XHTML 1.0 Transitional
  3. Content Type : text/html
  4. Code valide : non
  5. CSS valide : non
  6. Accessibilité : non

PS (http://www.ps.be/) :
  1. Développement : div
  2. Doctype : HTML 4.0 Transitional
  3. Content Type : aucun
  4. Code valide : non
  5. CSS valide : non
  6. Accessibilité : non

Groen (http://www.groen.be/)
  1. Développement : frames + tableaus
  2. Doctype : HTML 4.01 Frameset
  3. Content Type : aucun (sur le Frameset)
  4. Code valide : non
  5. CSS valide : pas de CSS
  6. Accessibilité : non

SPIRIT (http://www.spirit.be/)
  1. Développement : tableaux
  2. Doctype : aucun
  3. Content Type : aucun
  4. Code valide : non
  5. CSS valide : non
  6. Accessibilité : non

Ecolo (http://www.ecolo.be/)
  1. Développement : tableaux
  2. Doctype : HTML 4.01 Transitional
  3. Content Type : text/html
  4. Code valide : non
  5. CSS valide : non
  6. Accessibilité : oui priorité 1

CDH (http://www.lecdh.be/)
  1. Développement : div + tableaux
  2. Doctype : XHTML 1.0 Transitional
  3. Content Type : text/html
  4. Code valide : non
  5. CSS valide : non
  6. Accessibilité : non

SP.A (http://www.s-p-a.be)
  1. Développement : div
  2. Doctype : XHTML 1.0 Transitional
  3. Content Type : text/html
  4. Code valide : non
  5. CSS valide : non
  6. Accessibilité : non

CD&V (http://www.cdenv.be/)
  1. Développement : div
  2. Doctype : XHTML 1.0 Transitional
  3. Content Type : text/html
  4. Code valide : non
  5. CSS valide : non
  6. Accessibilité : non

FN (http://www.frontnational.be)
  1. Développement : tableau
  2. Doctype : HTML 4.01 Transitional
  3. Content Type : text/html
  4. Code valide : non
  5. CSS valide : non
  6. Accessibilité : non

VB (http://www.vlaamsbelang.be/)
  1. Développement : tableau
  2. Doctype : HTML 4.01 Transitional
  3. Content Type : text/html
  4. Code valide : non
  5. CSS valide : oui
  6. Accessibilité : non


Je n'ai fait aucun lien vers les partis et c'est volontaire...

Référentiel Général d'Accessibilité pour les Administrations

, ,

La fin du teasing de Blog And Blues...

Read more...

Teasing

, , , ...

Blog and blues se réveille !

Read more...

Entendu à la radio v2

, , , ...

A nouveau, un émission parle du web

Read more...

November 2009
M T W T F S S
October 2009December 2009
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30