


Depuis 2025, je souffre du syndrome du canal carpien. Pour soulager la douleur, j'ai expérimenté l'utilisation de ma voix pour le codage, la navigation sur le Web et le travail sur ordinateur. Ce n’est pas facile, et il est difficile de comprendre à quel point la technologie peut être hostile aux personnes à mobilité réduite, à moins d’en faire l’expérience directe. Quiconque me connaît sait que j'ai toujours été un fervent partisan du Web accessible et des pratiques accessibles, mais c'était la première fois que je faisais l'expérience d'un mouvement limité de la main et je n'avais jamais réalisé qu'il faudrait un minimum d'effort de la part de l'utilisateur pour le faire. accomplir l'importance de la tâche.
Utiliser des commandes vocales pour mettre en évidence des blocs de code et les copier est extrêmement difficile, du moins pas possible pour moi pour le moment (soit vraiment impossible, soit je n'ai tout simplement pas encore trouvé de moyen de naviguer sur le Web et de coder sans la main). l'ordinateur demande beaucoup de matière grise). Par conséquent, lors de l'écriture sur le code, et en particulier lors de la création de didacticiels dans lesquels les lecteurs copient et collent du code, il est absolument nécessaire de fournir aux personnes ayant des mouvements de main limités un moyen de copier le code en un seul clic .
Avant de souffrir du syndrome du canal carpien, je pensais que le bouton de copie du code était redondant. Mais j'avais tort. Ainsi, l'une de mes premières tâches de codage basé sur la parole a été d'ajouter un bouton de copie de code à tous les extraits de code de mes articles de blog. Je travaille sur un autre article de blog sur mon parcours avec le codage vocal, mais si vous êtes intéressé, les outils que j'utilise sont Talon et Cursorless dans VSCode. Réapprendre à tout faire sur ordinateur avec la voix a été une courbe d'apprentissage abrupte, mais l'ensemble du processus m'a soulagé d'une partie de la douleur. Oui, j'ai écrit ce billet de blog vocalement autant que possible.
Ma solution de bouton de copie d'extrait a été écrite en HTML pur, CSS et JavaScript dans un projet Eleventy utilisant le moteur de modèles JavaScript (d'où l'utilisation de l'interpolation de chaînes avec des accolades).
HTML (et quelques JavaScript préliminaires pour créer du HTML)
Dans un article de blog sur le code, vous pouvez avoir plusieurs extraits de bloc de code sur une page. Par conséquent, vous devez attribuer à chaque bloc de code un identifiant unique afin de localiser le contenu correct à copier. Vous pouvez générer des identifiants uniques comme vous le souhaitez, par exemple en utilisant une bibliothèque externe, mais c'est ce que je fais pour chaque extrait au moment de la construction.
function makeId(length) { let result = ""; const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; const charactersLength = characters.length; let counter = 0; while (counter < length) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); counter += 1; } return result; }
Étant donné que les blocs de code formatés et mis en évidence par la syntaxe contiendront des classes HTML et CSS supplémentaires pour améliorer le formatage et la mise en évidence, nous devons nous assurer que le bouton Copier copie uniquement le contenu du code d'origine dans le presse-papiers. Ma solution consistait à stocker la chaîne de code d'origine dans une balise méta pour une récupération facile en JavaScript (au lieu de supprimer les balises HTML redondantes ; même dans ce cas, nous ne voulons pas supprimer les balises HTML de l'extrait HTML !). Vous devez également utiliser `encodeURIComponent` lors du stockage des chaînes de code brut dans des balises méta afin que le code ne s'exécute pas sur la page (par exemple, du code JavaScript). Cette balise méta se trouve à côté de chaque bloc de code dans mes articles de blog.
<meta data-code-id="${thisCodeID}" data-code-to-copy="${encodeURIComponent(codeSnippet)}">
Ensuite, ajoutez un bouton à côté ou dans le bloc de code qui fait référence à l'identifiant unique que vous avez créé précédemment. J'ai également choisi d'ajouter une petite icône SVG de presse-papiers à côté du texte du bouton. Si vous choisissez d'omettre le texte du bouton et d'utiliser uniquement une icône, veillez à utiliser « aria-label » pour vous assurer que le bouton a un nom accessible que les technologies d'assistance (telles que les lecteurs d'écran) peuvent comprendre (par exemple, « Copier l'extrait » ).
Copier
Style CSS
Je ne vous dicterai pas comment styliser ce bouton de copie dans vos propres articles de blog, mais j'ai choisi de le positionner absolument dans le coin supérieur droit de chaque bloc de code. Assurez-vous d'inclure des styles ciblés, actifs et visibles sur vos boutons pour garantir que ceux qui lisent votre article de blog sans souris et utilisent un clavier ou une voix pour naviguer dans les éléments cliquables savent clairement quel élément est actuellement ciblé et a été cliqué.
Code JavaScript
Enfin, utilisez JavaScript pour rechercher chaque bouton de copie sur la page et ajoutez l'écouteur d'événement suivant pour chaque bouton. Ce code obtient l'identifiant unique de l'extrait de code d'origine du bouton, trouve la balise méta appropriée et copie le code d'origine stocké dans cette balise méta dans le presse-papiers. Assurez-vous d'utiliser `decodeURIComponent` pour copier l'extrait de code d'origine dans sa forme originale.
function makeId(length) { let result = ""; const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; const charactersLength = characters.length; let counter = 0; while (counter < length) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); counter += 1; } return result; }
Cette solution se transfère bien vers votre framework front-end préféré. N’oubliez pas que les handicaps temporaires peuvent arriver à n’importe qui ; aucun de nous n’est immortel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Explication détaillée de la méthode de remplacement de la chaîne JavaScript et de la FAQ Cet article explorera deux façons de remplacer les caractères de chaîne dans JavaScript: le code JavaScript interne et le HTML interne pour les pages Web. Remplacer la chaîne dans le code JavaScript Le moyen le plus direct consiste à utiliser la méthode Remplace (): str = str.replace ("trouver", "remplacer"); Cette méthode remplace uniquement la première correspondance. Pour remplacer toutes les correspondances, utilisez une expression régulière et ajoutez le drapeau global G: str = str.replace (/ fi

Vous voici donc, prêt à tout savoir sur cette chose appelée Ajax. Mais qu'est-ce que c'est exactement? Le terme Ajax fait référence à un regroupement lâche de technologies utilisées pour créer un contenu Web interactif dynamique. Le terme Ajax, inventé à l'origine par Jesse J

L'article discute de la création, de la publication et du maintien des bibliothèques JavaScript, en se concentrant sur la planification, le développement, les tests, la documentation et les stratégies de promotion.

L'article traite des stratégies pour optimiser les performances JavaScript dans les navigateurs, en nous concentrant sur la réduction du temps d'exécution et la minimisation de l'impact sur la vitesse de chargement de la page.

L'article traite du débogage efficace de JavaScript à l'aide d'outils de développeur de navigateur, de se concentrer sur la définition des points d'arrêt, de l'utilisation de la console et d'analyser les performances.

Apportez des effets de film de matrice à votre page! Ceci est un plugin jQuery cool basé sur le célèbre film "The Matrix". Le plugin simule les effets de caractère vert classique dans le film, et sélectionnez simplement une image et le plugin le convertira en une image de style matrice remplie de caractères numériques. Venez et essayez, c'est très intéressant! Comment ça marche Le plugin charge l'image sur la toile et lit le pixel et les valeurs de couleur: data = ctx.getImagedata (x, y, settings.grainsize, settings.grainsize) .data Le plugin lit intelligemment la zone rectangulaire de l'image et utilise jQuery pour calculer la couleur moyenne de chaque zone. Ensuite, utilisez

Cet article vous guidera pour créer un carrousel d'image simple à l'aide de la bibliothèque JQuery. Nous utiliserons la bibliothèque BXSLider, qui est construite sur jQuery et offre de nombreuses options de configuration pour configurer le carrousel. De nos jours, Picture Carrousel est devenue une fonctionnalité incontournable sur le site Web - une image vaut mieux que mille mots! Après avoir décidé d'utiliser le carrousel d'image, la question suivante est de savoir comment la créer. Tout d'abord, vous devez collecter des images de haute qualité et haute résolution. Ensuite, vous devez créer un carrousel d'image en utilisant HTML et un code JavaScript. Il existe de nombreuses bibliothèques sur le Web qui peuvent vous aider à créer des carrousels de différentes manières. Nous utiliserons la bibliothèque BXSLider open source. La bibliothèque Bxslider prend en charge la conception réactive, de sorte que le carrousel construit avec cette bibliothèque peut être adapté à n'importe quel

Les ensembles de données sont extrêmement essentiels pour créer des modèles d'API et divers processus métier. C'est pourquoi l'importation et l'exportation de CSV sont une fonctionnalité souvent nécessaire. Dans ce tutoriel, vous apprendrez à télécharger et à importer un fichier CSV dans un


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Dreamweaver Mac
Outils de développement Web visuel

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.