[RESOLU] "user-sacalable=no", OK : pas bien, mais est il possible d'avoir un bouton "retour" en cas de zoom ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] "user-sacalable=no", OK : pas bien, mais est il possible d'avoir un bouton "retour" en cas de zoom ?

Re: "user-sacalable=no", OK : pas bien, mais est il possible d'avoir un bouton "retour" en cas de zoom ?

par two3d » 27 nov. 2023, 13:20

Merci pour ta réponse et les deux liens ;)

Je suis passé par une solution JS, sur l'événement touchmove, si ya deux doigts sur l'interface : preventDefault(), sinon je zoom la carte.

Re: "user-sacalable=no", OK : pas bien, mais est il possible d'avoir un bouton "retour" en cas de zoom ?

par @rthur » 27 nov. 2023, 13:11

La directive "user-scalable=no" est ignorée désormais par les navigateurs, car trop de développeurs web l'utilisait juste pour combler leur flemme de faire un site correctement responsive, or il est important de pouvoir zoomer les éléments pour des raisons d'accessibilité.
Où pouvons-nous contacter les développeurs des navigateurs afin de leur demander d'ajouter un bouton "RETOUR"
Tu peux tenter de les contacter via les canaux de bug report, mais ça va être long et compliqué comme process.
https://bugs.chromium.org/p/chromium/issues/list
https://bugzilla.mozilla.org/home


La question à se poser c'est pourquoi tes utilisateurs zoome-t-il sur ton interface ?
Si c'est par erreur via un Ctrl+roulette alors il est peut-être possible de voir comment procède Google Maps : si tu fais un Ctrl+Roulette sur la carte, ça ne zoome que la carte, si tu fais un Ctrl+roulette sur un élément de l'interface comme le champ de recherche, ça zoome toute l'interface. Idem en passant par la fonction zoom du navigateur.

Quoiqu'il en soit, il faut que ton interface soit responsive et se dégrade du mieux possible quand elle est zoomée.

"user-sacalable=no", OK : pas bien, mais est il possible d'avoir un bouton "retour" en cas de zoom ?

par two3d » 17 nov. 2023, 08:59

Bonjour,

comme beaucoup de développeurs, je me trouve dans le cas où mon application web ne doit pas être zoomée, je comprends que certains appareils n'affichent pas le pixel comme sur tous les autres appareils, mais serait il au moins possible d'avoir un bouton retour en cas de zoom par l'utilisateur qui lui permettrait de revenir en arrière, car, une fois zoomée, mon application peut difficilement être revenue en arrière par l'utilisateur ce qui cause une expérience utilisateur MÉDIOCRE (l'utilisateur croit que mon site est cassé : il s'en vas avec une mauvaise expérience).

1. Où pouvons-nous contacter les développeurs des navigateurs afin de leur demander d'ajouter un bouton "RETOUR" (là aussi pour des raisons "d'accessibilités" comme ils savent très bien le dire) en cas de zoom ?

Ceci dit, j'ai tenté d'utiliser les écouteurs d'événements JS (touchmove en vérifiant qu'il y ait bien deux doigts sur l'écran avec event.touches.length > 1 (afin d'autoriser le swipe), rien à faire, on dirait bien que les navigateurs forcent le zoom si l'utilisateur le souhaite. (EDIT : on arrive à interdire le zoom via l'option passive:false, voir ci-dessous)
The exception to this is Chrome, starting with version 56 (desktop, Chrome for Android, and Android webview), where the default value for the passive option for touchstart and touchmove is true and calls to preventDefault() will have no effect. To override this behavior, you need to set the passive option to false, after which calling preventDefault() will work as specified. The change to treat listeners as passive by default prevents the listener from blocking page rendering while a user is scrolling. A demo is available on the Chrome Developer site.
https://developer.mozilla.org/en-US/doc ... TouchEvent
A moins d'avoir loupé quelque chose, merci pour vos lanternes. ;)

Mon cas d'utilisation : une map monde (semblable à Google Maps)
Ma balise meta name="viewport" ne semble même pas être prise en compte, ni par Firefox PC ou Mobile, ni par Chrome... (peut pas tester les autres).
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<!-- OU -->
<meta name="viewport" content="width=device-width,initial-scale=0.86,maximum-scale=5.0, minimum-scale=0.86">
<!-- N'ont aucun effet -->