web-dev-qa-db-fra.com

Est-il acceptable d'exiger que certains utilisateurs activent JavaScript?

Je suis fermement convaincu que les sites devraient fonctionner parfaitement pour les personnes qui choisissent de désactiver Javascript lors de la navigation sur tout ou partie du contenu.

Cependant, en ce qui concerne l'interaction de niveau supérieur (comme l'enregistrement ou la publication de choses), serait-ce trop loin d'attendre des utilisateurs qu'ils activent JavaScript si ils veulent apporter du contenu à un site? De la même manière, les cookies sont également nécessaires pour des choses comme ça?

Selon Yahoo! le nombre d'utilisateurs avec JavaScript désactivé est d'environ 2% aux États-Unis.

Je me soucie toujours des 2% qui choisissent de naviguer sur le site sans le désactiver, mais est-ce trop de leur demander d'activer JavaScript s'ils veulent faire passer notre relation au niveau suivant?

30
Xeoncross

Bien que le commentaire de JoJo soit valide, il y a toujours un compromis entre l'effort supplémentaire requis pour mettre en œuvre une dégradation gracieuse complète et les récompenses qu'il apporte.

Si les chiffres de Yahoo! Sont corrects, la question à laquelle vous devez répondre devient "ces 2% de la population en ligne me sont-ils précieux?"

Si leur échantillon est représentatif de votre base d'utilisateurs, la réponse pourrait bien être "non". Si, cependant, vous constatez que 10% ou même 15% de la base d'utilisateurs de votre ont JavaScript désactivé, alors il vaut peut-être mieux en profiter.

19
ChrisF

Pour qu'un site fonctionne lorsque Javascript est désactivé, vous avez besoin de dégradation gracieuse . La dégradation gracieuse est une philosophie de codage qui "permet à un système de continuer à fonctionner correctement en cas de défaillance de certains de ses composants", ce cas étant JavaScript volontairement désactivé.

Même si vous pouvez re-factoriser votre code JavaScript et HTML pour le rendre discret , la dégradation gracieuse doit être appliquée dès le début et toujours prise en compte. Si votre projet a déjà ses fonctionnalités développées, vous devrez trouver un équilibre entre la refactorisation de votre code afin qu'il se dégrade correctement - fonctionne sans JavaScript - ou attendez-vous à ce que les utilisateurs activent JavaScript.

En faveur de la refactorisation, JavaScript discret et la dégradation gracieuse sont des techniques de codage de qualité et un investissement à long terme. Vous rendriez également votre site/application plus accessible.

En faveur de ne pas refactoriser, comme vous le signalez, seulement 2% des utilisateurs aux USA ont JavaScript désactivé. L'effort consacré à la refactorisation de votre code pourrait être consacré à l'amélioration d'autres fonctionnalités utilisées par un public plus large.

À la fin, vous devriez exécuter des tests pour voir combien d'utilisateurs de haut niveau votre ont désactivé JavaScript et estimer le coût de la refactorisation du JavaScript existant sur votre = code et choisissez l'option la plus rentable en tenant compte des considérations précédentes.

Selon mon expérience personnelle: il est acceptable d'exiger que les utilisateurs expérimentés aient activé JavaScript pour une interaction de haut niveau avec votre site . C'est une norme sur Internet d'aujourd'hui et il vous suffit de leur donner confiance en votre site. Néanmoins, de bonnes philosophies de codage telles que JavaScript discret et une dégradation gracieuse sont toujours un plus.

11
Naoise Golden

Je me dispute toujours avec les concepteurs à ce sujet, car je pense que JS fait partie du Web, et il faut s'y attendre si vous souhaitez parcourir des sites Web cool et modernes. Cependant, j'accepte également que les sites soient probablement navigables sans JS, au moins au niveau de base. Donc, pour ceux qui insistent pour ne pas avoir JS, les parties centrales du site devraient être disponibles.

Cependant, si vous voulez réellement interagir avec eux, acheter des choses, discuter de choses ou de toute interaction complète avec le site, alors exiger JS ne semble pas être une grande question. À moins que - selon @ChrisF - ce groupe soit une partie particulièrement importante de votre public cible. S'attendre à participer au web 2.0 avec la technologie web 0.1 est ridicule.

