IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Faire des listes "Tabulables"


Sujet :

HTML

  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut Faire des listes "Tabulables"
    Bonjour,

    La question est certes un peu vague mais l'objectif est assez concis, je cherche à faire une page sur laquelle il n'y a pas besoin du tout de la souris pour sélectionner un élément dans une liste.

    Concrètement, j'ai un champ de saisie <input> qui a chaque frappe du clavier fait un appel ajax qui rapatrie la listes de tous les utilisateurs dont le nom commence par le contenu de l'input. Cette liste est affichée juste en dessous du champ de saisie et est mise à jour à chaque touches enfoncée. Cette partie là, c'est du JS, c'est fait, aucun problème.

    Actuellement, le code HTML doit donner à peu près :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <input type="text" id="champ_recherche" /> <!-- ce champ la est statique, il n'est pas regénéré à chaque appel ajax --> 
    <div id="resultats"> <!-- le contenu de cette div est régénéré à chaque fois qu'on presse une touche dans #champ_recherche -->
       <ol>
          <li>Nom1 prenom1</li>
          <li>nom2 prenom2</li>
          ...
       </ol>
    </div>
    Notez que le code est entièrement généré par JQuery, donc je ne peux pas faire de copier/coller du HTML

    Mon problème, c'est qu'en étant dans le input, si j'appuie sur la touche tab, le focus ne va pas sur les éléments de la liste.
    J'ai essayé de rajouter un tabindex sur les éléments de la liste, et là, la touche tab m'amène bien sur le 1er élément de la liste, mais après, impossible de naviguer entre les différents éléments de la liste, ni avec tab, ni avec les flèches.

    Aussi, les <ol><li> sont-elles bien les balises dont j'ai besoin ? Le cas échéant, comment les rendre tabulable et dans le cas contraire, que faudrait-il plutôt utiliser ?

    Je précise qu'a terme, mes listes devront contenir des balises HTML, ce qui rend impossible certaines astuces, comme par exemple l'utilisation d'un textarea.

    En vous remerciant pour vos conseil.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Si tu utilises jQuery, j'imagine que tu t'aides de UI et autocomplete.
    Si c'est le cas, la gestion des touches directionnelles du clavier sont gérées correctement.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    Non, je n'utilise pas JQuery UI pour ça.

    Ma recherche est avancée, donc il y a pas mal de check/radio qui seront associés (qui eux n'ont pas de problèmes avec la tabulation), certain appliquant le filtre au niveau serveur, d'autre au niveau JS, et le nombre d'éléments n'autorise en aucun cas de pré-charger la liste (d'ailleurs, je n'active la recherche qu'a partir de 2 caractères minimum).

  4. #4
    Membre expert
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 700
    Points : 3 849
    Points
    3 849
    Billets dans le blog
    6
    Par défaut
    Je propose d'appliquer tabindex="0" aux éléments à focuser.

  5. #5
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    Citation Envoyé par Muchos Voir le message
    Je propose d'appliquer tabindex="0" aux éléments à focuser.
    ...J'ai essayé de rajouter un tabindex sur les éléments de la liste...
    Non bha j'ai réglé mon problème en écrivant mon propre script...

    En plus du bouton "résolu", il faudrait rajouter un bouton "contourné" !

  6. #6
    Membre expert
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 700
    Points : 3 849
    Points
    3 849
    Billets dans le blog
    6
    Par défaut
    J'ai essayé de rajouter un tabindex sur les éléments de la liste
    Oui j'avais vu, mais comme ça fonctionne, je ne vois pas comment vous l'avez intégré.

    Non bha j'ai réglé mon problème en écrivant mon propre script...
    Ce serait super de le partager si possible ! Merci d'avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment faire des listes déroulantes dynamiques
    Par sajodia dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/12/2008, 15h53
  2. [RegEx] Un bbcode maison - faire des listes imbriquées
    Par Fido166 dans le forum Langage
    Réponses: 2
    Dernier message: 19/09/2008, 13h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo