diff --git a/android-client/web/app.html b/android-client/web/app.html
index 4aa0152..b9fd75d 100644
--- a/android-client/web/app.html
+++ b/android-client/web/app.html
@@ -899,6 +899,12 @@ addEventListener('scroll', function (ev) {
document.addEventListener('focusin', function (ev) {
var el = ev.target;
if (!el.classList || !el.classList.contains('field-in')) return;
+ // UNE LISTE DEROULANTE NE LEVE PAS DE CLAVIER. Elle ouvre une liste native
+ // par-dessus la page, qui n'occupe rien et disparait au choix. Lui reserver
+ // 60 % de hauteur et la faire remonter en tete de panneau fait sauter
+ // l'ecran sans qu'aucun clavier ne le justifie - c'est le champ Dossier qui
+ // l'a montre.
+ if (el.tagName === 'SELECT') return;
document.body.classList.add('typing');
// Differe d'un tour : la place reservee ci-dessus n'est pas encore prise en
// compte, et il n'y aurait nulle part ou remonter.
@@ -906,11 +912,12 @@ document.addEventListener('focusin', function (ev) {
var row = el.closest && el.closest('.field, .in-wrap');
var box = el.closest && el.closest('.scroll');
if (!row || !box || !row.scrollIntoView) return;
- // NE BOUGER QUE SI C'EST UTILE. Un champ deja dans le haut du panneau -
- // celui des reglages, par exemple - est visible tel quel, et le faire
- // sauter quand meme ne fait que deplacer sous l'oeil ce qui allait bien.
+ // NE BOUGER QUE SI C'EST UTILE, et le seuil doit dire ce que le clavier
+ // recouvre : un peu moins de la moitie basse. A 40 % on faisait remonter
+ // des champs qui restaient parfaitement visibles, donc on deplacait sous
+ // l'oeil ce qui allait bien.
var top = row.getBoundingClientRect().top - box.getBoundingClientRect().top;
- if (top > box.clientHeight * 0.4) row.scrollIntoView({ block: 'start' });
+ if (top > box.clientHeight * 0.55) row.scrollIntoView({ block: 'start' });
}, 250);
});
document.addEventListener('focusout', function () {