Project

General

Profile

Anomalie #4125

Enlever le focus automatique sur le formulaire de login

Added by tcharlss 🐽 about 3 years ago. Updated about 2 months ago.

Status:
Fermé
Priority:
Normal
Assignee:
Category:
accessibilité
Target version:
Start date:
04/06/2018
Due date:
% Done:

0%

Resolution:
fixed
Navigateur:

Description

Je reprends le message de RastaPopoulos sur spi-dev :

C'est une mauvaise pratique, accessibilité, ergonomie…

Même sans handicap, ce formulaire peut être inséré n'importe où, en bas de page ou autre, et les gens se retrouvent alors direct n'importe où
sans rien comprendre.

Quand on veut se comportement, c'est la page appelante qui doit le coder, car on doit le faire uniquement quand on sait qu'on a que ça dans
toute la page par exemple (une page de login vide avec que le form de login).

Mais pas pour tous les formulaires de login quelque soit l'endroit où on les place !

Donc il faudrait virer ce javascript hors du formulaire lui-même.

Je trouve aussi ce comportement très gênant dans certains cas.
C'est dû à l'attribut autofocus sur l'input var_login, qui devrait donc être optionnel et pas présent par défaut : https://core.spip.net/projects/spip/repository/entry/spip/prive/formulaires/login.html#L26

History

#1 Updated by tcharlss 🐽 about 3 years ago

De plus, dans prive/login.html, il y a un script qui met le focus dessus et qui est donc superflu, en l'état (enfin pour les navigateurs qui gèrent correctement l'attribut autofocus) : https://core.spip.net/projects/spip/repository/entry/spip/prive/login.html#L18

#2 Updated by marcimat 🌻 almost 3 years ago

VSlonska nous a suggéré la modification suivante :

j'ai ajouté une var autofocus à ce formulaire, si la variable est définie comme true alors on met un autofocus (page de login par exemple, là c'est logique) et sinon pas d'autofocus.
Un bête [(#ENV*{autofocus}|==={true}|oui) autofocus='autofocus'] en somme ligne 26 de login.html et l'ajout de la var $autofocus dans login.php.

La solution du paramètre à activer me semble bien, en l’activant pour la page de login. Cela dit…
Actuellement on a 3 paramètres formulaires_login_charger_dist($cible = '', $login = '', $prive = null)
Si on veut pouvoir ajouter un param autofocus, soit on en ajoute un 4è, mais l’appel du formulaire serait alambiqué, genre

#FORMULAIRE_LOGIN{#ENV{cible},'',0,1}
#FORMULAIRE_LOGIN{#ENV{cible},'',#NULL,1}

Soit on passe le second paramètre en tableau (plus extensible du coup) ?
On aurait du coup :
#FORMULAIRE_LOGIN{#ENV{cible},#ARRAY{autofocus,oui}}
#FORMULAIRE_LOGIN{#ENV{cible},#ARRAY{login,#LOGIN}}
#FORMULAIRE_LOGIN{#ENV{cible},#ARRAY{prive,1}}

#3 Updated by b b almost 3 years ago

+1 pour le passage sous forme de tableau (avec compat de l'ancienne écriture bien sûr).

#4 Updated by RastaPopoulos ♥ almost 3 years ago

Pareil, +1 pour le tableau (comme pour form inscription où je propose un tableau aussi, dans un autre ticket)

#5 Updated by Peet du almost 3 years ago

En plus des avantages déjà cités, je trouve cette syntaxe plus claire.

+1

#6 Updated by erational 👺鬼 over 2 years ago

  • Target version set to 3.3

#7 Updated by cedric - 2 months ago

  • Status changed from Nouveau to En cours
  • Assignee set to cedric -

#8 Updated by Maïeul Rouquette about 2 months ago

OH oui, enlevons l'autofocus. Les gens ne comprenaient rien à cela.

Et + 1 pour la syntax tableau

#9 Updated by cedric - about 2 months ago

  • Status changed from En cours to Fermé
  • Resolution set to fixed

Corrigé par https://git.spip.net/spip/spip/commit/d51b2e7e07b5de43aa639bd82ef6e3419da12cd2 + https://git.spip.net/spip/spip/commit/ca433d5d875f1c6e18f05e9decd25be36d144c16

(J'ai choisi de garder l'autofocus actif par defaut dans le formulaire de login pour ne pas casser les pages de login existantes, mais il est donc maintenant debrayable)

Also available in: Atom PDF