Fait intéressant, j'ai déjà travaillé sur un site et j'ai découvert que le site en direct était interrompu pour les utilisateurs non JS, car environ la moitié des produits ne pouvaient pas être achetés. Personne ne s'était plaint, rien n'indiquait dans les chiffres de vente que c'était un problème, en fait, personne n'a remarqué.

5
Schroedingers Cat

Je pense que c'est une bonne idée de demander à un utilisateur d'activer JavaScript s'il souhaite utiliser une fonctionnalité interactive sur votre site qui l'exige VRAIMENT.

Je dirais également que c'est une mauvaise expérience utilisateur de les faire tourner si tout ce qu'il fait est de résoudre quelques problèmes de mise en page, ou quelque chose de simple comme ça.

Demandez-vous également: ai-je vraiment besoin de JavaScript pour cette fonctionnalité; ou puis-je l'implémenter sans JavaScript et simplement utiliser JavaScript pour l'améliorer?

Il devrait y avoir une raison impérieuse pour que l'utilisateur active JavaScript, de sorte que s'il le fait, il verra/ressentira le véritable avantage de le faire. Sinon, cela pourrait les amener à se méfier de votre site et à d'autres qui pourraient leur demander par la suite. Expliquez également à vos utilisateurs quels avantages ils obtiendront s'ils l'allument. Ne les laissez pas deviner.

Je pense que les raisons sont bonnes:

  • Mises à jour en temps réel/en temps réel (exemple: flux boursiers/rss).
  • Gain de performances dans les temps de chargement des pages en introduisant du contenu via AJAX.
  • Facilité d'utilisation, évitez à l'utilisateur de sauter trop de pages pour accomplir une tâche.
  • Interaction jeu/toile.

Google Gmail est un bon exemple du moment où vous devriez demander, en fait ils le font. Google va même jusqu'à vous donner un petit tutoriel sur la façon d'activer JavaScript, si votre navigateur le prend en charge. Cependant, ils vous offrent également une version HTML alternative de Gmail qui ne nécessite pas JavaScript. Bien sûr, il n'a pas toute la cloche et le sifflet.

Découvrez comment les autres gèrent cela en désactivant JavaScript, puis en surfant sur le Web vers quelques-uns de vos sites préférés qui utilisent fortement JavaScript, et voyez comment ils traitent avec les utilisateurs qui désactivent JavaSCript. Je sais que Gmail le fait.

3
b01

Non seulement c'est OK, mais cela devrait être obligatoire.

Il est ridicule de penser que les sites Web devraient fonctionner correctement sans JavaScript aujourd'hui. Pourquoi pensez-vous que Google a réorganisé tous ses sites Web pour qu'il utilise intensivement JavaScript ou a parié sur Chrome OS si lourdement? Pourquoi pensez-vous que Microsoft fait des applications Metro-stye qui fonctionnent sur JavaScript? Pourquoi pensez-vous les navigateurs modernes n'ont même plus la possibilité de désactiver JavaScript? Parce que tout le monde utilise JavaScript maintenant. Avez-vous toujours un numéro de téléphone à la maison ou louez-vous des DVD chez Blockbuster ou allez dans une agence de voyage pour réserver un vol? Où je suis des gens ne font plus ces choses-là. Ils utilisent la technologie moderne.

L'effort de développement sur le dos colportant de petits pourcentages de moes lents est un effort gaspillé dans mon entreprise de commerce électronique. Combien d'argent ces gens ont-ils de toute façon s'ils ne peuvent pas se permettre ou trouver comment mettre à niveau leurs machines ou acheter un nouvel ordinateur portable? Sans oublier que les navigateurs se mettent à jour maintenant. Sérieusement. C'est une cible mouvante de toute façon où ces gens se déposent simplement. Au moment où vous avez lu ceci, ce problème est devenu de plus en plus insignifiant.

3
Jason Sebring

La vraie ou importante question ici est de savoir si ces 2% utilisent votre site Web. Si vous gérez un site Web pour des experts Web, les chances sont assez faibles que quiconque ait désactivé Javascript. J'associerais les utilisateurs qui ont désactivé Javascript comme appartenant à un groupe démographique plus ancien - votre site a-t-il une base d'utilisateurs plus âgés (60+?)?

