Bénéfice 1 :
Pour les utilisateurs désactivant les scripts de leur navigateur, c'est la garantie que la redirection fonctionne et qu'ils ont accès aux pages ainsi pointées. Le bénéfice est le même pour les utilisateurs de navigateurs textuels comme Lynx qui ne gèrent pas les scripts.
Valeur ajoutée pour le site
Bénéfice 1:
Une redirection côté serveur garantit que la page sera effectivement envoyée sur le poste de l'utilisateur.
Rechercher les occurrences des commandes JavaScript "setTimeout", "location.href" ou les codes HTML onLoad associés à un appel de JavaScript.
Si la lecture permet de mettre en évidence l'usage de ces commandes pour une redirection, le critère est invalidé.
Rechercher les balises META...REFRESH.
La présence de ces balises n'invalide pas le critère, mais peut faire l'objet d'une remarque.
Par l'utilisation d'outils
Pour une liste complète des outils utilisés pour évaluer l'accessibilité des pages web, et un résumé de leurs principales fonctionnalités, reportez-vous à la page Outils d'aide à l'évaluation.
Evaluer avec la barre AccessiWeb (version 1.0) :
Sous Internet Explorer, ouvrir la page à analyser.
Dans le menu "13: Contenus accessibles" de la Barre AccessiWeb, activer le critère 13.2.
Toutes les actions de la page générées par un javascript sont désactivées.
Cliquer sur les liens faisant l'objet d'une redirection et vérifiez si les redirections fonctionnent encore. Si ce n'est pas le cas, le critère est invalidé.
Note : pour réactiver les javascripts de la page, cliquer sur le critère 13.2.
Evaluer avec la barre d'accessibilité AIS pour Internet Explorer (version 1.2 en français) :
Cliquer sur l'option "activer/désactiver le Javascript" du menu "Option IE".
Recharger la page en appuyant sur la touche F5.
Cliquer sur les liens faisant l'objet d'une redirection et vérifiez si les redirections fonctionnent encore. Si ce n'est pas le cas, le critère est invalidé.
Evaluer avec la Barre d'Outils Web Developper pour Firefox (version
1.0.2 en français) :
Activer l'option "Désactiver JavaScript" du menu "Désactiver".
Puis, activer l'option "Désactiver les redirections Meta" du menu "Désactiver".
Recharger la page en appuyant sur la touche F5.
Cliquer sur les liens faisant l'objet d'une redirection et vérifiez si les redirections fonctionnent encore. Si ce n'est pas le cas, le critère est invalidé.
Evaluer avec le lecteur d'écran Jaws (version 5 et 6.2 en français) :
Ce critère n'est pas évaluable par le lecteur d'écran Jaws.
Le développeur doit veiller au respect de ce critère.
Implémentation
La redirection est utilisée le plus souvent pour résoudre les problèmes suivants :
Le site a changé d'adresse, c'est un moyen d'amener l'utilisateur directement dans le nouveau site
Les sites de paiements en ligne redirigent l'utilisateur vers la page d'origine après acceptation du paiement
La structure d'un ensemble de sites amène les concepteurs à regrouper les entrées sur un site principal (forwarding)
Certaines pages adaptent le contenu à la taille de la fenêtre du navigateur voulue par l'utilisateur. La redirection automatique, associée aux évènements de détection du changement de taille de la page permet cette gestion
Actuellement, la méthode de redirection la plus utilisée, et conseillée sur la plupart des sites d'aide au développement, consiste à intégrer à la page une balise META en entête :
Grâce à cette balise, la redirection s'effectue automatiquement après 5 secondes.
Cependant, cette possibilité est à éviter, car l'utilisateur n'est pas prévenu qu'un tel mécanisme existe dans la page appelée, ce qui peut être troublant.
Préférer une solution implémentée du côté serveur, le programme ou script serveur assurant lui-même la redirection vers la page voulue.
Sinon, la solution la plus simple consiste en un lien clairement visible dans la page. L'utilisateur déclenche alors lui-même la redirection en sachant ce qu'il fait.
Exemple de mauvaise pratique
Le code qui suit opère une redirection automatique dès le chargement de la page, ce qui interdit à l'utilisateur tout contrôle.
Voici quelques exemples des possibilités de redirection à implémenter côté serveur.
Code Php de redirection : utilisation de la fonction "Header"
<?PHP header("Status: 301 Moved Permanently"); header("Location: http://www.le beau nouveau site.com/index.php"); exit(); ?>
L'usage délicat de cette fonction en Php dépend des versions de Php et ne doit être précédé d'aucun code de sortie de données (tels echo, Print).
Code Asp de redirection : utilisation de la fonction "AddHeader"
<% response.status="301 moved permanently" response.addheader location, "http://www.lebeaunouveausite.com/nouveau.php" response.end %>
Code Php de redirection : par appel d'un script distant
//construction de la requête // L'url principale $requete = "http://www.le beau nouveausite.com/index.php?"; // Les arguments si nécessaire $requete .= "id=".$id; // Exécution du script distant $connect = @file($requete); // exécution de la requête vers le serveur // Récupération des informations de la page appelée $resultat = trim($connect[0]); print($resultat); // Fin du script en cours exit;
Fiche 7.1 : Si un script nécessite une alternative pour être accessible, l'information donnée par cette alternative est-elle équivalente à l'information fournie par le script ?
Fiche 7.2 : Des actions peuvent-elles être accomplies même si le périphérique pour lequel elles sont prévues est désactivé ?
Fiche 13.1 : L'utilisateur a t-il le contrôle du rafraîchissement ?
Fiche 13.3 : Le visiteur est-il averti lorsque de nouvelles fenêtres apparaissent ?
Fiche 13.4 : Y a-t-il une alternative équivalente au script qui déclenche l'ouverture de nouvelles fenêtres ?