Pourquoi est .disableSelection() obsolète?

.disableSelection dans JQueryUI 1.9 est obsolète. La seule explication que je trouve, c'est, littéralement, "Désactiver la sélection de texte est mauvais. Ne pas l'utiliser." et "Nous ne devrions pas permettre aux développeurs de jouer avec la sélection de texte. C'était à l'origine de l'interaction des plugins, mais ils sont tous de la manipulation de la sélection de texte correctement sur leurs propres à ce point."

Puisqu'il n'y a pas d'alternative à l'heure, je suppose qu'ils signifient qu'il est toujours mal, mais je ne peut pas comprendre leurs raisons. Un double/triple-cliquez sur ou autrement pas de sens de la sélection d'un complexe-application d'INTERFACE utilisateur mal s'applique le texte-mettre en évidence l'effet et (pour moi) élimine instantanément l'illusion d'une solide expérience de l'utilisateur.

Applications de bureau ne souffrent pas de ce! Boutons et autres contrôles dans un environnement de Bureau sont des régions de pixels look massif et à agir de manière intuitive peu importe ce que vous faites pour eux (ou alors ils sont cassés). Le fait que les applications web sont composés de complexes html boîtes, des arrière-plans, des bordures et des images (le web-analogique de pixels) n'est pas une raison pour trahir l'illusion que les éléments de l'écran d'interagir avec n'est pas atomique, physique de l'objet.

Dans l'image ci-dessous, sans doute un peu le texte doit être sélectionné, telles que les paragraphes de texte à l'intérieur des panneaux qui pourraient être données de l'application. Mais pour certaines applications, il serait raisonnable choix de conception que d'autres parties, telles que le texte dans les boutons, les onglets, accordéon, en-têtes, et le texte derrière des boîtes de dialogue modales ne serait pas sélectionnable. Ceci s'applique en particulier à déplaçable/sortable types de comportements.

Pourquoi est .disableSelection() obsolète?

1) Suis-je une interprétation erronée de leur décision? La recommandation est de plus spécifiques à JQuery que je sache?

2) S'il est fait comme une déclaration générale que le texte devrait toujours être sélectionné comme cela, veuillez fournir une explication plus complète de la raison.

3) Si je devais le faire de toute façon, ce qui est le plus performant, complet, respectueux de la croix-navigateur, et universellement accessibles à aller à ce sujet maintenant que disableSelection est obsolète?

  • Je ne suis pas d'accord avec l'hypothèse d'un double/triple cliquez sur sélectionner n'est pas ce que les utilisateurs veulent. En fait, j'ai presque toujours choisir de cette façon! En outre, vous pouvez empêcher les utilisateurs de sélectionner des éléments de l'INTERFACE qui ne devraient pas être sélectionnables. Voir la user-select de la propriété.
  • Je suis d'accord que c'est parfois le but de l'action, mais comme le concepteur de l'application, je sens que je devrais être en mesure de refuser quand je pense que la sélection de texte n'est pas une caractéristique importante et où il pourrait interférer avec d'autres actions prioritaires.
  • Vous devriez envisager de sortir de ce comportement jusqu'au système, de sorte que votre application s'exécute comme prévu. C'est mon raisonnement pour ne pas vous embêter avec des trucs comme ça. Je suis sûr qu'il y en existe d'autres.
  • Mais merci, je n'étais pas au courant de l'utilisateur, sélectionnez - est qu'une solution de rechange acceptable, selon la philosophie de la jQueryUI de l'équipe?
  • Je n'ai aucune idée de ce que le jQuery UI équipe pense. Vous devriez leur demander si vous êtes soucieux de leur avis.
  • LOL Il dit en réalité sur les docs de la page "Désactiver la sélection de texte est mauvais. Ne pas l'utiliser."... comment arrogant et peu serviable. Parfois, je pense que nous oubliez pas que chaque page HTML est un "site web" en soi, certains sont destinés à être des "applications" ou "outils" où il fait sens pour faire des choses comme désactiver la sélection de texte. Je pense que le jQuery équipe devrait être pleinement conscient de cet aspect.
  • Il y a clairement les moyens de désactiver la sélection avec CSS et aussi clairement sitations où il est nécessaire. La vraie question que je l'espérais cette question/réponse permettrait de résoudre est de savoir si ou non il vaut la peine de notre collectif temps à faire quelque chose de semblable à l'appel disableSelection() comme un quick-and-dirty mesure.
  • Je me demande aussi: Pourquoi appeler cette fonction obsolète et puis le garder répertoriés dans certaines officielle de jQuery UI exemples? (Exemple: jqueryui.com/draggable/#sortable ). Personnellement, je pense que cela devrait être laissé à l'utilisateur, pas le jQuery UI. C'est comme de dire que le couteau peut être utilisé de façon inappropriée, nous allons arrêter la production de celui-ci. Je pourrais avoir vraiment utilisé cette fonction dans une de mes applications au lieu de vous embêter avec des tonnes de code CSS et de l'expérimentation dans la façon de la mettre en application dans ma compliqué scripts, mais je ne savais pas qu'il existait jusqu'à ce que je l'ai trouvé dans déplaçable.

InformationsquelleAutor Jason Kleban | 2012-12-19