Cela peut sembler très à contre-courant mais je ne considère pas les utilisateurs qui ont désactivé JS dans la plupart de mon développement et leur donne un message "Vous avez besoin de JS activé pour utiliser ce site", dans l'espoir que nous pouvons faire baisser ce chiffre têtu/inconscient de 2%.

Pour mémoire, les sites Magento par défaut ne fonctionneront pas pour les utilisateurs sans Javascript désactivé:

<noscript>
    <div class="noscript">
        <div class="noscript-inner">
            <p><strong>JavaScript seem to be disabled in your browser.</strong></p>
            <p>You must have JavaScript enabled in your browser to utilize the functionality of this website.</p>
        </div>
    </div>
</noscript
1
Anonymous

En théorie, la signature numérique de votre javascript afin qu'un javascript malveillant ne parvienne pas à votre site peut en rendre plus confortable. L'inconvénient de la sécurité est que le javascript signé numériquement peut lui donner plus de privilèges.

De Javascript Security: Scripts signés par Jesse Ruderman: http://www.mozilla.org/projects/security/components/signed-scripts.html

En signant un script à l'aide d'un certificat valide émis par une autorité de certification (telle que VeriSign), vous certifiez que vous êtes le propriétaire du script et que le script n'a pas été modifié avant d'atteindre l'utilisateur final. Étant donné que les scripts signés offrent cette preuve d'identité, seuls les scripts signés peuvent se voir accorder des privilèges étendus par l'utilisateur. En utilisant ce modèle, vous pouvez signer n'importe quel JavaScript dans une page HTML ou référencé par la page HTML avec.

Un script signé peut demander des privilèges étendus qui lui donnent accès à des informations et des capacités restreintes. Vous pouvez utiliser ces privilèges étendus pour exercer un contrôle précis sur les activités au-delà de celles qui sont normalement autorisées pour JavaScript.

Anonymes, de nombreux experts en sécurité informatique que je connais ont très peur d'activer le javascript. Une expérience sûre nécessiterait d'examiner la source de tout le javascript pour chaque site Web que vous visitez à chaque fois que vous le visitez, mais avant qu'il ne soit réellement exécuté.

1
rjt

En tant que développeur, j'avoue que je suppose généralement que tous mes visiteurs utiliseront JavaScript. Cependant, pour la fonctionnalité de base d'un site Web, je m'assure que les utilisateurs non JavaScript sont en mesure de l'utiliser, mais sans toutes les cloches et les sifflets. C'est un peu de travail supplémentaire, et je déteste que tous les utilisateurs n'aient pas la même expérience, mais que 2% est un grand nombre. (Hé, moins de 2% des visiteurs utilisent IE6, et nous codons toujours pour eux!)

Personnellement, je navigue souvent sur de nouveaux sites Web sans JavaScript (pour des raisons de sécurité, selon le système sur lequel je suis) et je trouve irritant lorsque des sites Web ne fonctionnent pas sans lui.

1
Velvet Blues

Votre question pourrait être reformulée comme suit:

Puis-je demander aux visiteurs de ma piscine de porter un bonnet de bain? Selon les statistiques, seulement 0,01% des personnes les portent au quotidien.

Si les gens sont intéressés par votre service, ils activeront js, installeront flash, changeront de navigateur, feront ce dont ils ont besoin pour obtenir ce que vous proposez. Ceux qui désactivent js ne le désactivent pas pour ne pas utiliser de sites Web. Ils désactivent js pour réduire le risque de sécurité/bloquer les publicités lorsque js n'est pas nécessaire.

C'est donc tout à fait correct.

0
Nikita Prokopov

Cela dépend de votre public. Si vous vous souciez beaucoup de ces 2% qui n'ont pas activé Javascript et qui constituent la majorité de votre site Web ... Donc la question que vous devez vous poser en premier est de savoir dans quelle proportion de votre groupe cible Javascript est activé?

Ensuite, demandez-vous si vous souhaitez ou non rendre Javascript obligatoire. Et voulez-vous conserver 100% de fonctionnalités au détriment du comportement lorsque ce n'est pas activé.

Lorsqu'un utilisateur est fidèle à un site Web, il y a des raisons à cela. Vous pourriez faire un décor, pour vous souvenir de son choix.

Succès!

0
Dirk